用于执行进程的迁移的方法、迁移器及计算机可读介质技术

技术编号:14620515 阅读:31 留言:0更新日期:2017-02-10 12:17
在一个示例性实施例中,数据中心中的实时迁移可以包括:JIT编译被配置为在源指令集体系结构和目的地指令集体系结构上执行的进程;将源指令集体系结构和目的地指令集体系结构上的进程的变量和地址堆栈映射成其标记形式;以及将变量和地址堆栈的标记形式映射到目的地指令集体系结构上。

【技术实现步骤摘要】
【国外来华专利技术】
本文所描述的实施方案一般涉及在平台之间迁移当前执行的应用。
技术介绍
除非在此处进行说明,否则此处所描述的材料不是本申请权利要求的现有技术并且不因包含在该部分中而承认是现有技术。随着基于云计算的快速发展,数据中心负责提供用于连续扩展客户端的量的特别大量任务的高效处理。因此,数据中心负担着平衡功率使用、硬件额定负荷、资源负荷等的需求;换言之,为了高效地且有效地实施它们的处理使命,数据中心需要持续地追求改进的负荷平衡解决方案。作为这种解决方案的示例,数据中心在执行且支持的体系结构类型方面是多样化的。例如,其中的处理器可以基于处理需求(例如速度对强度)来实现不同类型的指令集体系结构(ISA)。概述在一个示例性实施例中,一种在数据中心中实时迁移的方法,可以包括:JIT(即时)编译配置为在源指令集体系结构和目的地指令集体系结构上执行的进程;将所述源指令集体系结构和所述目的地指令集体系结构上的进程的变量和地址堆栈映射成变量和地址堆栈的标记形式;以及将变量和地址堆栈的标记形式映射到目的地指令集体系结构上。在另一示例性实施例中,一种迁移进程的方法可以包括:在第一指令集体系结构上执行进程时,编译进程;在进程在第一指令集体系结构上执行时,生成进程的至少一些函数的函数映射;在进程在第一指令集体系结构上执行时,生成进程的至少一些变量的变量映射;将来自函数映射的函数映射到进程的函数堆栈;以及将来自变量映射的变量映射到第二指令集体系结构上的进程的对应地址。在又一示例性实施例中,非暂态计算机可读介质可以存储可执行指令,当执行时,可执行指令可以使虚拟机管理器将可以在第一平台和第二平台上执行的细化二元(thinbinary)的至少一个进程进行JIT编译,将细化二元的至少所述进程的函数地址和函数堆栈解引用(dereference),将细化二元的至少所述进程的变量地址解引用,以及生成函数映射以将对应于进程的细化二元表示的函数和变量连接到第一平台和第二平台上的等同的指针和地址。在又一示例性实施例中,非暂态计算机可读介质可以存储可执行指令,当执行时,所述可执行指令可以使一个或多个处理器通过如下操作来迁移执行的应用:将来自可以执行细化二元中所包含的至少一个进程的第一指令集体系结构和第二指令集体系结构的低层级字典散列表收集到函数映射集合中;将来自第一指令集体系结构和第二指令集体系结构的低层级重命名散列表收集到变量映射集合中;基于函数映射将来自第一指令集体系结构的函数堆栈转移到第二指令集体系结构;基于变量映射将来自第一指令集体系结构的变量转移到第二指令集体系结构。前面的概述仅仅是示例性的,而不意在以任何方式进行限制。通过参考附图以及下面的详细说明,除了上文所描述的示例性的方面、实施例和特征之外,另外的方面、实施例和特征将变得清晰可见。附图说明在下面的详细说明中,仅因为根据下面的详述各个改变和变型例对于本领域技术人员而言将变得显而易见。在不同的图中使用相同的附图标记来指示类似或相同的项。图1示出了依照本文所描述的至少一些实施例布置的可以实现迁移执行进程的示例性的数据中心架构;图2示出了依照本文所描述的至少一些实施例布置的图示出用于迁移执行进程的示例的数据流的框图;图3示出了依照本文所描述的至少一些实施例布置的用于迁移执行进程的操作的示例的处理流程、和子流程;以及图4示出了依照本文所描述的至少一些实施例布置的图示出可以实现本文所描述的各个示例的解决方案的示例的计算设备的框图。具体实施方式在下面的详细说明中,将参考附图,附图构成了详细说明的一部分。在附图中,除非上下文指出,否则相似的符号通常表示相似的部件。在详细说明、附图和权利要求中所描述的示例性实施例不意在限制。可以使用其它实施例,并且可以做出其它改变,而不偏离本文呈现的主题的精神或范围。将易于理解的是,如本文大致描述且如图中所图示的,本公开的方案能够以各种不同配置来布置、替代、组合、分离和设计,所有这些都在本文中明确地构思出。图1示出了依照本文所描述的至少一些实施例布置的可以实现迁移执行进程的示例的数据中心架构100。如图所示,数据中心架构100可以代表云计算环境且包括平台A102、平台B104和实时迁移器106。平台A102和平台B104(可以或者可以不包含在相同的硬件基础结构中)均可代表了配置为利用彼此不同的相应的指令集体系结构(ISA)来执行应用的平台。如本文所提到的,平台可以是指软件体系结构,甚至硬件体系结构;并且因此,任一个或两个可以被构思用于本文所描述的实施例。根据本文所描述的实施例,正在平台A102上执行的应用可以被迁移到平台B104。因此,无论ISA是否是例如x86、高级RISC机器(ARM)或Tilera中的一个,本文所描述的示例性实施例均可以包括:例如当虚拟机(VM)不处于峰值需求时,运行(执行)进程在不同的ISA之间的迁移,从而提高性能。这种迁移可以另外称为实时迁移。实时迁移器106可以是指管理程序层级上的组件或模块,其配置、编程或以其他方式设计成利于应用或程序的至少执行进程从一个指令集体系结构到另一个指令集体系结构的实时迁移。为了这样做,实时迁移器106可以将函数映射和/或变量映射进行托管或以其他方式排队列,所述函数映射和/或变量映射提供相应的函数和变量值到提供给平台A102和平台B104的其细化二元中的相应名称的链接。如本文所提到的,指令集体系结构(下文称为“ISA”)可以是指在相应的平台上执行的应用或程序的进程的编程语言与执行相应的进程的物理硬件之间的接口。平台A102和平台B104中的相应一个的ISA可以包括本地数据类型、指令、寄存器、寻址模式、存储器体系结构、中断与异常处理和外部I/O。如本文进一步提到的,在通用层级上,编译可以是指将高级编程语言的应用或程序变换成机器语言或者将应用或程序从高级编程语言变换成机器语言的函数或操作。更特别地,如本文所提到的,即时(JIT)编译器可以是指配置、编程或以其他方式设计成恰在应用或程序被执行之前,即“即时”,将应用或程序源代码转换成本地机器码的软件组件或模块。本文所描述的各示例性实施例开发了低层级数据库,其是例如JIT编译器的后台元件,将名称映射到对象。因为变量和函数的名称在源ISA和目的地或目标ISA上执行的细化二元中相同,所以这种低层级数据库可被用本文档来自技高网...

【技术保护点】
一种数据中心中实时迁移的方法,包括:在源指令集体系结构上执行进程;JIT(即时)编译同时在源指令集体系结构和目的地指令集体系结构执行的进程;将来自源指令集体系结构和目的地指令集体系结构的进程的中间表示的变量和地址堆栈映射成其标记形式;以及将所述变量和地址堆栈的标记形式映射到目的所述地指令集体系结构上。

【技术特征摘要】
【国外来华专利技术】1.一种数据中心中实时迁移的方法,包括:
在源指令集体系结构上执行进程;
JIT(即时)编译同时在源指令集体系结构和目的地指令集体系结构执
行的进程;
将来自源指令集体系结构和目的地指令集体系结构的进程的中间表
示的变量和地址堆栈映射成其标记形式;以及
将所述变量和地址堆栈的标记形式映射到目的所述地指令集体系结
构上。
2.如权利要求1所述的方法,其中将变量和地址堆栈映射包括:将
变量名称和函数名称映射到其在JIT编译器的相应的低层级数据库中的对
象。
3.一种迁移进程的方法,包括:
在进程在第一指令集体系结构上执行时编译该进程;
在所述进程在所述第一指令集体系结构上执行时,生成所述进程的至
少一些函数的函数映射;
在所述进程在所述第一指令集体系结构上执行时,生成所述进程的至
少一些变量的变量映射;
将来自所述函数映射的函数映射到所述进程的函数堆栈;以及
将来自所述变量映射的变量映射到所述进程在第二指令集体系结构
上的对应地址。
4.如权利要求3所述的方法,其中所述编译是由即时(JIT)编译器
来执行的。
5.如权利要求4所述的方法,其中生成函数映射包括:在所述进程
在第一指令集体系结构上执行时,将所述进程的函数的函数地址间接解引
用。
6.如权利要求5所述的方法,其中所述函数映射包括:在所述进程

\t在所述第二指令集体系结构上执行时所述进程的函数堆栈上的函数地址。
7.如权利要求4所述的方法,其中变量映射的生成包括:在所述进
程在所述第一指令集体系结构上执行时,将所述进程的变量的变量地址间
接解引用。
8.如权利要求7所述的方法,其中所述变量映射包括:对应于所述
进程的变量的指针列表。
9.一种非暂态计算机可读介质,其中存储有可执行指令,当执行时,
所述可执行指令使虚拟机管理器:
JIT编译可以在第一平台和第二平台上执行的细化二元的至少一个进
程;
将所述细化二元的至少所述进程的函数地址和函数堆栈解引用;
将所述细化二元的至少所述进程的变量地址解引用;以及
生成函数映射以将对应于该进程的细化二元表示的函数和变量连接
到所...

【专利技术属性】
技术研发人员:E·克鲁格里克K·S·范
申请(专利权)人:英派尔科技开发有限公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1