CN117493024B - 多进程异构程序的迁移方法、存储介质及电子设备 - Google Patents
多进程异构程序的迁移方法、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117493024B CN117493024B CN202311844943.8A CN202311844943A CN117493024B CN 117493024 B CN117493024 B CN 117493024B CN 202311844943 A CN202311844943 A CN 202311844943A CN 117493024 B CN117493024 B CN 117493024B
- Authority
- CN
- China
- Prior art keywords
- migration
- migrated
- service
- processes
- condition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 591
- 230000005012 migration Effects 0.000 title claims abstract description 519
- 238000013508 migration Methods 0.000 claims abstract description 517
- 230000008569 process Effects 0.000 claims abstract description 458
- 238000012217 deletion Methods 0.000 claims description 12
- 230000037430 deletion Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000005236 sound signal Effects 0.000 description 4
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
Abstract
本公开涉及一种多进程异构程序的迁移方法、存储介质及电子设备,涉及计算机技术领域,该方法包括:通过迁移服务获取迁移状态集合,待迁移进程为区别于中央处理器的异构处理器中的进程,通过迁移服务向各个待迁移进程分别发送迁移状态集合,在通过迁移服务接收到待迁移进程发送的第一资源释放请求的情况下,通过迁移服务释放迁移前占用的源异构资源,其中,第一资源释放请求是任一个待迁移进程在根据迁移状态集合确定所有待迁移进程均迁移完成的情况下生成的。本公开可以在保障迁移过程正常执行的同时,维持迁移过程中异构资源的一致性,避免出现进程在迁移前后占用多份资源的情况。
Description
技术领域
本公开涉及计算机技术领域,具体地,涉及一种多进程异构程序的迁移方法、存储介质及电子设备。
背景技术
随着计算机技术的发展,计算系统的处理器越来越多,例如,除了CPU(CentralProcessing Unit,中央处理器)之外,还可以包括DPU(Data Processing Unit,数据处理器),GPU(Graphics Processing Unit,图形处理器)等处理器。为了进一步提升算力,出现了一些多进程异构程序,即在程序中使用多个进程,并且一些进程部署在区别于CPU的异构处理器中,多个进程可以使用同一组资源,在工作过程中进行数据同步和共享,以实现更好的利用硬件算力,提升应用程序工作效率的目标。
为了实现提高资源利用率,灵活调度的目标,存在对应用程序中的进程进行迁移的需求,然而,针对多进程异构程序中的多进程进行迁移,相关技术中还没有很好的解决方案。
发明内容
本公开的目的是提供一种多进程异构程序的迁移方法、装置、存储介质及电子设备。
为了实现上述目的,本公开第一方面提供了一种多进程异构程序的迁移方法,应用于第一电子设备,所述第一电子设备中部署有迁移服务,所述方法包括:
通过所述迁移服务获取迁移状态集合,所述迁移状态集合包括所述多进程异构程序中的各个待迁移进程的迁移状态,所述待迁移进程为区别于中央处理器的异构处理器中的进程;
通过所述迁移服务向所述各个待迁移进程分别发送所述迁移状态集合;
在通过所述迁移服务接收到待迁移进程发送的第一资源释放请求的情况下,通过所述迁移服务释放迁移前占用的源异构资源,其中,所述第一资源释放请求是任一个待迁移进程在根据所述迁移状态集合确定所有待迁移进程均迁移完成的情况下生成的。
可选地,所述方法还包括:
在通过所述迁移服务接收到待迁移进程发送的第二资源释放请求的情况下,通过所述迁移服务释放迁移占用的目标异构资源,其中,所述第二资源释放请求是任一个待迁移进程在根据所述迁移状态集合确定所有待迁移进程均回退完成的情况下生成的。
可选地,所述迁移状态集合用于任一个待迁移进程确定是否满足第一条件,其中,在该待迁移进程确定满足所述第一条件的情况下,通过该待迁移进程继续执行迁移操作,所述第一条件为其他待迁移进程对应的迁移进度均不小于该待迁移进程的迁移进度;
所述迁移状态集合用于任一个待迁移进程确定是否满足第二条件,其中,在该待迁移进程确定满足所述第二条件的情况下,通过该待迁移进程暂停执行迁移操作,所述第二条件为其他待迁移进程对应的迁移进度中存在小于该待迁移进程的迁移进度的情况;
所述迁移状态集合用于任一个待迁移进程确定是否满足第三条件,其中,在该待迁移进程确定满足所述第三条件的情况下,通过该待迁移进程执行回退操作,所述第三条件为其他待迁移进程中存在迁移失败的进程。
可选地,所述方法还包括:
在通过所述迁移服务接收到任一本地服务发送的删除请求的情况下,通过所述迁移服务从所述迁移状态集合中删除目标待迁移进程对应的迁移状态,得到更新后的迁移状态集合,所述目标待迁移进程为与该本地服务部署在同一电子设备,且处于退出状态的进程;
所述通过所述迁移服务向所述各个待迁移进程分别发送所述迁移状态集合,包括:
通过所述迁移服务向除去所述目标待迁移进程外的其他待迁移进程分别发送所述更新后的迁移状态集合。
可选地,所述方法还包括:
在通过所述迁移服务接收到任一本地服务发送的第三资源释放请求的情况下,通过所述迁移服务释放目标待迁移进程占用的异构资源,所述目标待迁移进程为与该本地服务部署在同一电子设备,且处于退出状态的进程。
可选地,该本地服务是在未检测到同一电子设备中的任一个待迁移进程的心跳的情况下,确定该待迁移进程处于退出状态的。
本公开第二方面提供了一种多进程异构程序的迁移方法,应用于第二电子设备,所述第二电子设备中部署有异构程序中的待迁移进程,所述待迁移进程为区别于中央处理器的异构处理器中的进程,所述方法包括:
针对任一个所述待迁移进程,通过该待迁移进程向迁移服务发送自身的迁移状态;
通过该待迁移进程接收所述迁移服务发送的迁移状态集合,所述迁移状态集合包括所述多进程异构程序中的各个待迁移进程的迁移状态;
在通过该待迁移进程根据所述迁移状态集合确定所有待迁移进程均迁移完成的情况下,通过该待迁移进程向所述迁移服务发送第一资源释放请求,以使所述迁移服务释放迁移前占用的源异构资源。
可选地,所述方法还包括:
在通过该待迁移进程根据所述迁移状态集合确定所有待迁移进程均回退完成的情况下,通过该待迁移进程向所述迁移服务发送第二资源释放请求,以使所述迁移服务释放迁移占用的目标异构资源。
可选地,所述方法还包括:
在通过该待迁移进程根据所述迁移状态集合确定其他待迁移进程对应的迁移进度均不小于该待迁移进程的迁移进度的情况下,通过该待迁移进程继续执行迁移操作;
在通过该待迁移进程根据所述迁移状态集合确定其他待迁移进程对应的迁移进度中存在小于该待迁移进程的迁移进度的情况下,通过该待迁移进程暂停执行迁移操作;
在通过该待迁移进程根据所述迁移状态集合确定其他待迁移进程中存在迁移失败的进程的情况下,通过该待迁移进程执行回退操作。
可选地,所述第二电子设备中还部署有本地服务,所述方法还包括:
在通过所述本地服务确定所述第二电子设备中的任一个待迁移进程处于退出状态的情况下,通过所述本地服务向所述迁移服务发送删除请求,以使所述迁移服务根据所述删除请求,从所述迁移状态集合中删除该待迁移进程对应的迁移状态,得到更新后的迁移状态集合。
可选地,所述第二电子设备中还部署有本地服务,所述方法还包括:
在通过所述本地服务确定所述第二电子设备中的任一个待迁移进程处于退出状态的情况下,通过所述本地服务向所述迁移服务发送第三资源释放请求,以使所述迁移服务根据所述第三资源释放请求,释放该待迁移进程占用的异构资源。
可选地,所述方法还包括:
在通过所述本地服务未检测到任一个待迁移进程的心跳的情况下,确定该待迁移进程处于退出状态。
本公开第三方面提供了一种多进程异构程序的迁移装置,该装置包括:
获取模块,用于通过所述迁移服务获取迁移状态集合,所述迁移状态集合包括所述多进程异构程序中的各个待迁移进程的迁移状态,所述待迁移进程为区别于中央处理器的异构处理器中的进程;
第一发送模块,用于通过所述迁移服务向所述各个待迁移进程分别发送所述迁移状态集合;
第一释放模块,用于在通过所述迁移服务接收到待迁移进程发送的第一资源释放请求的情况下,通过所述迁移服务释放迁移前占用的源异构资源,其中,所述第一资源释放请求是任一个待迁移进程在根据所述迁移状态集合确定所有待迁移进程均迁移完成的情况下生成的。
本公开第四方面提供了一种多进程异构程序的迁移装置,该装置包括:
第二发送模块,用于针对任一个所述待迁移进程,通过该待迁移进程向所述迁移服务发送自身的迁移状态;
接收模块,用于通过该待迁移进程接收所述迁移服务发送的迁移状态集合,所述迁移状态集合包括所述多进程异构程序中的各个待迁移进程的迁移状态;
第三发送模块,用于在通过该待迁移进程根据所述迁移状态集合确定所有待迁移进程均迁移完成的情况下,通过该待迁移进程向所述迁移服务发送第一资源释放请求,以使所述迁移服务释放迁移前占用的源异构资源。
本公开第五方面提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述方法的步骤,或实现第二方面所述方法的步骤。
本公开第六方面提供了一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面所述方法的步骤,或实现第二方面所述方法的步骤。
通过上述技术方案,先通过迁移服务获取迁移状态集合,接着通过迁移服务向各个待迁移进程分别发送迁移状态集合,然后便可以在通过迁移服务接收到待迁移进程发送的第一资源释放请求的情况下,通过迁移服务释放迁移前占用的源异构资源。由于第一资源释放请求是任一个待迁移进程在根据迁移状态集合确定所有待迁移进程均迁移完成的情况下生成的,因此,可以在所有待迁移进程均迁移完成的情况下,再通过迁移服务释放迁移前占用的源异构资源,可以在保障迁移过程正常执行的同时,维持迁移过程中异构资源的一致性,避免出现进程在迁移前后占用多份资源的情况。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种实施环境的示意图。
图2是根据一示例性实施例示出的一种多进程异构程序的迁移方法的流程图。
图3是根据一示例性实施例示出的一种多进程异构程序的迁移方法的流程图。
图4是根据一示例性实施例示出的一种多进程异构程序的迁移方法的流程图。
图5是根据一示例性实施例示出的一种多进程异构程序的迁移装置的框图。
图6是根据一示例性实施例示出的一种多进程异构程序的迁移装置的框图。
图7是根据一示例性实施例示出的一种电子设备的结构框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
在一些场景中,随着AI(Artificial Intelligence,人工智能)的发展,为了进一步提升算力,许多训练模型的程序在异构处理器中使用多进程的结构进行训练,多个进程使用同一组资源,并且在训练过程中进行数据同步和共享,以实现更好的利用硬件算力,提升训练效率的目标。
为了实现提高资源利用率,灵活调度的目标,针对异构处理器GPU中的应用,相关技术中提出了基于回放操作的迁移方法。然而,申请人在长期研究中发现,基于回放的操作方法仅针对单个进程内的操作,无法有效处理多个进程在迁移时的协调以及资源管理等问题。在多进程异构程序中,不能存在一个进程迁移成功而其他进程迁移失败的场景,这会导致多进程间的数据共享发生错误,且应用会占用多份资源,导致资源管理出错。
针对上述问题,急需一种针对多进程异构程序进行迁移的方法,以管理多进程异构程序中的多个进程的迁移过程。
下面结合附图对本公开的具体实施进行详细说明。
本公开实施例中,多进程异构程序包括多个部署在异构处理器中的进程。其中,异构处理器可以是同一节点设备中的异构处理器,也可以是不同节点设备中的异构处理器,并且,在一个异构处理器中,可以部署多进程异构程序中一个或者多个进程。
请参考图1,图1是根据一示例性实施例示出的一种实施环境的示意图。在图1所示的实施环境中,多进程异构程序包括4个部署在异构处理器中的进程,分别为进程1、进程2、进程3以及进程4,其中,进程1以及进程2部署在节点设备1中,进程3以及进程4部署在节点设备2中,进程1以及进程2是否部署在节点设备1中的同一个异构处理器不作限定,进程3以及进程4是否部署在节点设备2中的同一个异构处理器不作限定。
此外,本公开实施例中,每个部署在异构处理器中的进程可以包括心跳模块、迁移模块以及通信模块。继续如图1所示,进程1、进程2、进程3以及进程4分别包括心跳模块、迁移模块以及通信模块。
进程中的心跳模块,用于和同一节点设备中的本地服务维持心跳,保障进程异常退出时的正确处理。
进程中的迁移模块,用于管理进程内部的迁移流程及迁移状态。
进程中的通信模块,用于和本地服务通信,传递资源管理消息,以及迁移消息等。
此外,本公开实施例中,每个节点设备中还可以部署有本地服务(Local Server),本地服务用于管理对应节点设备中的进程,并负责连通用户进程和迁移服务,同时在用户进程异常时进行异常处理。本地服务包括进程管理模块、通信模块、迁移管理模块以及资源管理模块。继续如图1所示,节点设备1以及节点设备2分别包括本地服务,每个本地服务均包括进程管理模块、通信模块、迁移管理模块以及资源管理模块。
本地服务中的进程管理模块,用于监测用户进程的心跳,感知用户进程的退出状态。
本地服务中的通信模块,用于与用户进程和迁移服务通信,实现两者间的信息传递,同时,也负责将本地服务相关的处理操作发送到用户进程或迁移服务。
本地服务中的迁移管理模块,用于在用户进程和迁移服务之间同步迁移状态。在用户进程退出时(正常或异常),向迁移服务发送删除请求,清理当前进程的迁移状态。在被清理后,后续该进程的迁移状态将不会被同步到其他迁移进程中,从而避免正常进程受到退出进程的影响。
本地服务中的资源管理模块,用于转发用户进程的资源管理请求,例如第一资源释放请求以及第二资源释放请求,以及在用户进程异常退出时,向迁移服务发送释放该进程占用的异构资源的第三资源释放请求。
此外,本公开实施例中,还可以在包括节点设备1、节点设备2或者其他电子设备在内的任一电子设备中部署迁移服务(Migration Server)。示例性地,以图1为例,可以在图1中的电子设备3中部署迁移服务。迁移服务可以包括资源管理模块、迁移管理模块以及通信模块。
迁移服务中的资源管理模块,用于管理迁移过程中的异构资源。当发起迁移时,提前分配好迁移占用的目标资源。当迁移成功时,接收用户进程发送第一资源释放请求,将迁移前占用的源资源释放;当迁移失败时,接收用户进程发送的第二资源释放请求,将迁移占用的目标资源释放。确保迁移前后,一组进程仅占用一份异构资源,保证集群中资源管理的一致性。
迁移服务中的迁移管理模块,用于管理全局的迁移状态,此外,还可以接收进程的退出信号,同时更新迁移状态集合。
迁移服务中的通信模块,用于和节点设备上的常驻的本地服务进行通信,从而实现信息连通,获取资源的申请,释放等请求,以及进程退出信号等,并接收迁移状态的同步请求。
需要说明的是,图1仅是一种示例性的实施环境架构,在实际中,实施环境结构可以与图1不同。
如图2是根据一示例性实施例示出的一种多进程异构程序的迁移方法的流程图,该方法可以应用于部署有迁移服务的第一电子设备,如图2所示,该方法包括以下步骤:
在步骤S210中,通过迁移服务获取迁移状态集合。
其中,迁移状态集合包括多进程异构程序中的各个待迁移进程的迁移状态,待迁移进程为区别于中央处理器的异构处理器中的进程。
本公开实施例中,待迁移进程可以理解为多进程异构程序中,区别于中央处理器的异构处理器中的待进行迁移的进程。
本公开实施例中,部署待迁移进程的电子设备可以理解为第二电子设备,在一些实施方式中,第二电子设备中还可以部署本地服务。需要说明的是,第一电子设备与第二电子设备可以是同一个电子设备。
在一些实施方式中,第二电子设备中的待迁移进程可以响应于迁移指令执行迁移操作,在迁移操作执行过程中,各个待迁移进程可以周期性向第一电子设备中的迁移服务发送自身的迁移状态,也即,第二电子设备可以通过自身包括的各个待迁移进程,分别向第一电子设备中的迁移服务发送对应待迁移进程的迁移状态。从而,第一电子设备中的迁移服务可以获取到各个待迁移进程分别对应的迁移状态,并根据各个待迁移进程分别对应的迁移状态生成迁移状态集合,也即,第一电子设备可以通过迁移服务获取迁移状态集合。
在一些实施方式中,在正常迁移的情况下,迁移状态可以根据待迁移进程的迁移进度确定,示例性地,当开始迁移时,对应的迁移状态为0,当迁移进度值为58%时,对应的迁移状态为58,当迁移成功,即迁移进度值为100%时,迁移状态为100。此外,迁移状态还可以包括迁移失败以及回退成功两种状态,例如,当迁移失败时,迁移状态变为-1,迁移失败后执行回退操作,当回退成功时,迁移状态为-100。
在一些实施方式中,结合前述内容可知,待迁移进程可以通过同一个第二电子设备中的本地服务向迁移服务发送待迁移进程自身的迁移状态。具体可以参考前述实施例。
在步骤S220中,通过迁移服务向各个待迁移进程分别发送迁移状态集合。
本公开实施例中,迁移服务在生成迁移状态集合之后,可以将迁移状态集合发送给各个待迁移进程,也即,第一电子设备可以通过迁移服务向各个待迁移进程分别发送迁移状态集合,从而,各个待迁移进程可以接收迁移服务发送的迁移状态集合,也即,第二电子设备可以通过待迁移进程接收迁移服务发送的迁移状态集合。
在一些实施方式中,结合前述内容可知,迁移服务可以通过第二电子设备中的本地服务向第二电子设备中的待迁移进程发送迁移状态集合。具体可以参考前述实施例。
在步骤S230中,在通过迁移服务接收到待迁移进程发送的第一资源释放请求的情况下,通过迁移服务释放迁移前占用的源异构资源。
其中,第一资源释放请求是任一个待迁移进程在根据迁移状态集合确定所有待迁移进程均迁移完成的情况下生成的。
其中,源异构资源可以认为是为待迁移进程分配的供其调度的资源。目标异构资源可以认为是为迁移后的进程分配的供其调度的资源。
本公开实施例中,各个待迁移进程在接收到迁移状态集合之后,可以根据迁移状态集合获取到除自身外的其他待迁移进程的迁移状态,针对任一个待迁移进程,若该待迁移进程发现其他待迁移进程均迁移完成,且在进一步获取自身的迁移状态之后,发现自身也迁移完成,则该待迁移进程可以向迁移服务发送第一资源释放请求,以表明所有待迁移进程均迁移完成,从而,迁移服务便可以接收到待迁移进程发送的第一资源请求,并根据第一资源请求,释放迁移前占用的源异构资源,以避免待迁移进程在迁移成功后继续占用源异构资源。
采用上述方法,先通过迁移服务获取迁移状态集合,接着通过迁移服务向各个待迁移进程分别发送迁移状态集合,然后便可以在通过迁移服务接收到待迁移进程发送的第一资源释放请求的情况下,通过迁移服务释放迁移前占用的源异构资源。由于第一资源释放请求是任一个待迁移进程在根据迁移状态集合确定所有待迁移进程均迁移完成的情况下生成的,因此,可以在所有待迁移进程均迁移完成的情况下,再通过迁移服务释放迁移前占用的源异构资源,可以在保障迁移过程正常执行的同时,维持迁移过程中异构资源的一致性,避免出现进程在迁移前后占用多份资源的情况。
在一些实施方式中,本公开实施例的方法还可以包括以下步骤:
在通过迁移服务接收到待迁移进程发送的第二资源释放请求的情况下,通过迁移服务释放迁移占用的目标异构资源,其中,第二资源释放请求是任一个待迁移进程在根据迁移状态集合确定所有待迁移进程均回退完成的情况下生成的。
本公开实施例中,各个待迁移进程在接收到迁移状态集合之后,可以获取到除自身外的其他待迁移进程的迁移状态,针对任一个待迁移进程,若该待迁移进程发现其他待迁移进程均回退完成,且在进一步获取自身的迁移状态之后,发现自身也回退完成,则该待迁移进程可以向迁移服务发送第二资源释放请求,以表明所有待迁移进程均回退完成,从而,迁移服务便可以接收到待迁移进程发送的第二资源请求,并根据第二资源请求,释放迁移占用的目标异构资源,以避免待迁移进程在迁移失败并回退成功后继续占用目标异构资源。
此外,在一些实施方式中,各个待迁移进程在接收到迁移状态集合之后,可以根据迁移状态集合获取到除自身外的其他待迁移进程的迁移状态,针对任一个待迁移进程,若该待迁移进程发现其他待迁移进程对应的迁移进度均不小于自身的迁移进度,则表明其他待迁移进程均已到达该待迁移进程自身的迁移进度,该待迁移进程可以继续执行迁移操作。
因此,在一些实施方式中,迁移状态集合用于任一个待迁移进程确定是否满足第一条件,其中,在该待迁移进程确定满足第一条件的情况下,通过该待迁移进程继续执行迁移操作,第一条件为其他待迁移进程对应的迁移进度均不小于该待迁移进程的迁移进度。
此外,在一些实施方式中,各个待迁移进程在接收到迁移状态集合之后,可以根据迁移状态集合获取到除自身外的其他待迁移进程的迁移状态,针对任一个待迁移进程,若该待迁移进程发现其他待迁移进程对应的迁移进度中存在小于该待迁移进程自身迁移进度的情况,则表明仍有其他待迁移进程未达到该待迁移进程自身的迁移进度,该待迁移进程可以暂停执行迁移操作,进行等待。
因此,在一些实施方式中,迁移状态集合用于任一个待迁移进程确定是否满足第二条件,其中,在该待迁移进程确定满足第二条件的情况下,通过该待迁移进程暂停执行迁移操作,第二条件为其他待迁移进程对应的迁移进度中存在小于该待迁移进程的迁移进度的情况。
在一些实施方式中,针对任一个待迁移进程,可以从其他待迁移进程对应的迁移进度中筛选出迁移进度最小值,若迁移进度最小值小于该待迁移进程对应的迁移进度,则该待迁移进程可以确定其他待迁移进程对应的迁移进度中存在小于该待迁移进程自身迁移进度的情况。
此外,各个待迁移进程在接收到迁移状态集合之后,可以根据迁移状态集合获取到除自身外的其他待迁移进程的迁移状态,针对任一个待迁移进程,若该待迁移进程发现其他待迁移进程中存在迁移失败的情况,则为了避免发生部分进程迁移成功部分进程迁移失败的情况,该待迁移进程可以执行回退操作,如此,可以使得所有待迁移进程均执行回退操作,保证迁移一致性。
因此,在一些实施方式中,迁移状态集合用于任一个待迁移进程确定是否满足第三条件,其中,在该待迁移进程确定满足第三条件的情况下,通过该待迁移进程执行回退操作,第三条件为其他待迁移进程中存在迁移失败的进程。
采用上述方法,通过融合多进程异构程序迁移过程中的迁移状态控制和异构资源管理,实现了对全局所有待迁移进程的协同迁移,保障了迁移同步性,并维持了异构资源的一致性,避免出现进程在迁移前后占用多份资源的情况,有效的支持了多进程异构程序的迁移。
在一些实施方式中,结合前述内容可知,第二电子设备中还可以部署本地服务,这种情况下,本公开实施例的方法还可以包括以下步骤:
在通过迁移服务接收到任一本地服务发送的删除请求的情况下,通过迁移服务从迁移状态集合中删除目标待迁移进程对应的迁移状态,得到更新后的迁移状态集合,目标待迁移进程为与该本地服务部署在同一电子设备,且处于退出状态的进程。
相应地,通过迁移服务向各个待迁移进程分别发送迁移状态集合,可以包括以下步骤:
通过迁移服务向除去目标待迁移进程外的其他待迁移进程分别发送更新后的迁移状态集合。
本公开实施例中,各个第二电子设备中的本地服务可以监测同一电子设备中是否存在处于退出状态的待迁移进程(即目标待迁移进程),若某个第二电子设备中的某个待迁移进程处于退出状态,则该第二电子设备中的本地服务可以生成删除请求,并将删除请求发送到迁移服务,从而,迁移服务可以根据删除请求,从迁移状态集合中删除目标待迁移进程对应的迁移状态,得到更新后的迁移状态集合。进而,后续迁移服务在向除去目标待迁移进程外的其他待迁移进程(即各个未处于退出状态的待迁移进程)发送迁移状态集合时,可以发送更新后的迁移状态集合。
在一些实施方式中,第二电子设备中的待迁移进程退出时,心跳停止。从而,本地服务可以在未检测到同一电子设备中的任一个待迁移进程的心跳的情况下,确定该待迁移进程处于退出状态,成为目标待迁移进程。
在一些实施方式中,本地服务可以通过进程管理模块确定待迁移进程是否处于退出状态。
采用上述方法,可以避免正常的待迁移进程受到退出进程的影响,维持迁移稳定性。
在一些实施方式中,结合前述内容可知,第二电子设备中还可以部署本地服务,这种情况下,本公开实施例的方法还可以包括以下步骤:
在通过迁移服务接收到任一本地服务发送的第三资源释放请求的情况下,通过迁移服务释放目标待迁移进程占用的异构资源,目标待迁移进程为与该本地服务部署在同一电子设备,且处于退出状态的进程。
本公开实施例中,各个第二电子设备中的本地服务可以监测同一电子设备中是否存在处于退出状态的待迁移进程(即目标待迁移进程),若某个第二电子设备中的某个待迁移进程处于退出状态,则该第二电子设备中的本地服务可以生成第三资源释放请求,并将第三资源释放请求发送到迁移服务,从而,迁移服务可以根据第三资源释放请求,释放目标待迁移进程占用的异构资源。
采用上述方法,可以在进程退出时,及时释放器占用的异构资源,以节约资源。
如图3是根据一示例性实施例示出的一种多进程异构程序的迁移方法的流程图,该方法可以应用于部署有待迁移进程的第二电子设备,待迁移进程为区别于中央处理器的异构处理器中的进程,如图3所示,该方法包括以下步骤:
在步骤S310中,针对任一个待迁移进程,通过该待迁移进程向迁移服务发送自身的迁移状态。
在步骤S320中,通过该待迁移进程接收迁移服务发送的迁移状态集合。
其中,迁移状态集合包括多进程异构程序中的各个待迁移进程的迁移状态。
在步骤S330中,在通过该待迁移进程根据迁移状态集合确定所有待迁移进程均迁移完成的情况下,通过该待迁移进程向迁移服务发送第一资源释放请求,以使迁移服务释放迁移前占用的源异构资源。
其中,步骤S310-S330的详细描述可以参考前述实施例,此处不再赘述。
在一些实施方式中,本公开实施例的方法还可以包括以下步骤:
在通过该待迁移进程根据迁移状态集合确定所有待迁移进程均回退完成的情况下,通过该待迁移进程向迁移服务发送第二资源释放请求,以使迁移服务释放迁移占用的目标异构资源。
在一些实施方式中,本公开实施例的方法还可以包括以下步骤:
在通过该待迁移进程根据迁移状态集合确定其他待迁移进程对应的迁移进度均不小于该待迁移进程的迁移进度的情况下,通过该待迁移进程继续执行迁移操作;
在通过该待迁移进程根据迁移状态集合确定其他待迁移进程对应的迁移进度中存在小于该待迁移进程的迁移进度的情况下,通过该待迁移进程暂停执行迁移操作;
在通过该待迁移进程根据迁移状态集合确定其他待迁移进程中存在迁移失败的进程的情况下,通过该待迁移进程执行回退操作。
在一些实施方式中,第二电子设备中还部署有本地服务,这种情况下,本公开实施例的方法还可以包括以下步骤:
在通过本地服务确定第二电子设备中的任一个待迁移进程处于退出状态的情况下,通过本地服务向迁移服务发送删除请求,以使迁移服务根据删除请求,从迁移状态集合中删除该待迁移进程对应的迁移状态,得到更新后的迁移状态集合。
在一些实施方式中,第二电子设备中还部署有本地服务,这种情况下,本公开实施例的方法还可以包括以下步骤:
在通过本地服务确定第二电子设备中的任一个待迁移进程处于退出状态的情况下,通过本地服务向迁移服务发送第三资源释放请求,以使迁移服务根据第三资源释放请求,释放该待迁移进程占用的异构资源。
在一些实施方式中,本公开实施例的方法还可以包括以下步骤:
在通过本地服务未检测到任一个待迁移进程的心跳的情况下,确定该待迁移进程处于退出状态。
其中,上述实施例的详细描述可以参考前述实施例,此处不再赘述。
下面结合图4所示的流程图,以一个待迁移进程的角度,对该待迁移进程的迁移过程进行详细说明:
步骤S401,周期性向迁移服务发送自身的迁移状态,并接收迁移服务发送的迁移状态集合。
步骤S402,判断所有待迁移进程是否均正常迁移,若是,则执行步骤S403,否则执行步骤S406。
步骤S403,判断其他待迁移进程对应的迁移进度中是否存在小于该待迁移进程对应的迁移进度的情况,若是,则执行步骤S404,否则,执行步骤S405。
步骤S404,暂停执行迁移操作,并等待下一次迁移状态发送。
步骤S405,继续执行迁移操作,并等待下一次迁移状态发送。
步骤S406,更新自身的迁移状态为迁移失败,执行回退操作。
步骤S407,迁移成功的情况下,向迁移服务发送表征成功的迁移状态,回退完成的情况下,向迁移服务发送表征回退完成的迁移状态。
图5是根据一示例性实施例示出的一种多进程异构程序的迁移装置500的框图,该多进程异构程序的迁移装置500可以应用于第一电子设备,所述第一电子设备中部署有迁移服务,如图5所示,该多进程异构程序的迁移装置500可以包括:
获取模块510,用于通过所述迁移服务获取迁移状态集合,所述迁移状态集合包括所述多进程异构程序中的各个待迁移进程的迁移状态,所述待迁移进程为区别于中央处理器的异构处理器中的进程;
第一发送模块520,用于通过所述迁移服务向所述各个待迁移进程分别发送所述迁移状态集合;
第一释放模块530,用于在通过所述迁移服务接收到待迁移进程发送的第一资源释放请求的情况下,通过所述迁移服务释放迁移前占用的源异构资源,其中,所述第一资源释放请求是任一个待迁移进程在根据所述迁移状态集合确定所有待迁移进程均迁移完成的情况下生成的。
在一些实施方式中,多进程异构程序的迁移装置500还可以包括:
第二释放模块,用于在通过所述迁移服务接收到待迁移进程发送的第二资源释放请求的情况下,通过所述迁移服务释放迁移占用的目标异构资源,其中,所述第二资源释放请求是任一个待迁移进程在根据所述迁移状态集合确定所有待迁移进程均回退完成的情况下生成的。
在一些实施方式中,所述迁移状态集合用于任一个待迁移进程确定是否满足第一条件,其中,在该待迁移进程确定满足所述第一条件的情况下,通过该待迁移进程继续执行迁移操作,所述第一条件为其他待迁移进程对应的迁移进度均不小于该待迁移进程的迁移进度;
所述迁移状态集合用于任一个待迁移进程确定是否满足第二条件,其中,在该待迁移进程确定满足所述第二条件的情况下,通过该待迁移进程暂停执行迁移操作,所述第二条件为其他待迁移进程对应的迁移进度中存在小于该待迁移进程的迁移进度的情况;
所述迁移状态集合用于任一个待迁移进程确定是否满足第三条件,其中,在该待迁移进程确定满足所述第三条件的情况下,通过该待迁移进程执行回退操作,所述第三条件为其他待迁移进程中存在迁移失败的进程。
在一些实施方式中,多进程异构程序的迁移装置500还可以包括:
删除模块,用于在通过所述迁移服务接收到任一本地服务发送的删除请求的情况下,通过所述迁移服务从所述迁移状态集合中删除目标待迁移进程对应的迁移状态,得到更新后的迁移状态集合,所述目标待迁移进程为与该本地服务部署在同一电子设备,且处于退出状态的进程。
相应地,第一发送模块520还用于通过所述迁移服务向除去所述目标待迁移进程外的其他待迁移进程分别发送所述更新后的迁移状态集合。
在一些实施方式中,多进程异构程序的迁移装置500还可以包括:
第三释放模块,用于在通过所述迁移服务接收到任一本地服务发送的第三资源释放请求的情况下,通过所述迁移服务释放目标待迁移进程占用的异构资源,所述目标待迁移进程为与该本地服务部署在同一电子设备,且处于退出状态的进程。
在一些实施方式中,该本地服务是在未检测到同一电子设备中的任一个待迁移进程的心跳的情况下,确定该待迁移进程处于退出状态的。
图6是根据一示例性实施例示出的一种多进程异构程序的迁移装置600的框图,该多进程异构程序的迁移装置600可以应用于第二电子设备,所述第二电子设备中部署有待迁移进程,所述待迁移进程为区别于中央处理器的异构处理器中的进程,如图6所示,该多进程异构程序的迁移装置600可以包括:
第二发送模块610,用于针对任一个所述待迁移进程,通过该待迁移进程向迁移服务发送自身的迁移状态;
接收模块620,用于通过该待迁移进程接收所述迁移服务发送的迁移状态集合,所述迁移状态集合包括所述多进程异构程序中的各个待迁移进程的迁移状态;
第三发送模块630,用于在通过该待迁移进程根据所述迁移状态集合确定所有待迁移进程均迁移完成的情况下,通过该待迁移进程向所述迁移服务发送第一资源释放请求,以使所述迁移服务释放迁移前占用的源异构资源。
在一些实施方式中,多进程异构程序的迁移装置600还可以包括:
第四发送模块,用于在通过该待迁移进程根据所述迁移状态集合确定所有待迁移进程均回退完成的情况下,通过该待迁移进程向所述迁移服务发送第二资源释放请求,以使所述迁移服务释放迁移占用的目标异构资源。
在一些实施方式中,多进程异构程序的迁移装置600还可以包括:
第一确定模块,用于在通过该待迁移进程根据所述迁移状态集合确定其他待迁移进程对应的迁移进度均不小于该待迁移进程的迁移进度的情况下,通过该待迁移进程继续执行迁移操作;以及用于在通过该待迁移进程根据所述迁移状态集合确定其他待迁移进程对应的迁移进度中存在小于该待迁移进程的迁移进度的情况下,通过该待迁移进程暂停执行迁移操作;以及用于在通过该待迁移进程根据所述迁移状态集合确定其他待迁移进程中存在迁移失败的进程的情况下,通过该待迁移进程执行回退操作。
在一些实施方式中,所述第二电子设备中还部署有本地服务,多进程异构程序的迁移装置600还可以包括:
第五发送模块,用于在通过所述本地服务确定所述第二电子设备中的任一个待迁移进程处于退出状态的情况下,通过所述本地服务向所述迁移服务发送删除请求,以使所述迁移服务根据所述删除请求,从所述迁移状态集合中删除该待迁移进程对应的迁移状态,得到更新后的迁移状态集合。
在一些实施方式中,所述第二电子设备中还部署有本地服务,多进程异构程序的迁移装置600还可以包括:
第六发送模块,用于在通过所述本地服务确定所述第二电子设备中的任一个待迁移进程处于退出状态的情况下,通过所述本地服务向所述迁移服务发送第三资源释放请求,以使所述迁移服务根据所述第三资源释放请求,释放该待迁移进程占用的异构资源。
在一些实施方式中,所述第二电子设备中还部署有本地服务,多进程异构程序的迁移装置600还可以包括:
第二确定模块,用于在通过所述本地服务未检测到任一个待迁移进程的心跳的情况下,确定该待迁移进程处于退出状态。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种电子设备700的框图。该电子设备可以是前述实施例中的第一电子设备或者第二电子设备,如图7所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的多进程异构程序的迁移方法中的全部或部分步骤,其中,处理器可以包括中央处理器以及异构处理器。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static RandomAccess Memory,简称SRAM),电可擦除可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的多进程异构程序的迁移方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的多进程异构程序的迁移方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的多进程异构程序的迁移方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的多进程异构程序的迁移方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (12)
1.一种多进程异构程序的迁移方法,其特征在于,应用于第一电子设备,所述第一电子设备中部署有迁移服务,所述方法包括:
通过所述迁移服务获取迁移状态集合,所述迁移状态集合包括所述多进程异构程序中的各个待迁移进程的迁移状态,所述待迁移进程为区别于中央处理器的异构处理器中的进程;
通过所述迁移服务向所述各个待迁移进程分别发送所述迁移状态集合;
在通过所述迁移服务接收到待迁移进程发送的第一资源释放请求的情况下,通过所述迁移服务释放迁移前占用的源异构资源,其中,所述第一资源释放请求是任一个待迁移进程在根据所述迁移状态集合确定所有待迁移进程均迁移完成的情况下生成的;
所述迁移状态集合用于任一个待迁移进程确定是否满足第一条件,其中,在该待迁移进程确定满足所述第一条件的情况下,通过该待迁移进程继续执行迁移操作,所述第一条件为其他待迁移进程对应的迁移进度均不小于该待迁移进程的迁移进度;
所述迁移状态集合用于任一个待迁移进程确定是否满足第二条件,其中,在该待迁移进程确定满足所述第二条件的情况下,通过该待迁移进程暂停执行迁移操作,所述第二条件为其他待迁移进程对应的迁移进度中存在小于该待迁移进程的迁移进度的情况;
所述迁移状态集合用于任一个待迁移进程确定是否满足第三条件,其中,在该待迁移进程确定满足所述第三条件的情况下,通过该待迁移进程执行回退操作,所述第三条件为其他待迁移进程中存在迁移失败的进程。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在通过所述迁移服务接收到待迁移进程发送的第二资源释放请求的情况下,通过所述迁移服务释放迁移占用的目标异构资源,其中,所述第二资源释放请求是任一个待迁移进程在根据所述迁移状态集合确定所有待迁移进程均回退完成的情况下生成的。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在通过所述迁移服务接收到任一本地服务发送的删除请求的情况下,通过所述迁移服务从所述迁移状态集合中删除目标待迁移进程对应的迁移状态,得到更新后的迁移状态集合,所述目标待迁移进程为与该本地服务部署在同一电子设备,且处于退出状态的进程;
所述通过所述迁移服务向所述各个待迁移进程分别发送所述迁移状态集合,包括:
通过所述迁移服务向除去所述目标待迁移进程外的其他待迁移进程分别发送所述更新后的迁移状态集合。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在通过所述迁移服务接收到任一本地服务发送的第三资源释放请求的情况下,通过所述迁移服务释放目标待迁移进程占用的异构资源,所述目标待迁移进程为与该本地服务部署在同一电子设备,且处于退出状态的进程。
5.根据权利要求3或者4所述的方法,其特征在于,该本地服务是在未检测到同一电子设备中的任一个待迁移进程的心跳的情况下,确定该待迁移进程处于退出状态的。
6.一种多进程异构程序的迁移方法,其特征在于,应用于第二电子设备,所述第二电子设备中部署有异构程序中的待迁移进程,所述待迁移进程为区别于中央处理器的异构处理器中的进程,所述方法包括:
针对任一个所述待迁移进程,通过该待迁移进程向迁移服务发送自身的迁移状态;
通过该待迁移进程接收所述迁移服务发送的迁移状态集合,所述迁移状态集合包括所述多进程异构程序中的各个待迁移进程的迁移状态;
在通过该待迁移进程根据所述迁移状态集合确定所有待迁移进程均迁移完成的情况下,通过该待迁移进程向所述迁移服务发送第一资源释放请求,以使所述迁移服务释放迁移前占用的源异构资源;
在通过该待迁移进程根据所述迁移状态集合确定其他待迁移进程对应的迁移进度均不小于该待迁移进程的迁移进度的情况下,通过该待迁移进程继续执行迁移操作;
在通过该待迁移进程根据所述迁移状态集合确定其他待迁移进程对应的迁移进度中存在小于该待迁移进程的迁移进度的情况下,通过该待迁移进程暂停执行迁移操作;
在通过该待迁移进程根据所述迁移状态集合确定其他待迁移进程中存在迁移失败的进程的情况下,通过该待迁移进程执行回退操作。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在通过该待迁移进程根据所述迁移状态集合确定所有待迁移进程均回退完成的情况下,通过该待迁移进程向所述迁移服务发送第二资源释放请求,以使所述迁移服务释放迁移占用的目标异构资源。
8.根据权利要求6所述的方法,其特征在于,所述第二电子设备中还部署有本地服务,所述方法还包括:
在通过所述本地服务确定所述第二电子设备中的任一个待迁移进程处于退出状态的情况下,通过所述本地服务向所述迁移服务发送删除请求,以使所述迁移服务根据所述删除请求,从所述迁移状态集合中删除该待迁移进程对应的迁移状态,得到更新后的迁移状态集合。
9.根据权利要求6所述的方法,其特征在于,所述第二电子设备中还部署有本地服务,所述方法还包括:
在通过所述本地服务确定所述第二电子设备中的任一个待迁移进程处于退出状态的情况下,通过所述本地服务向所述迁移服务发送第三资源释放请求,以使所述迁移服务根据所述第三资源释放请求,释放该待迁移进程占用的异构资源。
10.根据权利要求8或者9所述的方法,其特征在于,所述方法还包括:
在通过所述本地服务未检测到任一个待迁移进程的心跳的情况下,确定该待迁移进程处于退出状态。
11.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5中任一项所述方法的步骤,或实现权利要求6-10中任一项所述方法的步骤。
12.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-5中任一项所述方法的步骤,或实现权利要求6-10中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311844943.8A CN117493024B (zh) | 2023-12-28 | 2023-12-28 | 多进程异构程序的迁移方法、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311844943.8A CN117493024B (zh) | 2023-12-28 | 2023-12-28 | 多进程异构程序的迁移方法、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117493024A CN117493024A (zh) | 2024-02-02 |
CN117493024B true CN117493024B (zh) | 2024-04-19 |
Family
ID=89681416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311844943.8A Active CN117493024B (zh) | 2023-12-28 | 2023-12-28 | 多进程异构程序的迁移方法、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117493024B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6769121B1 (en) * | 1999-01-22 | 2004-07-27 | Nec Corporation | Program execution device and process migrating method thereof and storage medium which stores process migration control program |
CN109582459A (zh) * | 2017-09-29 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 应用的托管进程进行迁移的方法及装置 |
CN115562805A (zh) * | 2022-09-30 | 2023-01-03 | 绿盟科技集团股份有限公司 | 一种资源迁移的方法、装置及电子设备 |
CN116339954A (zh) * | 2023-04-07 | 2023-06-27 | 北京趋动智能科技有限公司 | 进程迁移方法、装置、存储介质及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2759933A1 (en) * | 2013-01-28 | 2014-07-30 | Fujitsu Limited | A process migration method, computer system and computer program |
US20220413902A1 (en) * | 2021-06-23 | 2022-12-29 | International Business Machines Corporation | Partition migration with critical task prioritization |
-
2023
- 2023-12-28 CN CN202311844943.8A patent/CN117493024B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6769121B1 (en) * | 1999-01-22 | 2004-07-27 | Nec Corporation | Program execution device and process migrating method thereof and storage medium which stores process migration control program |
CN109582459A (zh) * | 2017-09-29 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 应用的托管进程进行迁移的方法及装置 |
CN115562805A (zh) * | 2022-09-30 | 2023-01-03 | 绿盟科技集团股份有限公司 | 一种资源迁移的方法、装置及电子设备 |
CN116339954A (zh) * | 2023-04-07 | 2023-06-27 | 北京趋动智能科技有限公司 | 进程迁移方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117493024A (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI783355B (zh) | 深度學習模型的分布式訓練方法以及裝置 | |
CN108647104B (zh) | 请求处理方法、服务器及计算机可读存储介质 | |
CN109788068B (zh) | 心跳状态信息上报方法、装置和设备及计算机存储介质 | |
JP2013535745A (ja) | 高可用性仮想機械環境におけるアプリケーションの高可用性の提供 | |
CN109150662B (zh) | 消息传输方法、分布式系统、设备、介质和无人车 | |
CN115088235B (zh) | 主节点选取方法、装置、电子设备以及存储介质 | |
CN110263093B (zh) | 数据同步方法、装置、节点、集群及存储介质 | |
CN113094430B (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN107682389B (zh) | 一种执行网络请求的方法、终端及计算机可读存储介质 | |
CN110740145A (zh) | 消息消费方法、装置、存储介质及电子设备 | |
CN111385255B (zh) | 一种异步调用实现方法、装置、服务器及服务器集群 | |
CN111200651A (zh) | 定时调用微服务的方法、系统、设备和介质 | |
CN107818027B (zh) | 名字节点主备切换的方法、装置和分布式系统 | |
JP5408620B2 (ja) | データ分散管理システム及びデータ分散管理方法 | |
CN117493024B (zh) | 多进程异构程序的迁移方法、存储介质及电子设备 | |
CN116339954A (zh) | 进程迁移方法、装置、存储介质及电子设备 | |
CN106453656B (zh) | 一种集群主机选取方法及装置 | |
CN111629054B (zh) | 消息处理方法、装置、系统、电子设备及可读存储介质 | |
CN114816866A (zh) | 故障处理方法、装置、电子设备和存储介质 | |
CN113391759B (zh) | 一种通信方法和设备 | |
CN110502460B (zh) | 数据处理的方法和节点 | |
JP2012124829A (ja) | 情報処理プログラム、中継装置及び中継管理装置 | |
CN111176746A (zh) | 一种数据配置方法、装置、系统、电子设备及其存储介质 | |
CN114185688B (zh) | 物理资源占用状态的矫正方法、调度器及可读存储介质 | |
CN108234215B (zh) | 一种网关的创建方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |