CN116501469A - 高性能计算集群的控制方法、电子设备以及存储介质 - Google Patents
高性能计算集群的控制方法、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN116501469A CN116501469A CN202310441527.7A CN202310441527A CN116501469A CN 116501469 A CN116501469 A CN 116501469A CN 202310441527 A CN202310441527 A CN 202310441527A CN 116501469 A CN116501469 A CN 116501469A
- Authority
- CN
- China
- Prior art keywords
- job
- computing node
- target
- node
- computing
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 415
- 230000008569 process Effects 0.000 claims abstract description 329
- 238000013508 migration Methods 0.000 claims abstract description 155
- 230000005012 migration Effects 0.000 claims abstract description 154
- 238000011084 recovery Methods 0.000 claims description 86
- 238000004422 calculation algorithm Methods 0.000 claims description 18
- 238000005516 engineering process Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 25
- 239000003795 chemical substances by application Substances 0.000 description 23
- 238000012545 processing Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000006854 communication Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000002085 persistent effect Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 230000007175 bidirectional communication Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005059 dormancy Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006386 neutralization reaction Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000005067 remediation Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000007704 transition Effects 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种高性能计算集群的控制方法、电子设备以及存储介质。其中,该方法包括:调度节点在接收到作业迁移请求的情况下,获取目标作业的作业状态,其中,作业迁移请求用于对目标作业进行迁移;在作业状态为运行中的情况下,调度节点从高性能计算集群中确定第一计算节点,并确定第一计算节点上的目标进程,其中,第一计算节点上运行有目标作业,目标进程为第一计算节点上与目标作业对应的进程;调度节点发送迁移信息至第一计算节点,其中,迁移信息用于控制第一计算节点将目标进程镜像转储到预设存储设备中。本申请解决了相关技术中的高性能计算集群的可靠性较低的技术问题。
Description
技术领域
本申请涉及计算集群的控制领域,具体而言,涉及一种高性能计算集群的控制方法、电子设备以及存储介质。
背景技术
传统的高性能计算集群(High Performance Computing,简称为HPC集群)主要由登录节点、调度节点和计算节点组成,其中,高性能计算集群的调度节点上的调度器收到作业提交请求后,可以从HPC集群上选择合适的计算节点运行作业,一旦作业在计算节点开始运行后,则难以感知到作业所在的计算节点,若某个计算节点故障会导致整个作业计算失败。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种高性能计算集群的控制方法、电子设备以及存储介质,以至少解决相关技术中的高性能计算集群的可靠性较低的技术问题。
根据本申请实施例的一个方面,提供了一种高性能计算集群的控制方法,包括:调度节点在接收到作业迁移请求的情况下,获取目标作业的作业状态,其中,作业迁移请求用于对目标作业进行迁移;在作业状态为运行中的情况下,调度节点从高性能计算集群中确定第一计算节点,并确定第一计算节点上的目标进程,其中,第一计算节点上运行有目标作业,目标进程为第一计算节点上与目标作业对应的进程;调度节点发送迁移信息至第一计算节点,其中,迁移信息用于控制第一计算节点将目标进程镜像转储到预设存储设备中。
根据本申请实施例的一个方面,还提供了一种高性能计算集群的控制方法,包括:第一计算节点接收调度节点发送的迁移信息,其中,第一计算节点上运行有目标作业,迁移信息是调度节点在接收到作业迁移请求,并确定目标作业的作业状态为运行中的情况下发送的,作业迁移请求用于对目标作业进行迁移;第一计算节点基于迁移信息,将目标作业对应的目标进程镜像转储到预设存储设备中
根据本申请实施例的另一方面,还提供了一种高性能计算集群,包括:计算节点,用于运行作业;预设存储设备,用于存储进程镜像;调度节点,与计算节点连接,用于在接收到作业迁移请求的情况下,获取目标作业的作业状态,在作业状态为运行中的情况下,确定第一计算节点,并确定第一计算节点上的目标进程,其中,作业迁移请求用于对目标作业进行迁移,其中,第一计算节点上运行有目标作业,目标进程为第一计算节点上与目标作业对应的进程;第一计算节点,与预设存储设备连接,用于将目标进程镜像存储至预设存储设备。
根据本申请实施例的另一方面,还提供了一种电子设备,包括:存储器,存储有可执行程序;处理器,用于运行程序,其中,程序运行时执行上述实施例中任意一项的方法。
根据本申请实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的可执行程序,其中,在可执行程序运行时控制存储介质所在设备执行上述实施例中任意一项的方法。
在本申请实施例中,首先调度节点在接收到作业迁移请求的情况下,获取目标作业的作业状态,其中,作业迁移请求用于对目标作业进行迁移;在作业状态为运行中的情况下,调度节点从高性能计算集群中确定第一计算节点,并确定第一计算节点上的目标进程,其中,第一计算节点上运行有目标作业,目标进程为第一计算节点上与目标作业对应的进程;调度节点发送迁移信息至第一计算节点,其中,迁移信息用于控制第一计算节点将目标进程镜像转储到预设存储设备中,实现提高高性能计算集群的可靠性的目的。容易注意到的是,在作业状态为运行中的情况下,可以检查高性能集群中的计算节点,并确定出运行有目标作业的第一计算节点,可以将第一计算节点上的目标进程镜像转储到预设存储设备中,实现在用户无感知的情况下对目标作业对应的目标进程进行转储,可以方便对潜在故障节点上的目标作业进行迁移降低作业失败的风险,从而可以提高目标作业运行的可靠性,实现了提高高性能计算集群的可靠性。进而解决了相关技术中的高性能计算集群的可靠性较低的技术问题。
容易注意到的是,上面的通用描述和后面的详细描述仅仅是为了对本申请进行举例和解释,并不构成对本申请的限定。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种用于实现高性能计算集群的控制方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例的一种计算环境的结构框图;
图3是根据本申请实施例的一种服务网格的结构框图;
图4是根据本申请实施例1的高性能计算集群的控制方法的流程图;
图5是根据本申请实施例的一种传统高性能计算集群的示意图;
图6是根据本申请实施例的一种高性能计算集群的控制结构示意图;
图7是根据本申请实施例的一种高性能计算集群进行转储作业进程到持久存储的流程图;
图8是根据本申请实施例的一种高性能计算集群作业从转储的进程镜像恢复的流程图;
图9是根据本申请实施例的另一种高性能计算集群的控制结构示意图;
图10是根据本申请实施例的又一种高性能计算集群的控制结构示意图;
图11是根据本申请实施例2的一种高性能计算集群的控制方法的流程图;
图12是根据本申请实施例2的一种高性能计算集群的示意图;
图13是根据本申请实施例4的一种高性能计算集群的控制装置示意图;
图14是根据本申请实施例5的一种高性能计算集群的控制装置示意图;
图15是根据本申请实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
作业迁移:即一个作业可以从一个节点计算机上迁移到其他工作负荷较轻或适宜处理该作业的节点计算机上运行;
高性能计算集群(High Performance Computing,简称为HPC集群):这类集群通过连接多台机器可以同时处理复杂的计算问题;
HPC作业调度:在高性能计算集群上通过调度器执行的作业调度;
镜像转储过程:是在任意两个或多个磁盘上产生同一个数据的镜像视图的信息存储过程。
实施例1
根据本申请实施例,提供了一种高性能计算集群的控制方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1是根据本申请实施例的一种用于实现高性能计算集群的控制方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102、用于存储数据的存储器104、以及用于通信功能的传输模块106,其中,处理器102可以包括但不限于微处理器(Microcontroller Unit,简称为MCU)或可编程逻辑器件(Field Programmable GateArray,简称为FPGA)等的处理装置。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(Universal Serial Bus,USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的高性能计算集群的控制方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的高性能计算集群的控制方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(Liquid Crystal Display,LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
图1示出的硬件结构框图,不仅可以作为上述计算机终端10(或移动设备)的示例性框图,还可以作为上述服务器的示例性框图,一种可选实施例中,图2以框图示出了使用上述图1所示的计算机终端10(或移动设备)作为计算环境201中计算节点的一种实施例。图2是根据本申请实施例的一种计算环境的结构框图,如图2所示,计算环境201包括运行在分布式网络上的多个(图中采用210-1,210-2,…,来示出)计算节点(如服务器)。计算节点都包含本地处理和内存资源,终端用户202可以在计算环境201中远程运行应用程序或存储数据。应用程序可以作为计算环境201中的多个服务220-1,220-2,220-3和220-4进行提供,分别代表服务“A”,“D”,“E”和“H”。
终端用户202可以通过客户端上的web浏览器或其他软件应用程序提供和访问服务,在一些实施例中,可以将终端用户202的供应和/或请求提供给入口网关230。入口网关230可以包括一个相应的代理来处理针对服务(计算环境201中提供的一个或多个服务)的供应和/或请求。
服务是根据计算环境201支持的各种虚拟化技术来提供或部署的。在一些实施例中,可以根据基于虚拟机(Virtual Machine,VM)的虚拟化、基于容器的虚拟化和/或类似的方式提供服务。基于虚拟机的虚拟化可以是通过初始化虚拟机来模拟真实的计算机,在不直接接触任何实际硬件资源的情况下执行程序和应用程序。在虚拟机虚拟化机器的同时,根据基于容器的虚拟化,可以启动容器来虚拟化整个操作系统(Operating System,OS),以便多个工作负载可以在单个操作系统实例上运行。
在基于容器虚拟化的一个实施例中,服务的若干容器可以被组装成一个Pod(例如,Kubernetes Pod)。举例来说,如图2所示,服务220-2可以配备一个或多个Pod240-1,240-2,…,240-N(统称为Pod)。Pod可以包括代理245和一个或多个容器242-1,242-2,…,242-M(统称为容器)。Pod中一个或多个容器处理与服务的一个或多个相应功能相关的请求,代理245通常控制与服务相关的网络功能,如路由、负载均衡等。其他服务也可以配备类似的Pod。
在操作过程中,执行来自终端用户202的用户请求可能需要调用计算环境201中的一个或多个服务,执行一个服务的一个或多个功能可能需要调用另一个服务的一个或多个功能。如图2所示,服务“A”220-1从入口网关230接收终端用户202的用户请求,服务“A”220-1可以调用服务“D”220-2,服务“D”220-2可以请求服务“E”220-3执行一个或多个功能。
上述的计算环境可以是云计算环境,资源的分配由云服务提供上管理,允许功能的开发无需考虑实现、调整或扩展服务器。该计算环境允许开发人员在不构建或维护复杂基础设施的情况下执行响应事件的代码。服务可以被分割完成一组可以自动独立伸缩的功能,而不是扩展单个硬件设备来处理潜在的负载。
另一种可选实施例中,图3以框图示出了使用上述图1所示的计算机终端10(或移动设备)作为服务网格的一种实施例。图3是根据本申请实施例的一种服务网格的结构框图,如图3所示,该服务网格300主要用于方便多个微服务之间进行安全和可靠的通信,微服务是指将应用程序分解为多个较小的服务或者实例,并分布在不同的集群/机器上运行。
如图3所示,微服务可以包括应用服务实例A和应用服务实例B,应用服务实例A和应用服务实例B形成服务网格300的功能应用层。在一种实施方式中,应用服务实例A以容器/进程308的形式运行在机器/工作负载容器组314(Pod),应用服务实例B以容器/进程310的形式运行在机器/工作负载容器组316(Pod)。
在一种实施方式中,应用服务实例A可以是商品查询服务,应用服务实例B可以是商品下单服务。
如图3所示,应用服务实例A和网格代理(sidecar)303共存于机器工作负载容器组614,应用服务实例B和网格代理305共存于机器工作负载容器314。网格代理303和网格代理305形成服务网格300的数据平面层(data plane)。其中,网格代理303和网格代理305分别以容器/进程304,容器/进程306的形式运行,可以接收请求312,以用于进行商品查询服务,并且网格代理303和应用服务实例A之间可以双向通信,网格代理305和应用服务实例B之间可以双向通信。此外,网格代理303和网格代理305之间还可以双向通信。
在一种实施方式中,应用服务实例A的流量都通过网格代理303被路由到合适的目的地,应用服务实例B的网络流量都通过网格代理305被路由到合适的目的地。需要说明的是,在此提及的网络流量包括但不限于超文本传输协议(Hyper Text Transfer Protocol,简称为HTTP),表述性状态传递(Representational State Transfer,简称为REST),高性能、通用的开源框架(google Remote Procedure Call,gRPC),开源的内存中的数据结构存储系统(Redis)等形式。
在一种实施方式中,可以通过为服务网格300中的代理(Envoy)编写自定义的过滤器(Filter)来实现扩展数据平面层的功能,服务网格代理配置可以是为了使服务网格正确地代理服务流量,实现服务互通和服务治理。网格代理303和网格代理305可以被配置成执行至少如下功能中的一种:服务发现(service discovery),健康检查(health checking),路由(Routing),负载均衡(Load Balancing),认证和授权(authentication andauthorization),以及可观测性(observability)。
如图3所示,该服务网格300还包括控制平面层。其中,控制平面层可以是由一组在一个专用的命名空间中运行的服务,在机器/工作负载容器组(machine/Pod)302中由托管控制面组件301来托管这些服务。如图3所示,托管控制面组件301与网格代理303和网格代理305进行双向通信。托管控制面组件301被配置成执行一些控制管理的功能。例如,托管控制面组件301接收网格代理303和网格代理305传送的遥测数据,可以进一步对这些遥测数据做聚合。这些服务,托管控制面组件301还可以提供面向用户的应用程序接口(Application Programming Interface,API),以便较容易地操纵网络行为,以及向网格代理303和网格代理305提供配置数据等。
在上述运行环境下,本申请提供了如图4所示的高性能计算集群的控制方法。图4是根据本申请实施例1的高性能计算集群的控制方法的流程图。如图4所示,该方法包括:
步骤S402,调度节点在接收到作业迁移请求的情况下,获取目标作业的作业状态。
其中,作业迁移请求用于对目标作业进行迁移。
上述的目标作业(Job)可以为待处理的任务,在电商领域,该目标作业可以为订单、商品信息等,在医疗领域,该作业可以为患者信息、医疗图像等,此处对目标作业不做限定,可以根据实际情况进行设置,可以是任意领域的待处理任务。
上述的目标作业可以为利用率比较低的节点上的作业,上述的目标作业还可以是潜在故障计算节点上的作业,通过对潜在故障计算节点上的作业进行迁移可以降低作业失败的风险。
上述的作业迁移请求可以根据对目标作业进行监测的需求生成,也可以是定时生成的,此处不做限定,可以根据实际情况生成目标作业的作业迁移请求。
上述的调度节点可以为调度器。
在一种可选的实施例中,集群管理员可以通过触发目标作业进行检查点操作,从而生成作业迁移请求,调度器在接收到该目标作业迁移请求之后,可以检查目标作业的作业状态,以便根据作业状态对目标作业进行迁移。
在另一种可选的实施例中,在接收到作业迁移请求的情况下,可以检查目标作业的作业状态,以便判断目标作业的作业状态是否处于运行中,若作业状态为目标作业处于运行中,则可以对目标作业的目标进程进行转储,方便对该目标作业进行监测。
步骤S404,在作业状态为运行中的情况下,调度节点从高性能计算集群中确定第一计算节点,并确定第一计算节点上的目标进程。
其中,第一计算节点上运行有目标作业,目标进程为第一计算节点上与目标作业对应的进程。
上述的高性能计算集群可以用于表示通过连接多台机器同时处理复杂的计算问题的计算集群。
上述的第一计算节点可以为一个或多个,此处不做限定。
在一种可选的实施例中,在作业状态为运行中的情况下,调度器可以从调度数据库中查找目标作业对应的计算节点列表和在计算节点上的进程标识(ID)列表,也即,从高性能集群中确定第一计算节点,并确定在第一计算节点上的目标进程。
步骤S406,调度节点发送迁移信息至第一计算节点。
其中,迁移信息用于控制第一计算节点。
上述的预设存储设备可以为预先设置的任意存储设备,例如,预设存储设备可以为包含有持久存储路径的设备,但不限于此,此处仅作实例进行说明。
在一种可选的实施例中,可以调用高性能集群中的检查点-重启服务对目标作业的目标进程做检查点转储,可以将目标进程转储到预设存储设备中。
进一步的,在目标进程镜像转储到预设存储设备后,检查点-重启服务可以向调度器返回结果,调度器综合计算节点列表各节点结果,在计算节点列表上的各个节点返回成功时,目标作业的检查点操作才算成功完成,此时调度节点可以更新作业状态并将目标作业移动到等待队列中,并设置再次被调度的条件。
若检查点-重启服务返回作业计算节点列表部分节点返回成功或者各个节点返回失败,调度节点和已成功的部分节点通信恢复运行,并且可以向管理员返回操作失败和相关信息。
通过本申请的上述方式,可以提高HPC集群利用率,增加集群吞吐量。可以将高性能集群中的目标作业进行迁移,从而可以腾出更多的可用节点给后面的作业,可以让调度队列上原本不能立刻投入运行的作业尽快投入运行,从而提高单位时间内集群可执行作业的数量,从而提升集群吞吐量,增加效率。
通过本申请的上述方式,可以降低HPC作业的失败概率,通过对计算机群的监测和分析,对于潜在有故障风险的节点,可以提前将正在运行的HPC作业迁移到机群上的其他节点。从而减少因意外宕机或者其他故障导致作业失败。
通过本申请的上述方式,还可以提供集群资源维护的便利,当有集群软件更新或者其他运维动作需要实施时,系统管理员可以将待操作的节点上的作业迁移走,然后即可实施资源维护操作而不用等待HPC作业运行完成后才能操作。
通过本申请的上述方式,还可以降低HPC集群功耗,有助于碳中和,可以对HPC集群上利用率比较低的节点上的作业进行迁移,例如可以将作业集中运行到机房的某些机柜,然后将空载的节点或者机柜等设备下电节电或者进行休眠操作,从而有助于降低功耗。
通过上述步骤,首先调度节点在接收到作业迁移请求的情况下,获取目标作业的作业状态,其中,作业迁移请求用于对目标作业进行迁移;在作业状态为运行中的情况下,调度节点从高性能计算集群中确定第一计算节点,并确定第一计算节点上的目标进程,其中,第一计算节点上运行有目标作业,目标进程为第一计算节点上与目标作业对应的进程;调度节点发送迁移信息至第一计算节点,其中,迁移信息用于控制第一计算节点将目标进程镜像转储到预设存储设备中,实现提高高性能计算集群的可靠性的目的。容易注意到的是,在作业状态为运行中的情况下,可以检查高性能集群中的计算节点,并确定出运行有目标作业的第一计算节点,可以将第一计算节点上的目标进程镜像转储到预设存储设备中,实现在用户无感知的情况下对目标作业对应的目标进程进行转储,可以方便对潜在故障节点上的目标作业进行迁移降低作业失败的风险,从而可以提高目标作业运行的可靠性,实现了提高高性能计算集群的可靠性。进而解决了相关技术中的高性能计算集群的可靠性较低的技术问题。
目前在云计算技术里面存在有成熟的虚拟机热迁移方法,若是通过虚拟机搭建HPC集群,一般是将虚拟机用作作业集群来充当执行作业计算节点,但是不包含用户在HPC作业脚本带有创建或者使用虚拟机的动作,即,在HPC作业系统中一般不会考虑使用虚拟机,在HPC的场景中为了提高性能一般会使用裸金属机器,使用程序实现的虚拟机迁移方案不适合应用在HPC的场景中。
图5是根据本申请实施例的一种传统高性能计算集群的示意图,如图5所示,集群用户登录到登录节点后,便可以向集群的作业调度节点提交HPC作业,通常一份HPC作业由一组多机并行运算的进程组成,具体由提交作业的脚本和提交命令控制,作业调度节点上的调度器收到作业提交请求之后,便会从计算机群上选择合适的计算节点运行作业,其中,计算机群中的多个计算节点可以共享存储。作业在计算节点开始运行之后,HPC调度器除了常规的进程控制和监测外,用户感知不到移动作业所在的计算节点。若是某个计算节点出现故障,则整个作业会计算失败。
图6是根据本申请实施例的一种高性能计算集群的控制结构示意图,如图6所示,
第一步,在计算集群启动时,计算集群中包含的计算节点会启动检查点-重启服务,该服务实现对HPC作业对应的进程做检查点-重启动作,并提供访问接口或者应用程序编程接口(Application Programming Interface,简称为API)给调度节点;
第二步,用户登录到登录节点,向HPC集群提交作业。其中,集群用户按照常规流程提交作业,可以忽略提交作业过程中的细节。
第三步和第四步,用户将作业提交到调度队列中的调度器,等待HPC集群调度器选择计算节点执行作业,为了方便让作业调度节点支持作业迁移,调度节点上的相关算法、队列和数据库需要做如下改动:
对于传统HPC作业的状态有R(运行中)、Q(排队中)等,增加状态C(Check Pointed,检查点)表示对应作业处于检查点中,作业对应的进程已被转储到持久存储中。其中,处于检查点中状态的作业不占用CPU运行,作业状态被转存储在持久存储中。
通常,转储过程时间跟作业进程占用的内存大小和存储的写入速度有关,对于占用内存比较大的作业需要的时间比较长,可以根据需要增加检查节点Ct(Checkpointing)表示转储中的状态。当集群管理员对作业进行检查点操作后,作业从运行队列回到待调度队列,并设置在计算节点恢复作业进程的条件。处于C状态的作业在集群资源满足条件或者集群管理员主动发起调度时,在计算节点恢复作业对应的进程。其中,可以通过命令、接口、按钮操控等方式进行检查点操作。
图6中调度算法用于增加和计算节点的检查点-重启服务的通信和调用过程,将已做完检查点的作业调度回等待队列并设置为新的状态。并设置重新调度回计算节点的条件,当条件满足时恢复作业执行,更新作业和所在的计算节点列表和对应的进程ID。
图6中调度队列的作业被转储后以新的状态返回到调度队列。
图6中调度数据库可以增加作业状态C,Ct,以及作业对应转存储路径。
第五步,作业进入运行状态,计算节点开始运行作业。作业开始运行后,则可以确定作业在计算机群中的计算节点列表和作业在计算节点列表上的进程ID。调度器更新作业状态并将作业相关信息存储在对应的调度数据库中。
第六步和第七步,集群管理员触发作业进行检查点操作。调度器接收到该请求后,检查作业对应的状态,若作业在运行中,调度器从调度数据库查找作业对应计算节点列表和在计算节点上的进程ID列表,调度器和计算节点列表上的节点通信,调用检查点-重启服务的程序检查节点(Job Progress Check Point),检查点-重启服务开始对上面的作业对应的进程开始做检查点转储,将进程镜像转储到指定的持久存储路径上。转储完成后检查点-重启服务向调度器返回结果,调度器综合计算节点列表各节点结果。
在计算节点列表上的各个节点返回成功时,整个作业的检查点操作才算成功完成,此时调度节点更新作业状态为C并将作业从运行队列移到等待队列,并设置再次被调度的条件;在作业计算节点列表部分节点返回成功或各个节点都返回失败时,调度节点和已成功的部分节点通信恢复运行,向管理返回操作失败和相关信息。
第八步和第九步,对已经做完检查点操作的作业,HPC集群管理员可以通过预设条件或者直接控制调度器调度该作业在新的计算节点上面执行。调度器收到集群管理员请求或者满足上述的预设条件时,调度器和集群管理员可以指定新计算节点列表或者调度算法确定计算节点通信以便调用计算节点上的检查点重启服务的程序恢复节点(Job ProgressRestart),检查点重启服务可以从对应存储路径上的作业进程镜像恢复作业在计算节点上面的执行。恢复过程也可能遇到错误,比如进程ID已经被占用,此时计算节点向调度节点返回失败。
调度节点收到各个新计算节点列表上的节点检查点重启服务返回节点后,在计算节点列表的节点返回成功时作业恢复运行,调度器此时可以更新作业所在状态和作业数据库中的作业所在新节点信息。若其中存在某个计算节点恢复作业进程返回失败,调度器停止其他计算节点上已做完恢复进程,并向集群管理员返回相应信息。
图7是根据本申请实施例的一种高性能计算集群进行转储作业进程到持久存储的流程图,如图7所示,该方法包括:
步骤S701,调度器收到启动检查点请求;
步骤S702,检查作业状态;
步骤S703,判断作业是否在运行中,若是(Y),则执行步骤S704,若否(N),则执行步骤S717;
步骤S704,从调度数据库中查作业节点列表;
步骤S705,建立同各个计算节点检查点-重启服务通信调用;
步骤S706,接收计算节点返回的操作结果;
步骤S707,是否各个计算节点返回操作成功,若是,则执行步骤S708,若否,则执行步骤S710;
步骤S708,更新作业状态,调整作业队列,设置再次运行条件;
步骤S709,返回成功结束操作;
步骤S710,恢复部分成功节点作业进程继续运行;
步骤S711,返回失败结束操作;
步骤S712,检查点-重启服务收到请求;
上述收到的请求可以为JobProgressCheckPoint的请求。
步骤S713,获取进程标识和转储路径;
步骤S714,判断作业是否在运行中,若是,则执行步骤S715,若否,则执行步骤S706;
步骤S715,对进程进行检查点转储操作;
步骤S716,返回操作结果到调度节点;
步骤S717,结束操作返回。
图8是根据本申请实施例的一种高性能计算集群作业从转储的进程镜像恢复的流程图,如图8所示,该方法包括:
步骤S801,集群管理员控制作业恢复或检查点预设条件满足;
步骤S802,调度器开始执行作业进程恢复;
步骤S803,调度器运行调度算法得到作业恢复时所在新计算节点列表;
步骤S804,建立不同计算节点检查点-重启服务通信调用;
步骤S805,接收计算节点返回的操作结果;
步骤S806,判断各个计算节点返回操作是否成功,若是,则执行步骤S807,若否,则执行步骤S809;
步骤S807,更新作业状态,调整作业队列;
步骤S808,返回成功结束操作;
步骤S809,停止恢复部分成功节点作业进程继续运行;
步骤S810,返回失败结束操作;
步骤S811,检查点-重启服务收到请求;
步骤S812,从转储路径获得作业进程镜像;
步骤S813,检查点-重启服务恢复镜像执行;
步骤S814,返回操作结果到调度节点。
图9是根据本申请实施例的另一种高性能计算集群的控制结构示意图,相对于图6所示的方法,本申请对三个步骤有所补充,首先,在HPC作业提交阶段时,当调度器从计算集群里选择候选计算节点后,执行作业前,先在计算节点里启动针对该作业的容器,然后在容器里执行作业进程;其次,在对集群作业执行阶段中遇到需要HPC作业迁移场景时。
有两种方式对作业进程进行检查点-重启操作对作业进行转储。其一,由于容器对于操作系统来讲也是一个进程,所以直接对容器进程进行检查点操作。其二,对容器里的作业进程进行检查点操作,相对于前者,容器里的作业进程数可能不止一个;最后,对于集群作业恢复阶段,如果前面在做进程转储时将容器整理打包转储,则恢复容器对应的进程,在进行检查点操作的时候执行转储容器作业进程可以采用不同的方式,一种方式为如图9中所示的方式,可以先启动容器然后在容器里面运行HPC作业进程恢复操作;图10是根据本申请实施例的又一种高性能计算集群的控制结构示意图,如图10所示,另一种方式是将作业进程恢复到无容器环境的节点上。另外,对于图6提到的作业进程亦可以先启动容器环境,然后在容器环境里恢复执行。
本申请提出的高性能计算集群的控制方法,可以方便集群用户或者管理员进一步控制集群作业在计算集群中节点的迁移,通过对潜在故障节点上作业的迁移可以降低作业失败的风险,还可以通过合适的迁移提高集群利用率,同时配合机柜节点等措施可以降低整个集群的功耗。
本申请上述实施例中,调度节点包括调度器、运行队列和待调度队列,在调度节点发送迁移信息至第一计算节点,该方法还包括:调度器接收第一计算节点反馈的转储结果,其中,转储结果用于表征目标进程镜像是否转储成功;在转储结果为目标进程转储成功的情况下,调度器将目标作业的作业状态更新为迁移状态,并将目标作业从运行队列移动至待调度队列,其中,运行队列用于存储作业状态为运行中的作业,待调度队列用于存储作业状态不为运行中的作业;调度器输出第一提示信息,其中,第一提示信息用于提示目标作业迁移成功。
上述的调度器(Scheduler)用于根据计算节点反馈的转储结果执行对作业进行移动。
上述的作业状态用于表示目标作业在第一计算节点中正在执行。
在一种可选的实施例中,调度器可以根据第一计算节点反馈的转储结果确定目标进程镜像是否转储成功,在转储结果为目标进程镜像转储成功的情况下,调度器可以将目标作业的作业状态更新为迁移状态,从而可以结束目标作业的运行,调度器可以执行将目标作业从运行队列移动到待调度队列的操作,在调度器输出第一提示信息的情况下,则说明目标作业迁移成功。
在另一种可选的实施例中,调度器将目标作业的作业状态更新为迁移状态之后,可以将更新状态的相关信息存储在目标作业对应的调度数据库中。
本申请上述实施例中,迁移状态包括:迁移完成和迁移中,调度器将目标作业的作业状态更新为迁移状态,包括:调度器获取目标进程占用的内存量,以及预设存储设备对应的存储速度;调度器基于内存量和存储速度,将作业状态更新为迁移完成或迁移中。
在一种可选的实施例中,转储过程时间跟作业进程占用的内存大小和存储的写入速度有关,对于占用内存比较大的作业需要的时间比较长,因此,调度器可以获取目标进程占用的内存量以及预设存储设备对应的存储速度,根据内存量和存储数据确定迁移完成所需要的时间,以便根据迁移时间将作业状态更新为迁移完成或者迁移中。
本申请上述实施例中,调度器基于内存量和存储速度,将作业状态更新为迁移完成或迁移中,包括:在内存量大于预设内存量,且存储速度小于预设速度的情况下,调度器将作业状态更新为迁移中;在内存量小于或等于预设内存量,或存储速度大于或等于预设速度的情况下,调度器将作业状态更新为迁移完成。
上述的预设内存量可以为根据预设存储设备的内存预先设置的内存量,预设内存量还可以根据实际情况进行设置。
上述的预设速度可以根据预设存储设备的存储速度预先设置的速度,预设速度还可以根据实际情况进行设置。
在一种可选的实施例中,在内存量大于预设内存量,且存储速度小于预设速度的情况下,说明目标作业的目标进程还未迁移完成,因此内存量较大,且速度较小,此时可以将作业状态更新为迁移中;在内存量小于或等于预设内存量,并且存储速度大于或等于预设速度的情况下,说明目标作业的目标进程已经迁移完成,因此预设存储设备的内存量较小,速度可以较大,此时可以将作业状态更新为迁移完成;在内存量小于或等于预设存储量,并且存储速度小于预设速度的情况下,说明目标作业的目标进程已经迁移完成,因此,预设存储设备的内存量较小,速度可以较小,此时可以将作业状态更新为迁移完成。
在另一种可选的实施例中,对于迁移过程中的作业状态可以通过不同的标识进行标记,从而便于调度器对作业状态的更新。
本申请上述实施例中,在第一计算节点为多个的情况下,该方法还包括:在至少一个第一计算节点的转储结果为目标进程转储失败的情况下,调度器确定多个第一计算节点中的第二计算节点,其中,第二计算节点的转储结果为目标进程转储成功;调度器发送恢复运行请求至第二计算节点,其中,恢复运行请求用于请求第二计算节点继续运行目标进程;调度器输出第二提示信息,其中,第二提示信息用于提示目标作业迁移失败。
上述的第二提示信息的提示方式不限于文字、语音、图像等,可以根据实际需求确定第二提示信息的提示方式。
在一种可选的实施例中,在至少一个第一计算节点的转储结果为目标进程转储失败的情况下,调度器可以确定出多个第一计算节点中的第二计算节点,以便于发送恢复运行请求至第二计算节点,可以避免第二计算节点受到迁移失败的影响,使得第二计算节点可以继续运行目标进程。
本申请上述实施例中,在调度节点发送迁移信息至第一计算节点之后,该方法还包括:在目标作业满足恢复条件,或接收到调度请求的情况下,调度节点从高性能计算集群中确定第三计算节点,其中,调度请求用于将目标作业调度至第三计算节点;调度节点发送恢复信息至第三计算节点,其中,恢复信息用于控制第三计算节点从预设存储设备中读取目标进程,并运行目标进程。
上述的恢复条件可以为预先设置的条件,其中,可以在调度算法中设置该恢复条件,但不限于此。
可以增加计算节点的检查点-重启服务的通信和调用过程,将已做完检查点的作业调度回等待队列并设置为新的状态,并设置重新调度回计算节点的恢复条件,当条件满足时恢复作业执行。
上述的调度请求可以由集群管理员触发作业进行检查点操作生成。
上述的第三计算节点可以为集群管理员指定的新计算节点列表的计算节点,还可以为调度算法算出来的新计算节点列表的计算节点。
在一种可选的实施例中,调度器在接收到调度请求之后,可以从高性能计算集群中确定出第三计算节点,可以通过调用第一预设接口从预设存储设备中读取目标进程,以便于恢复目标进程在第三计算节点上的运行。
本申请上述实施例中,调度节点从高性能计算集群中确定第三计算节点,包括:在目标作业满足恢复条件的情况下,调度节点基于调度算法从高性能计算集群中确定第三计算节点,其中,所述调度算法用于为所述目标作业分配所述第三计算节点的目标资源,以使所述目标作业由所述目标资源执行;在接收到调度请求的情况下,调度节点从高性能计算集群中确定调度请求对应的计算节点,得到第三计算节点。
可以通过集群现有的调度算法重新确定出第三计算节点,并为第三计算节点分配资源,以使得目标作业可以由目标资源执行。
上述的调度算法可以用于确定检查点-重启服务的通信和调用过程,可以将已做完检查点的作业调度回等待队列并设置为新的状态,并设置重新调度回计算节点的条件,当条件满足时恢复作业执行,调度算法还可以更新作业和所在的计算节点列表和对应的进程ID。
在一种可选的实施例中,可以根据调度算法算出新计算节点列表中的计算节点,以便于确定该计算节点为第三计算节点。
本申请上述实施例中,调度节点包括调度器、运行队列和待调度队列,在调度节点发送恢复信息至第三计算节点之后,该方法还包括:调度器接收第三计算节点反馈的恢复结果,其中,恢复结果用于表征目标进程是否恢复成功;在恢复结果为目标进程恢复成功的情况下,调度器将目标作业的作业状态更新为运行中,并将目标作业从待调度队列移动至运行队列;调度器输出第三提示信息,其中,第三提示信息用于提示目标作业恢复成功。
在一种可选的实施例中,调度器接收第三计算节点反馈的恢复结果,若恢复结果为目标进程恢复成功的情况下,调度器可以将目标作业的作业状态更新为运行中,便于确定目标作业的作业状态,此时可以将目标作业从待调度队列移动到运行队列,并且调度器可以输出第三提示信息,便于用户了解到目标作业恢复成功。
本申请上述实施例中,在第三计算节点为多个的情况下,该方法还包括:在至少一个第三计算节点的恢复结果为目标进程恢复失败的情况下,调度器确定多个第三计算节点中的第四计算节点,其中,第四计算节点的恢复结果为目标进程恢复成功;调度器发送停止运行请求至第四计算节点,其中,停止运行请求用于请求第四计算节点停止运行目标进程;调度器输出第四提示信息,其中,第四提示信息用于提示目标作业恢复失败。
上述的第四计算节点中的目标进程已经恢复成功,也即在第四计算节点中已做完恢复目标进程的动作。
在一种可选的实施例中,若多个第三计算节点的恢复结果为目标进程恢复失败,则需要确定出多个第三计算节点中目标进程恢复成功的第四计算结果,需要对该第四计算节点的目标进程进行停止运行,使得第三计算节点上的目标进程恢复状态统一,此时可以通过调度器输出第四提示信息,以便通过第四提示信息向用户提示目标作业恢复失败。
通过本申请提出的一种将作业进程检查点-重启的技术整合到HPC作业系统的方法,可以改进作业系统的调度算法和策略,使得用户提交到HPC集群里的作业能过实现用户无感知的迁移功能,从而使得HPC集群系统在运维、故障处理、集群功耗等方面获益。
实施例2
根据本申请实施例,还提供了另一种高性能计算集群的控制方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图11是根据本申请实施例2的一种高性能计算集群的控制方法的流程图,如图11所示,该方法可以包括如下步骤:
步骤S1102,第一计算节点接收调度节点发送的迁移信息。
其中,第一计算节点上运行有目标作业,迁移信息是调度节点在接收到作业迁移请求,并确定目标作业的作业状态为运行中的情况下发送的,作业迁移请求用于对目标作业进行迁移。
步骤S1104,第一计算节点基于迁移信息,将目标作业对应的目标进程镜像转储到预设存储设备中。
本申请上述实施例中,迁移信息至少包括:目标进程的进程信息和预设存储设备的存储路径,第一计算节点基于迁移信息,将目标作业对应的目标进程镜像转储到预设存储设备中,包括:第一计算节点基于进程信息,确定第一计算节点上是否存在目标进程;在第一计算节点上存在目标进程的情况下,第一计算节点基于存储路径,将目标进程镜像转储到预设存储设备中。
在一种可选的实施例中,第一计算节点通过第一预设接口,获取调度节点发送的迁移信息。
上述的第一预设接口可以为Job Progress CheckPoint,其中,第一预设接口的输入信息可以为作业进程ID集合、作业进程镜像存储路径,第一预设接口的返回信息可以为成功或失败,第一预设接口的动作可以为将对应进程做检查点转存储到指定的存储。
由于在计算节点上同一作业对应的进程可以能为多个,因此需要指定作业进程ID的集合,进程转储镜像可以放置在任意有效的存储中,一般为了便于迁移动作可以放在集群计算节点挂载的共享存储中,此处仅作实例不做限定。
上述的目标进程的进程信息可以为目标进程的名称、数据等。
上述的预设存储设备的存储路径可以为存储路径的路径名称、路径信息等,其中,预设存储设备的存储路径可以为持久化存储路径。
在一种可选的实施例中,第一计算节点可以通过第一预设接口获取调度节点发送的迁移信息,通过该迁移信息可以确定出目标进程的进程信息和预设存储设备的存储路径,可以根据进程信息确定出第一计算节点上是否存在目标作业的目标进程,若存在目标进程,则说明目标作业的进程没有结束,此时可以将目标进程镜像转储到预设存储设备中;若不存在目标进程,则说明目标作业的进程已经结束,此时可以不需要将目标进程镜像转储到预设存储设备中。
本申请上述实施例中,在第一计算节点基于迁移信息,将目标作业对应的目标进程镜像转储到预设存储设备中之后,该方法还包括:第三计算节点接收调度节点发送的恢复信息,其中,恢复信息是调度节点在目标作业满足恢复条件,或接收到调度请求的情况下发送的;第三计算节点从预设存储设备中读取目标进程;第三计算节点运行目标进程。
在一种可选的实施例中,:第三计算节点通过第二预设接口,获取调度节点发送的恢复信息。
上述的第二预设接口可以为Job Progress Restart,其中,第二预设接口的输入信息可以为作业镜像路径,第二预设接口的返回信息可以为成功或失败,第二预设接口的动作可以为将转储的作业镜像恢复到计算节点上。
由于在转储镜像上已保存有作业进程ID信息,因此输入信息里指定作业镜像路径即可。
在一种可选的实施例中,第三计算节点可以通过第二预设接口获取到调度节点发送的恢复信息,第三计算节点可以根据存储路径从预设存储设备中主动读取目标进程,以便于将目标作业的目标进程恢复到第三计算节点中。
本申请上述实施例中,在第三计算节点上运行目标进程,包括:第三计算节点运行目标进程,包括:第三计算节点从预设存储设备读取目标进程的进程信息;第三计算节点确定是否存在进程信息对应的进程;在确定存在进程信息对应的进程的情况下,第三计算节点停止运行目标进程;在确定不存在进程信息对应的进程的情况下,第三计算节点运行目标进程。
在目标进程恢复的过程中可能会遇到错误,例如进程ID已被占用,此时计算节点向调度节点返回失败。调度节点收到新计算节点列表上的节点检查点重启服务返回节点后,在各个计算节点列表的节点返回成功时作业恢复运行,调度器更新作业所在状态和数据库中的作业所在新节点信息;若其中存在某个计算节点恢复作业进程返回失败,调度器停止其他计算节点上已做完恢复进程,并向集群管理员返回相应信息。
在一种可选的实施例中,第三计算节点可以从预设存储设备中读取目标进程的进程信息,通过该目标进程的进程信息可以判断目标进程是否已被占用,若确定存在进程信息对应的进程的情况下,则说明目标进程已被占用,此时第三计算节点停止运行目标进程,若确定不存在进程信息对应的进程的情况下,则说明目标进程未被占用,此时第三计算节点运行目标进程。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
实施例3
根据本申请实施例,还提供了一种用于实施上述高性能计算集群的控制方法的高性能计算集群,图12是根据本申请实施例2的一种高性能计算集群的示意图,如图12所示,该高性能计算集群1200包括:计算节点1202、预设存储设备1204、调度节点1206。
其中,计算节点1202,用于运行作业;预设存储设备1204,用于存储进程;调度节点1206,与计算节点连接,用于在接收到作业迁移请求的情况下,获取目标作业的作业状态,在作业状态为运行中的情况下,确定第一计算节点,并确定第一计算节点上的目标进程,其中,作业迁移请求用于对目标作业进行迁移,其中,第一计算节点上运行有目标作业,目标进程为第一计算节点上与目标作业对应的进程;第一计算节点,与预设存储设备连接,用于将目标进程镜像存储至预设存储设备。
上述的第一计算节点可以为计算节点中目标作业所在的计算节点。
上述的预设存储设备可以用于存储一个或多个进程,其中,目标进程可以为预设存储设备中存储的与目标作业对应的进程。
通过上述实施例,计算节点,用于运行作业;预设存储设备,用于存储进程镜像;调度节点,与计算节点连接,用于在接收到作业迁移请求的情况下,获取目标作业的作业状态,在作业状态为运行中的情况下,确定第一计算节点,并确定第一计算节点上的目标进程,其中,作业迁移请求用于对目标作业进行迁移,其中,第一计算节点上运行有目标作业,目标进程为第一计算节点上与目标作业对应的进程;第一计算节点,与预设存储设备连接,用于将目标进程镜像存储至预设存储设备,实现提高高性能计算集群的可靠性的目的。容易注意到的是,在作业状态为运行中的情况下,可以检查高性能集群中的计算节点,并确定出运行有目标作业的第一计算节点,可以将第一计算节点上的目标进程镜像转储到预设存储设备中,实现在用户无感知的情况下对目标作业对应的目标进程进行转储,可以方便对潜在故障节点上的目标作业进行迁移降低作业失败的风险,从而可以提高目标作业运行的可靠性,实现了提高高性能计算集群的可靠性。进而解决了相关技术中的高性能计算集群的可靠性较低的技术问题。
需要说明的是,本申请上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
实施例4
根据本申请实施例,还提供了一种用于实施上述高性能计算集群的控制方法的高性能计算集群的控制装置,图13是根据本申请实施例4的一种高性能计算集群的控制装置示意图,如图13所示,该装置1300包括:获取模块1302、确定模块1304、发送模块1306。
其中,获取模块用于在调度节点接收到作业迁移请求的情况下,获取目标作业的作业状态,其中,作业迁移请求用于对目标作业进行迁移;确定模块用于在作业状态为运行中的情况下,通过调度节点从高性能计算集群中确定第一计算节点,并确定第一计算节点上的目标进程,其中,第一计算节点上运行有目标作业,目标进程为第一计算节点上与目标作业对应的进程;发送模块用于通过调度节点发送迁移信息至第一计算节点,其中,迁移信息用于控制第一计算节点将目标进程镜像转储到预设存储设备中。
此处需要说明的是,上述获取模块1302、确定模块1304、发送模块1306对应于实施例1中的步骤S402至步骤S406,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块或单元可以是存储在存储器(例如,存储器104)中并由一个或多个处理器(例如,处理器102a、102b,……,102n)处理的硬件组件或软件组件,上述模块也可以作为装置的一部分可以运行在实施例1提供的计算机终端10中。
本申请上述实施例中,调度节点包括调度器、运行队列和待调度队列,该装置还包括:接收模块、更新模块、输出模块。
接收模块用于通过调度器接收第一计算节点反馈的转储结果,其中,转储结果用于表征目标进程是否转储成功;更新模块用于在转储结果为目标进程转储成功的情况下,调度器将目标作业的作业状态更新为迁移状态,并将目标作业从运行队列移动至待调度队列,其中,运行队列用于存储作业状态为运行中的作业,待调度队列用于存储作业状态不为运行中的作业;输出模块用于调度器输出第一提示信息,其中,第一提示信息用于提示目标作业迁移成功。
本申请上述实施例中,迁移状态包括:迁移完成和迁移中,更新模块还用于通过调度器获取目标进程占用的内存量,以及预设存储设备对应的存储速度,更新模块还用于通过调度器基于内存量和存储速度,将作业状态更新为迁移完成或迁移中。
本申请上述实施例中,更新模块还用于在内存量大于预设内存量,且存储速度小于预设速度的情况下,通过调度器将作业状态更新为迁移中;更新模块还用于在内存量小于或等于预设内存量,且存储速度大于或等于预设速度的情况下,调度器将作业状态更新为迁移完成。
本申请上述实施例中,该装置还包括:确定模块。
其中,确定模块还用于在至少一个第一计算节点的转储结果为目标进程转储失败的情况下,调度器确定多个第一计算节点中的第二计算节点,其中,第二计算节点的转储结果为目标进程转储成功,调度器发送恢复运行请求至第二计算节点,其中,恢复运行请求用于请求第二计算节点继续运行目标进程,调度器输出第二提示信息,其中,第二提示信息用于提示目标作业迁移失败。
本申请上述实施例中,确定模块还用于在目标作业满足恢复条件,或接收到调度请求的情况下,调度节点从高性能计算集群中确定第三计算节点,其中,调度请求用于将目标作业调度至第三计算节点,调度节点发送恢复信息至第三计算节点,其中,恢复信息用于控制第三计算节点从预设存储设备中读取目标进程,并运行目标进程。
本申请上述实施例中,确定模块还用于在目标作业满足恢复条件的情况下,通过调度节点基于调度算法从高性能计算集群中确定第三计算节点,在接收到调度请求的情况下,通过调度节点基于从高性能计算集群中确定调度请求对应的计算节点,得到第三计算节点。
本申请上述实施例中,调度节点包括调度器、运行队列和待调度队列,接收模块还用于调度器接收第三计算节点反馈的恢复结果,其中,恢复结果用于表征目标进程是否恢复成功;更新模块用于在恢复结果为目标进程恢复成功的情况下,调度器将目标作业的作业状态更新为运行中,并将目标作业从待调度队列移动至运行队列;输出模块还用于调度器输出第三提示信息,其中,第三提示信息用于提示目标作业恢复成功。
本申请上述实施例中,该装置还包括:发送模块。
其中,确定模块还用于在至少一个第三计算节点的恢复结果为目标进程恢复失败的情况下,调度器确定多个第三计算节点中的第四计算节点,其中,第四计算节点的恢复结果为目标进程恢复成功;发送模块用于调度器发送停止运行请求至第四计算节点,其中,停止运行请求用于请求第四计算节点停止运行目标进程;输出模块还用于调度器输出第四提示信息,其中,第四提示信息用于提示目标作业恢复失败。
需要说明的是,本申请上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
实施例5
根据本申请实施例,还提供了一种用于实施上述高性能计算集群的控制方法的高性能计算集群的控制装置,图14是根据本申请实施例5的一种高性能计算集群的控制装置示意图,如图14所示,该装置1400包括:接收模块1402、转储模块1404。
其中,接收模块用于通过第一计算节点接收调度节点发送的迁移信息,其中,第一计算节点上运行有目标作业,迁移信息是调度节点在接收到作业迁移请求,并确定目标作业的作业状态为运行中的情况下发送的,作业迁移请求用于对目标作业进行迁移;转储模块用于第一计算节点基于迁移信息,将目标作业对应的目标进程镜像转储到预设存储设备中。
本申请上述实施例中,迁移信息至少包括:目标进程的进程信息和预设存储设备的存储路径,转储模块还用于通过第一计算节点基于进程信息,确定第一计算节点上是否存在目标进程,在第一计算节点上存在目标进程的情况下,通过第一计算节点基于存储路径,将目标进程镜像转储到预设存储设备中。
本申请上述实施例中,该装置包括:读取模块、运行模块。
其中,接收模块用于第三计算节点接收调度节点发送的恢复信息,其中,恢复信息是调度节点在目标作业满足恢复条件,或接收到调度请求的情况下发送的;读取模块用于第三计算节点从预设存储设备中读取目标进程;运行模块用于第三计算节点运行目标进程。
本申请上述实施例中,运行模块还用于第三计算节点从预设存储设备读取目标进程的进程信息,第三计算节点确定是否存在进程信息对应的进程,在确定存在进程信息对应的进程的情况下,第三计算节点停止运行目标进程,在确定不存在进程信息对应的进程的情况下,第三计算节点运行目标进程。
需要说明的是,本申请上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
实施例6
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行高性能计算集群的控制方法中以下步骤的程序代码:调度节点在接收到作业迁移请求的情况下,获取目标作业的作业状态,其中,作业迁移请求用于对目标作业进行迁移;在作业状态为运行中的情况下,调度节点从高性能计算集群中确定第一计算节点,并确定第一计算节点上的目标进程,其中,第一计算节点上运行有目标作业,目标进程为第一计算节点上与目标作业对应的进程;调度节点发送迁移信息至第一计算节点,其中,迁移信息用于控制第一计算节点将目标进程镜像转储到预设存储设备中。
可选地,图15是根据本申请实施例的一种计算机终端的结构框图。如图15所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器102、存储器104、存储控制器、以及外设接口,其中,外设接口与射频模块、音频模块和显示器连接。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的高性能计算集群的控制方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的高性能计算集群的控制方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:调度节点在接收到作业迁移请求的情况下,获取目标作业的作业状态,其中,作业迁移请求用于对目标作业进行迁移;在作业状态为运行中的情况下,调度节点从高性能计算集群中确定第一计算节点,并确定第一计算节点上的目标进程,其中,第一计算节点上运行有目标作业,目标进程为第一计算节点上与目标作业对应的进程;调度节点发送迁移信息至第一计算节点,其中,迁移信息用于控制第一计算节点将目标进程镜像转储到预设存储设备中。
可选的,上述处理器还可以执行如下步骤的程序代码:调度器接收第一计算节点反馈的转储结果,其中,转储结果用于表征目标进程是否转储成功;在转储结果为目标进程转储成功的情况下,调度器将目标作业的作业状态更新为迁移状态,并将目标作业从运行队列移动至待调度队列,其中,运行队列用于存储作业状态为运行中的作业,待调度队列用于存储作业状态不为运行中的作业;调度器输出第一提示信息,其中,第一提示信息用于提示目标作业迁移成功。
可选的,上述处理器还可以执行如下步骤的程序代码:调度器获取目标进程占用的内存量,以及预设存储设备对应的存储速度;调度器基于内存量和存储速度,将作业状态更新为迁移完成或迁移中。
可选的,上述处理器还可以执行如下步骤的程序代码:在内存量大于预设内存量,且存储速度小于预设速度的情况下,调度器将作业状态更新为迁移中;在内存量小于或等于预设内存量,且存储速度大于或等于预设速度的情况下,调度器将作业状态更新为迁移完成。
可选的,上述处理器还可以执行如下步骤的程序代码:在目标作业满足恢复条件,或接收到调度请求的情况下,调度节点从高性能计算集群中确定第三计算节点,其中,调度请求用于将目标作业调度至第三计算节点;调度节点发送恢复信息至第三计算节点,其中,恢复信息用于控制第三计算节点从预设存储设备中读取目标进程,并运行目标进程。
可选的,上述处理器还可以执行如下步骤的程序代码:在目标作业满足恢复条件的情况下,调度节点基于调度算法从高性能计算集群中确定第三计算节点;在接收到调度请求的情况下,调度节点从高性能计算集群中确定调度请求对应的计算节点,得到第三计算节点。
可选的,上述处理器还可以执行如下步骤的程序代码:在目标作业满足恢复条件的情况下,基于调度算法从高性能计算集群中确定第三计算节点;在接收到调度请求的情况下,从高性能计算集群中确定调度请求对应的计算节点,得到第三计算节点。
可选的,上述处理器还可以执行如下步骤的程序代码:第三计算节点通过第二预设接口,获取调度节点发送的恢复信息,其中,恢复信息至少包括:预设存储设备的存储路径;第三计算节点基于存储路径,从预设存储设备中读取目标进程。
可选的,上述处理器还可以执行如下步骤的程序代码:第三计算节点从预设存储设备读取目标进程的进程信息;第三计算节点确定是否存在进程信息对应的进程;在确定存在进程信息对应的进程的情况下,第三计算节点停止运行目标进程;在确定不存在进程信息对应的进程的情况下,第三计算节点运行目标进程。
可选的,上述处理器还可以执行如下步骤的程序代码:调度器接收第三计算节点反馈的恢复结果,其中,恢复结果用于表征目标进程是否恢复成功;在恢复结果为目标进程恢复成功的情况下,调度器将目标作业的作业状态更新为运行中,并将目标作业从待调度队列移动至运行队列;调度器输出第三提示信息,其中,第三提示信息用于提示目标作业恢复成功。
可选的,上述处理器还可以执行如下步骤的程序代码:在至少一个第三计算节点的恢复结果为目标进程恢复失败的情况下,调度器确定多个第三计算节点中的第四计算节点,其中,第四计算节点的恢复结果为目标进程恢复成功;调度器发送停止运行请求至第四计算节点,其中,停止运行请求用于请求第四计算节点停止运行目标进程;调度器输出第四提示信息,其中,第四提示信息用于提示目标作业恢复失败。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:第一计算节点接收调度节点发送的迁移信息,其中,第一计算节点上运行有目标作业,迁移信息是调度节点在接收到作业迁移请求,并确定目标作业的作业状态为运行中的情况下发送的,作业迁移请求用于对目标作业进行迁移;第一计算节点基于迁移信息,将目标作业对应的目标进程镜像转储到预设存储设备中。
可选的,上述处理器还可以执行如下步骤的程序代码:第一计算节点基于进程信息,确定第一计算节点上是否存在目标进程;在第一计算节点上存在目标进程的情况下,第一计算节点基于存储路径,将目标进程镜像转储到预设存储设备中。
可选的,上述处理器还可以执行如下步骤的程序代码:第三计算节点接收调度节点发送的恢复信息,其中,恢复信息是调度节点在目标作业满足恢复条件,或接收到调度请求的情况下发送的;第三计算节点从预设存储设备中读取目标进程;第三计算节点运行目标进程。
可选的,上述处理器还可以执行如下步骤的程序代码:第三计算节点从预设存储设备读取目标进程的进程信息;第三计算节点确定是否存在进程信息对应的进程;在确定存在进程信息对应的进程的情况下,第三计算节点停止运行目标进程;在确定不存在进程信息对应的进程的情况下,第三计算节点运行目标进程。
采用本申请实施例,首先调度节点在接收到作业迁移请求的情况下,获取目标作业的作业状态,其中,作业迁移请求用于对目标作业进行迁移;在作业状态为运行中的情况下,调度节点从高性能计算集群中确定第一计算节点,并确定第一计算节点上的目标进程,其中,第一计算节点上运行有目标作业,目标进程为第一计算节点上与目标作业对应的进程;调度节点发送迁移信息至第一计算节点,其中,迁移信息用于控制第一计算节点将目标进程镜像转储到预设存储设备中,实现提高高性能计算集群的可靠性的目的。容易注意到的是,在作业状态为运行中的情况下,可以检查高性能集群中的计算节点,并确定出运行有目标作业的第一计算节点,可以将第一计算节点上的目标进程镜像转储到预设存储设备中,实现在用户无感知的情况下对目标作业对应的目标进程进行转储,可以方便对潜在故障节点上的目标作业进行迁移降低作业失败的风险,从而可以提高目标作业运行的可靠性,实现了提高高性能计算集群的可靠性。进而解决了相关技术中的高性能计算集群的可靠性较低的技术问题。
本领域普通技术人员可以理解,图15所示的结构仅为示意,计算机终端也可以是智能手机(如AndroID手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图15其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图15中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图15所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例7
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的高性能计算集群的控制方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:调度节点在接收到作业迁移请求的情况下,获取目标作业的作业状态,其中,作业迁移请求用于对目标作业进行迁移;在作业状态为运行中的情况下,调度节点从高性能计算集群中确定第一计算节点,并确定第一计算节点上的目标进程,其中,第一计算节点上运行有目标作业,目标进程为第一计算节点上与目标作业对应的进程;调度节点发送迁移信息至第一计算节点,其中,迁移信息用于控制第一计算节点将目标进程镜像转储到预设存储设备中。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (16)
1.一种高性能计算集群的控制方法,其特征在于,包括:
调度节点在接收到作业迁移请求的情况下,获取目标作业的作业状态,其中,所述作业迁移请求用于对所述目标作业进行迁移;
在所述作业状态为运行中的情况下,所述调度节点从高性能计算集群中确定第一计算节点,并确定所述第一计算节点上的目标进程,其中,所述第一计算节点上运行有所述目标作业,所述目标进程为所述第一计算节点上与所述目标作业对应的进程;
所述调度节点发送迁移信息至所述第一计算节点,其中,所述迁移信息用于控制所述第一计算节点将所述目标进程镜像转储到预设存储设备中。
2.根据权利要求1所述的方法,其特征在于,所述调度节点包括调度器、运行队列和待调度队列,在所述调度节点发送迁移信息至所述第一计算节点之后,所述方法还包括:
所述调度器接收所述第一计算节点反馈的转储结果,其中,所述转储结果用于表征所述目标进程镜像是否转储成功;
在所述转储结果为所述目标进程转储成功的情况下,所述调度器将所述目标作业的作业状态更新为迁移状态,并将所述目标作业从所述运行队列移动至所述待调度队列,其中,所述运行队列用于存储作业状态为运行中的作业,所述待调度队列用于存储作业状态不为运行中的作业;
所述调度器输出第一提示信息,其中,所述第一提示信息用于提示所述目标作业迁移成功。
3.根据权利要求2所述的方法,其特征在于,所述迁移状态包括:迁移完成和迁移中,所述调度器将所述目标作业的作业状态更新为迁移状态,包括:
所述调度器获取所述目标进程占用的内存量,以及所述预设存储设备对应的存储速度;
所述调度器基于所述内存量和所述存储速度,将所述作业状态更新为所述迁移完成或所述迁移中。
4.根据权利要求3所述的方法,其特征在于,所述调度器基于所述内存量和所述存储速度,确定所述作业状态更新为所述迁移完成或所述迁移中,包括:
在所述内存量大于预设内存量,且所述存储速度小于预设速度的情况下,所述调度器将所述作业状态更新为迁移中;
在所述内存量小于或等于所述预设内存量,或所述存储速度大于或等于所述预设速度的情况下,所述调度器将所述作业状态更新为所述迁移完成。
5.根据权利要求2所述的方法,其特征在于,在所述第一计算节点为多个的情况下,所述方法还包括:
在至少一个所述第一计算节点的所述转储结果为所述目标进程镜像转储失败的情况下,所述调度器确定多个所述第一计算节点中的第二计算节点,其中,所述第二计算节点的所述转储结果为所述目标进程转储成功;
所述调度器发送恢复运行请求至所述第二计算节点,其中,所述恢复运行请求用于请求所述第二计算节点继续运行所述目标进程;
所述调度器输出第二提示信息,其中,所述第二提示信息用于提示所述目标作业迁移失败。
6.根据权利要求1所述的方法,其特征在于,在所述调度节点发送迁移信息至所述第一计算节点之后,所述方法还包括:
在所述目标作业满足恢复条件,或接收到调度请求的情况下,所述调度节点从所述高性能计算集群中确定第三计算节点,其中,所述调度请求用于将所述目标作业调度至所述第三计算节点;
所述调度节点发送恢复信息至所述第三计算节点,其中,所述恢复信息用于控制所述第三计算节点从所述预设存储设备中读取所述目标进程,并运行所述目标进程。
7.根据权利要求6所述的方法,其特征在于,所述调度节点从所述高性能计算集群中确定第三计算节点,包括:
在所述目标作业满足所述恢复条件的情况下,所述调度节点基于调度算法从所述高性能计算集群中确定所述第三计算节点,其中,所述调度算法用于为所述目标作业分配所述第三计算节点的目标资源,以使所述目标作业由所述目标资源执行;
在接收到所述调度请求的情况下,所述调度节点从所述高性能计算集群中确定所述调度请求对应的计算节点,得到所述第三计算节点。
8.根据权利要求6所述的方法,其特征在于,所述调度节点包括调度器、运行队列和待调度队列,在所述调度节点发送恢复信息至所述第三计算节点之后,所述方法还包括:
所述调度器接收所述第三计算节点反馈的恢复结果,其中,所述恢复结果用于表征所述目标进程是否恢复成功;
在所述恢复结果为所述目标进程恢复成功的情况下,所述调度器将所述目标作业的作业状态更新为运行中,并将所述目标作业从所述待调度队列移动至所述运行队列;
所述调度器输出第三提示信息,其中,所述第三提示信息用于提示所述目标作业恢复成功。
9.根据权利要求8所述的方法,其特征在于,在所述第三计算节点为多个的情况下,所述方法还包括:
在至少一个所述第三计算节点的所述恢复结果为所述目标进程恢复失败的情况下,所述调度器确定多个所述第三计算节点中的第四计算节点,其中,所述第四计算节点的所述恢复结果为所述目标进程恢复成功;
所述调度器发送停止运行请求至所述第四计算节点,其中,所述停止运行请求用于请求所述第四计算节点停止运行所述目标进程;
所述调度器输出第四提示信息,其中,所述第四提示信息用于提示所述目标作业恢复失败。
10.一种高性能计算集群的控制方法,其特征在于,包括:
第一计算节点接收调度节点发送的迁移信息,其中,所述第一计算节点上运行有目标作业,所述迁移信息是所述调度节点在接收到作业迁移请求,并确定所述目标作业的作业状态为运行中的情况下发送的,所述作业迁移请求用于对所述目标作业进行迁移;
所述第一计算节点基于所述迁移信息,将所述目标作业对应的目标进程镜像转储到预设存储设备中。
11.根据权利要求10所述的方法,其特征在于,所述迁移信息至少包括:所述目标进程的进程信息和所述预设存储设备的存储路径,所述第一计算节点基于所述迁移信息,将所述目标作业对应的目标进程镜像转储到预设存储设备中,包括:
所述第一计算节点基于所述进程信息,确定所述第一计算节点上是否存在所述目标进程;
在所述第一计算节点上存在所述目标进程的情况下,所述第一计算节点基于所述存储路径,将所述目标进程镜像转储到预设存储设备中。
12.根据权利要求10所述的方法,其特征在于,在所述第一计算节点基于所述迁移信息,将所述目标作业对应的目标进程镜像转储到预设存储设备中之后,所述方法还包括:
第三计算节点接收所述调度节点发送的恢复信息,其中,所述恢复信息是所述调度节点在所述目标作业满足恢复条件,或接收到调度请求的情况下发送的;
所述第三计算节点从所述预设存储设备中读取所述目标进程;
所述第三计算节点运行所述目标进程。
13.根据权利要求12所述的方法,其特征在于,所述第三计算节点运行所述目标进程,包括:
所述第三计算节点从所述预设存储设备读取所述目标进程的进程信息;
所述第三计算节点确定是否存在所述进程信息对应的进程;
在确定存在所述进程信息对应的进程的情况下,所述第三计算节点停止运行所述目标进程;
在确定不存在所述进程信息对应的进程的情况下,所述第三计算节点运行所述目标进程。
14.一种高性能计算集群,其特征在于,包括:
计算节点,用于运行作业;
预设存储设备,用于存储进程镜像;
调度节点,与所述计算节点连接,用于在接收到作业迁移请求的情况下,获取目标作业的作业状态,在所述作业状态为运行中的情况下,确定第一计算节点,并确定所述第一计算节点上的目标进程,其中,所述作业迁移请求用于对所述目标作业进行迁移,其中,所述第一计算节点上运行有所述目标作业,所述目标进程为所述第一计算节点上与所述目标作业对应的进程;
所述第一计算节点,与所述预设存储设备连接,用于将所述目标进程镜像存储至所述预设存储设备。
15.一种电子设备,其特征在于,包括:
存储器,存储有可执行程序;
处理器,用于运行所述程序,其中,所述程序运行时执行权利要求1至13中任意一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的可执行程序,其中,在所述可执行程序运行时控制所述存储介质所在设备执行权利要求1至13中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310441527.7A CN116501469A (zh) | 2023-04-13 | 2023-04-13 | 高性能计算集群的控制方法、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310441527.7A CN116501469A (zh) | 2023-04-13 | 2023-04-13 | 高性能计算集群的控制方法、电子设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116501469A true CN116501469A (zh) | 2023-07-28 |
Family
ID=87322400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310441527.7A Pending CN116501469A (zh) | 2023-04-13 | 2023-04-13 | 高性能计算集群的控制方法、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501469A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290075A (zh) * | 2023-11-23 | 2023-12-26 | 苏州元脑智能科技有限公司 | 进程迁移方法、系统、装置、通信设备及存储介质 |
-
2023
- 2023-04-13 CN CN202310441527.7A patent/CN116501469A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290075A (zh) * | 2023-11-23 | 2023-12-26 | 苏州元脑智能科技有限公司 | 进程迁移方法、系统、装置、通信设备及存储介质 |
CN117290075B (zh) * | 2023-11-23 | 2024-02-27 | 苏州元脑智能科技有限公司 | 进程迁移方法、系统、装置、通信设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109729143B (zh) | 在终端设备上部署基于网络的云平台 | |
CN111338774B (zh) | 分布式定时任务调度系统及计算装置 | |
EP2946293B1 (en) | Healing cloud services during upgrades | |
KR101970839B1 (ko) | 서비스의 2차 위치에서의 작업의 재생 기법 | |
CN112104723B (zh) | 一种多集群的数据处理系统及方法 | |
US10404579B1 (en) | Virtual machine instance migration using a hypervisor | |
US20190108079A1 (en) | Remote Procedure Call Method for Network Device and Network Device | |
CN106528327B (zh) | 一种数据处理方法以及备份服务器 | |
CN111212116A (zh) | 一种基于容器云的高性能计算集群创建方法和系统 | |
CN106559441B (zh) | 一种基于云计算服务的虚拟机监控方法、装置及系统 | |
CN111641515B (zh) | Vnf的生命周期管理方法及装置 | |
CN104350466A (zh) | 虚拟机映像写租赁 | |
CN116501469A (zh) | 高性能计算集群的控制方法、电子设备以及存储介质 | |
CN105847231A (zh) | 服务发布方法、装置及系统 | |
CN114942845A (zh) | 跨集群资源调度方法及装置 | |
CN102411511B (zh) | 用于服务升级的数据迁移 | |
CN115292003A (zh) | 服务器故障恢复方法、装置、电子设备及存储介质 | |
US10887382B2 (en) | Methods, apparatuses and systems for cloud-based disaster recovery | |
US11689415B2 (en) | Creating a highly-available private cloud gateway based on a two-node hyperconverged infrastructure cluster with a self-hosted hypervisor management system | |
CN107168774B (zh) | 一种基于本地存储的虚拟机迁移方法及系统 | |
CN106550002B (zh) | 一种paas云托管系统及方法 | |
US11178221B2 (en) | Methods, apparatuses and systems for cloud-based disaster recovery | |
US11269615B2 (en) | Automatically orchestrating deployments of software-defined storage stacks | |
CN111045778B (zh) | 一种虚拟机的创建方法、装置、服务器及存储介质 | |
CN110874256B (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 |