异构众核架构下的运算核作业迁移方法技术

技术编号:27437588 阅读:21 留言:0更新日期:2021-02-25 03:31
本发明专利技术公开一种异构众核架构下的运算核作业迁移方法,基于异构众核架构,包括以下步骤:S1、在作业迁移前,在管理核上建立第一迁移数据结构;S2、通过管理核暂停运算核;S3、判断该运算核是否达到稳定状态;S4、如果运算核达到稳定状态,在管理核建立用于保存运算核上系统状态的结构的第二迁移数据结构,并转S6;S5、如果运算核未达到稳定状态,通过管理核重新启动运算核,等待一段设定的时间后,转S1;S6、启动运算核作业迁移。本发明专利技术解决了在异构众核环境下运算核上作业迁移面临的运算核启动停止、作业的保留恢复以及运算核状态的保留等问题,为异构众核架构下的作业迁移提供了切实可靠的基础。的基础。的基础。

【技术实现步骤摘要】
异构众核架构下的运算核作业迁移方法


[0001]本专利技术涉及一种异构众核架构下的运算核作业迁移方法,属于计算机


技术介绍

[0002]进程迁移和虚拟机迁移技术目前都比较的成熟,但传统上的进程迁移技术或虚拟机迁移技术作为支持负载平衡和高容错的有效手段,如果应用在异构众核的架构下,还面临着相关运算核的作业迁移问题,这涉及到运算核作业的启动、暂停以及状态的保留、恢复等难题,目前并没有类似的实现方案。类似的GPU或Intel的mac系统,也因为硬件体系结构的巨大差异,而不具有方案的参考性。因此,如何实现异构众核架构下运算核上的作业迁移,成为本领域技术人员努力的方向。

技术实现思路

[0003]本专利技术的目的是提供一种异构众核架构下的运算核作业迁移方法,该异构众核架构下的运算核作业迁移方法解决了在异构众核环境下运算核上作业迁移面临的运算核启动停止、作业的保留恢复以及运算核状态的保留等问题,为异构众核架构下的作业迁移提供了切实可靠的基础。
[0004]为达到上述目的,本专利技术采用的技术方案是:一种异构众核架构下的运算核作业迁移方法,基于异构众核架构,包括以下步骤:S1、在作业迁移前,在管理核上建立第一迁移数据结构,用于记录运算核上使用到的各段物理内存空间,还用于在作业迁移过程中标记运算核用到的物理内存;S2、通过管理核暂停运算核;S3、管理核读取运算核的状态寄存器,并通过获得的状态寄存器的状态参数,判断该运算核是否达到稳定状态;S4、如果运算核达到稳定状态,在管理核建立用于保存运算核上系统状态的结构的第二迁移数据结构,并转S6;S5、如果运算核未达到稳定状态,通过管理核重新启动运算核,等待一段设定的时间后,转S1;S6、启动运算核作业迁移;S7、在运算核作业迁移过程中,根据S1中建立的第一迁移数据结构,在迁移的目标节点上申请出相应大小的物理内存空间,再对运算核使用的物理内存进行传输,当运算核使用的物理内存传输完成后,将第一迁移数据结构传输到迁移的目标节点上,并将第一迁移数据结构中记录的物理内存空间的起始和结束地址修改到最新的地址; S8、在运算核作业迁移过程中,将S4中建立的第二迁移数据结构迁移到目标节点;S9、通过目标节点上的管理核重新申请新的运算核资源,并将第二迁移数据结构上的数据恢复到新的运算核对应的寄存器上,并根据第一迁移数据结构,重新建立运算核上空间的虚实映射关系,恢复运算核内存结构,重新运行运算核。
[0005]上述技术方案中进一步改进的方案如下:1. 上述方案中,在S1中,第一迁移数据结构包括空间的起始地址、结束地址和各自对应的虚地址。
[0006]2. 上述方案中,在S2中,管理核通过修改运算核上的启动/暂停寄存器,实现对运算核启动与暂停的控制。
[0007]3. 上述方案中,在S3中,所述状态寄存器的状态参数为寄存器的值、计数器的值、局部内存的值和虚实空间代换表的值。
[0008]4. 上述方案中,在S3中,当状态寄存器的状态参数不随时间变化而发生变化时,表示该运算核达到稳定状态,或者当状态寄存器的状态参数指示运算核上没有消息需要接收或发送时,表示该运算核达到稳定状态。
[0009]5. 上述方案中,在S4中,所述运算核上系统状态的结构包括运算核通用寄存器的值、运算核向量寄存器的值、性能计数器的值、局部内存的值和虚实空间代换表的值。
[0010]6. 上述方案中,在S5中,设定的时间为100μs。
[0011]由于上述技术方案的运用,本专利技术与现有技术相比具有下列优点:本专利技术异构众核架构下的运算核作业迁移方法,其主要应用于异构众核的架构下,解决了在异构众核环境下运算核上作业迁移面临的运算核启动停止、作业的保留恢复以及运算核状态的保留等问题,为异构众核架构下的作业迁移提供了切实可靠的基础,众多的迁移技术或框架可以基于该方法在异构众核的架构下进行移植。
附图说明
[0012]附图1为异构众核架构下的运算核作业迁移方法流程图。
具体实施方式
[0013]实施例:一种异构众核架构下的运算核作业迁移方法,基于异构众核架构,包括以下步骤:S1、在作业迁移前,在管理核上建立第一迁移数据结构,用于记录运算核上使用到的各段物理内存空间,还用于在作业迁移过程中标记运算核用到的物理内存;S2、通过管理核暂停运算核;S3、管理核读取运算核的状态寄存器,并通过获得的状态寄存器的状态参数,判断该运算核是否达到稳定状态;S4、如果运算核达到稳定状态,在管理核建立用于保存运算核上系统状态的结构的第二迁移数据结构,并转S6;S5、如果运算核未达到稳定状态,通过管理核重新启动运算核,等待一段设定的时间后,转S1;S6、启动运算核作业迁移,即通过通信网络,如IBA网络或IP网络,与目标节点的管理核进行通信、交互,并通知上层迁移控制器启动迁移;S7、在运算核作业迁移过程中,根据S1中建立的第一迁移数据结构,在迁移的目标节点上申请出相应大小的物理内存空间,再对运算核使用的物理内存进行传输,当运算核使用的物理内存传输完成后,将第一迁移数据结构传输到迁移的目标节点上,并将第一迁移数
据结构中记录的物理内存空间的起始和结束地址修改到最新的地址; S8、在运算核作业迁移过程中,将S4中建立的第二迁移数据结构迁移到目标节点;S9、通过目标节点上的管理核重新申请新的运算核资源,并将第二迁移数据结构上的数据恢复到新的运算核对应的寄存器上,并根据第一迁移数据结构,重新建立运算核上空间的虚实映射关系,恢复运算核内存结构,重新运行运算核。
[0014]在S1中,第一迁移数据结构包括空间的起始地址、结束地址和各自对应的虚地址。
[0015]在S2中,管理核通过修改运算核上的启动/暂停寄存器,实现对运算核启动与暂停的控制。
[0016]在S3中,所述状态寄存器的状态参数为寄存器的值、计数器的值、局部内存的值和虚实空间代换表的值。
[0017]在S3中,当状态寄存器的状态参数不随时间变化而发生变化时,表示该运算核达到稳定状态,或者当状态寄存器的状态参数指示运算核上没有消息需要接收或发送时,表示该运算核达到稳定状态。
[0018]在S4中,所述运算核上系统状态的结构包括运算核通用寄存器的值、运算核向量寄存器的值、性能计数器的值、局部内存的值和虚实空间代换表的值。
[0019]在S5中,设定的时间为100μs。
[0020]实施例进一步解释如下:本专利技术的技术方案主要针对异构众核架构,在这种架构下,运算核不是全功能的CPU,只承担作业的运算任务,不具有系统的管理功能。因此,运算核上的作业任务迁移主要还是通过管理核来完成的,其主要流程包括:1)运算核上作业的运行、停止;2)运算核上作业使用内存空间的迁移;3)运算核状态的保留、恢复。
[0021]运算核上作业的运行、停止:在迁移过程中,往往涉及到作业的暂停与恢复运行。在本专利技术中,我们只讨论节点内运算核上任务的暂停与恢复,不涉及到运算核与运算核或节点之间的交互。在异构众核的架构下,运算核本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异构众核架构下的运算核作业迁移方法,其特征在于:基于异构众核架构,包括以下步骤:S1、在作业迁移前,在管理核上建立第一迁移数据结构,用于记录运算核上使用到的各段物理内存空间,还用于在作业迁移过程中标记运算核用到的物理内存;S2、通过管理核暂停运算核;S3、管理核读取运算核的状态寄存器,并通过获得的状态寄存器的状态参数,判断该运算核是否达到稳定状态;S4、如果运算核达到稳定状态,在管理核建立用于保存运算核上系统状态的结构的第二迁移数据结构,并转S6;S5、如果运算核未达到稳定状态,通过管理核重新启动运算核,等待一段设定的时间后,转S1;S6、启动运算核作业迁移;S7、在运算核作业迁移过程中,根据S1中建立的第一迁移数据结构,在迁移的目标节点上申请出相应大小的物理内存空间,再对运算核使用的物理内存进行传输,当运算核使用的物理内存传输完成后,将第一迁移数据结构传输到迁移的目标节点上,并将第一迁移数据结构中记录的物理内存空间的起始和结束地址修改到最新的地址; S8、在运算核作业迁移过程中,将S4中建立的第二迁移数据结构迁移到目标节点;S9、通过目标节点上的管理核重新申请新的运算核资源,并将第二迁移数据结构上的数据恢复到新的运算核对应的寄存器上,并根据第一迁移数据结构,重新建立运算核...

【专利技术属性】
技术研发人员:黄高阳郑岩王星焱林海南张羽丰
申请(专利权)人:无锡江南计算技术研究所
类型:发明
国别省市:

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

1