发明名称 异构计算环境中的过程迁移方法和系统
摘要 本发明涉及一种用于将至少一个过程从带有源操作系统(OS1)的源系统(S1)迁移到带有目标操作系统(OS2)的目标系统(S2)的方法,其中,所述源和目标系统(S1,S2)以及所述源或目标操作系统(OS1,OS2)不同,其中,所述目标系统(S2)包括:-目标虚拟化和迁移组件(VM2),其与所述源系统(S1)的源虚拟化和迁移组件(VM1)兼容,适于接收由所述源虚拟化和迁移组件(VM1)发送的迁移触发信息;-仿真器(EM12),适于使用所述目标系统(S2)仿真所述源系统(S1);-编译器(C12),适于将与在所述源系统(S1)上执行的过程相关联的源应用程序代码(C1)翻译成可在所述目标系统(S2)上执行的二进制目标应用程序代码(C2);-系统调用翻译器(SCT12),用于将指向所述源操作系统(OS1)的系统调用翻译成指向所述目标操作系统(OS2)的系统调用;-运行时库翻译器(RTT12),用于将指向所述源操作系统(OS1)的运行时库的调用翻译成指向所述目标操作系统(OS2)的运行时库的调用。
申请公布号 CN104903859A 申请公布日期 2015.09.09
申请号 CN201380062061.4 申请日期 2013.10.18
申请人 国际商业机器公司 发明人 J·勒里希;W·雷切特;U·魏甘德
分类号 G06F9/45(2006.01)I 主分类号 G06F9/45(2006.01)I
代理机构 北京市中咨律师事务所 11247 代理人 于静;张亚非
主权项 一种用于将至少一个过程从带有源操作系统(OS1)的源系统(S1)迁移到带有目标操作系统(OS2)的目标系统(S2)的计算机实现的方法,其中,所述源和目标系统(S1,S2)以及所述源或目标操作系统(OS1,OS2)不同,其中,所述目标系统(S2)包括:‑目标虚拟化和迁移组件(VM2),其与所述源系统(S1)的源虚拟化和迁移组件(VM1)兼容,适于接收由所述源虚拟化和迁移组件(VM1)发送的迁移触发信息;‑仿真器(EM12),适于使用所述目标系统(S2)仿真所述源系统(S1);‑编译器(C12),适于将与在所述源系统(S1)上执行的过程相关联的源应用程序代码(C1)翻译成可在所述目标系统(S2)上执行的二进制目标应用程序代码(C2);‑系统调用翻译器(SCT12),用于将指向所述源操作系统(OS1)的系统调用翻译成指向所述目标操作系统(OS2)的系统调用;‑运行时库翻译器(RTT12),用于将指向所述源操作系统(OS1)的运行时库的调用翻译成指向所述目标操作系统(OS2)的运行时库的调用;其中,所述方法包括下列步骤:‑通过使用所述源和目标虚拟化和迁移组件(VM1,VM2)开始所述至少一个过程(PM)的迁移;‑在所述目标系统(S2)中为要迁移的所述过程(PM)分配虚拟地址空间;‑将要迁移的所述过程(PM)的虚拟地址空间的存储器复制到所述目标系统(S2)的所述分配的虚拟地址空间;‑将关于与所述过程(PM)相关联的操作系统状态的信息复制到所述目标操作系统(OS2);‑借助所述仿真器(EM12)在所述目标操作系统(OS2)上执行要迁移的所述过程(PM),其中,所述仿真器开始执行与所述过程(PM)相关联的代码并进行或启动下列步骤:‑借助所述系统调用翻译器(SCT12)在用于所述目标操作系统(OS2)的系统调用中以及借助所述运行时库翻译器(RTT12)在用于所述目标操作系统(OS2)的运行时库调用中,翻译与所述过程相关联的用于源操作系统(OS1)的系统调用和运行时库调用;‑如果所述源应用程序代码(C1)还未被翻译,借助所述编译器(C12)将与要迁移的所述过程(PM)相关联的所述源应用程序代码(C1)翻译成可在所述目标系统(S2)上执行的二进制目标应用程序代码(C2);以及‑在所述目标系统(S2)上开始执行所述翻译的二进制目标应用程序代码(C2)。
地址 美国纽约