CN112631693B - 运行时计算资源动态扩展方法 - Google Patents
运行时计算资源动态扩展方法 Download PDFInfo
- Publication number
- CN112631693B CN112631693B CN201910903881.0A CN201910903881A CN112631693B CN 112631693 B CN112631693 B CN 112631693B CN 201910903881 A CN201910903881 A CN 201910903881A CN 112631693 B CN112631693 B CN 112631693B
- Authority
- CN
- China
- Prior art keywords
- node
- new
- original
- computing resource
- task
- 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
Images
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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- 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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种运行时计算资源动态扩展方法,发送资源扩展升级命令给正在运行的原课题;原节点接到升级信号后,进行通信环境清理;等待新进计算资源进行二次通信环境重构通信;新节点由作业管理启动程序,进入动态任务划分区域中;判断为资源升级新节点后,新节点进行通信环境清理;原节点与新节点进行二次通信环境重构;新节点按照动态任务划分规则自动进行分区,选取分区主节点,由分区主节点向全局主节点申请任务;全局主节点在接到原分区和新分区主节点的任务申请后,向原计算资源节点和新计算资源节点均匀分配任务,课题继续正常运行。本发明解决资源调整后的通信环境重构问题,在不中断已运行课题的基础上将空闲的计算资源分配给该课题,并动态分配未完成的任务,达到计算资源的最大化利用。
Description
技术领域
本发明属于运行时***领域,尤其涉及一种运行时计算资源动态扩展方法。
背景技术
高性能计算***为众多领域的大规模并行应用的解算提供了可能,通常情况下,高性能计算***的计算资源是被多道应用课题共享的,每一个应用课题的运行规模不同,运行时间也有差异,常常存在某些应用课题结束运行、计算资源闲置,而某些应用课题还需要运行很长时间的情况。可否利用闲置的计算资源加速正在运行的应用课题成为亟待解决的技术问题。
任务并行类应用课题是将任务池中的任务分配给多个计算资源并行完成,如果任务之间有相关性,则动态增加新的计算资源可能会破坏任务映射关系,影响程序的正常运行;如果任务之间没有相关性,则对计算资源的规模和形状不敏感,可以对已有任务进行动态划分,可以考虑利用新的闲置资源加速应用的完成。
许多大规模任务并行类应用需要大量的计算资源和较长的计算时间,如果有新的计算资源可以利用,往往采取的方案为等待断点文件更新、中断正在运行的课题、整合资源后重新提交课题,这不仅给用户带来一定的负担,而且会造成一定时间内(等待断点文件更新期间)新计算资源的闲置浪费。
发明内容
本发明目的在于提供一种运行时计算资源动态扩展方法,以解决资源调整后的通信环境重构问题,在不中断已运行课题的基础上将空闲的计算资源分配给该课题,并动态分配未完成的任务,在保证课题运行结果正确性和完备性的基础上达到计算资源的最大化利用。
为达到上述目的,本发明采用的技术方案是:一种运行时计算资源动态扩展方法,包括以下步骤,
S1、发送资源扩展升级命令给正在正常运行的原课题;
S2、原课题所有原计算资源节点与新计算资源节点同时收到资源扩展升级命令后,分别进行如下步骤:
a、原课题所有原计算资源节点接到所述资源扩展升级命令后进行如下步骤,
a1、进行通信环境清理,释放相关环境变量;
a2、等待新进来的计算资源一起进行二次通信环境初始化,重构通信环境;
a3、通信环境初始化后,原计算资源节点更新动态任务划分信息,按动态任务划分的规则将新进来的新计算资源节点加入动态任务划分区域中;
b、新计算资源节点收到资源扩展升级命令,新计算资源节点由作业管理来启动任务,分别进行如下步骤,
b1、新计算资源节点启动程序,进入动态任务划分区域中;
b2、新计算资源节点进行通信环境清理;
b3、与原计算资源节点一起进行二次通信环境初始化和重构;
b4、按照动态任务划分规则自动进行分区,新计算资源节点自动分区成为动态任务划分的新的一部分进程区,并选取某一新计算资源节点作为新的分区主节点,由所述分区主节点向原计算资源节点中的全局主节点申请任务;
S3、原计算资源的全局主节点在接到原分区主节点和新分区主节点的申请任务后,向原计算资源节点和新计算资源节点均匀分配任务,课题继续正常运行。
上述技术方案中进一步改进的技术方案如下:
1. 上述方案中,所述动态任务划分能用于跨语言消息通信标准的消息库中
2. 上述方案中,所述跨语言消息通信标准的消息库为MPICH和Open MPI。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
1)本发明运行时计算资源动态扩展方法,解决资源调整后的通信环境重构问题,在不中断已运行课题的基础上将空闲的计算资源分配给该课题,并动态分配未完成的任务,在保证课题运行结果正确性和完备性的基础上达到计算资源的最大化利用。
2)本发明运行时计算资源动态扩展方法,对用户透明,用户只需要键入资源升级命令,告诉运行时***运行的作业可以进行资源的动态扩展,其他的处理都由运行时***自动完成。
3)本发明运行时计算资源动态扩展方法,有效利用新的空闲计算资源,加速了运行中课题的解算效率。
附图说明
附图1为本发明的流程图。
具体实施方式
下面结合实施例对本发明作进一步描述:
实施例:如图1所示,一种运行时计算资源动态扩展方法,包括以下步骤,
S1、发送资源扩展升级命令给正在正常运行的原课题;
S2、原课题所有原计算资源节点与新计算资源节点同时收到资源扩展升级命令后,分别进行如下步骤:
a、原课题所有原计算资源节点接到所述资源扩展升级命令后进行如下步骤,
a1、进行通信环境清理,释放相关环境变量;
a2、等待新进来的计算资源一起进行二次通信环境初始化,重构通信环境;
a3、通信环境初始化后,原计算资源节点更新动态任务划分信息,按动态任务划分的规则将新进来的新计算资源节点加入动态任务划分区域中;
b、新计算资源节点收到资源扩展升级命令,新计算资源节点由作业管理来启动任务,分别进行如下步骤,
b1、新计算资源节点启动程序,进入动态任务划分区域中;
b2、新计算资源节点进行通信环境清理;
b3、与原计算资源节点一起进行二次通信环境初始化和重构;
b4、按照动态任务划分规则自动进行分区,新计算资源节点自动分区成为动态任务划分的新的一部分进程区,并选取某一新计算资源节点作为新的分区主节点,由所述分区主节点向原计算资源节点中的全局主节点申请任务;
S3、原计算资源的全局主节点在接到原分区主节点和新分区主节点的申请任务后,向原计算资源节点和新计算资源节点均匀分配任务,课题继续正常运行。
所述动态任务划分能用于跨语言消息通信标准的消息库中。
所述跨语言消息通信标准的消息库为MPICH和Open MPI。
实施例进一步解释如下:
本发明中,计算资源动态扩展的定义为:对于任务并行类的应用,而且任务之间没有相关性的课题,在不改变原课题运行状态的情况下,将空闲的计算资源扩展进入正在运行的课题,扩展完成后会为所有计算资源动态分配未完成的任务,新老资源共同完成所有剩余任务,达到合理利用计算资源的目的。即本发明的运行时计算资源动态扩展方法要求必须是任务并行类的应用,而且任务之间没有相关性,这样就会在运行的任意时刻对计算资源的规模和形状都没有任何要求,所以才能在运行时增加计算资源提升解算效率。
计算资源动态扩展升级过程如下,在有空闲计算资源的情况下,用户只需键入资源扩展升级命令信号给正在运行的原课题。其中,资源扩展升级命令由作业管理实现,主要包括两部分内容:(1)新的计算资源开始运行与已有计算资源相同的目标码;(2)发送信号给原计算资源与新计算资源。
原课题所有原计算资源节点接到资源扩展升级命令信号后进行如下操作:(1)进行通信环境清理,释放相关环境变量;(2)等待新进的计算资源一起进行二次通信环境初始化,重构通信环境;(3)通信环境初始化后,原计算资源节点更新动态任务划分信息,按动态任务划分的规则将新进来的新计算资源节点加入动态任务划分区域中。
新计算资源节点收到资源扩展升级命令,新计算资源节点由作业管理来启动任务,新计算资源节点启动任务,进入动态任务划分区域中。通过环境变量判断点为新计算资源节点后进行通信环境清理,然后与原计算资源节点一起进行通信环境重构,重构完成后,原计算资源节点与新计算资源节点可以进行正常通信,新计算资源节点按照动态任务划分规则自动分区成为动态任务划分的新的区域,并选取某一新的计算资源节点(一般为该分区第一个节点)作为新的分区主节点,由该分区主节点向原计算资源节点中的全局主节点申请任务; 原计算资源的全局主节点在接到原分区主节点和新分区主节点的任务申请后,向原计算资源节点和新计算资源节点均匀分配任务,课题继续正常运行。
上述原计算资源节点接到资源扩展升级命令信号进行的操作步骤与新计算资源节点收到资源扩展升级命令后信号进行的操作步骤是同时进行的,不分先后。
本发明中,原计算资源节点和新计算资源节点的通信环境需要重构,使原计算资源节点和新计算资源节点的通信环境一致。其中,原计算资源节点在接收到用户发起的升级命令后,会释放已经建立的通信域以及一些相关的全局信息,然后等待新计算资源节点。在用户发起升级命令后,所有新计算资源节点会运行该课题,当新计算资源节点进入动态任务划分函数后,函数判断这些点为新计算资源节点,随后这些点会同原计算资源节点一样释放已经建立的通信域,以及一些相关的全局信息。然后,新计算资源节点和原计算资源节点一起进行通信域的重构和全局信息的更新;重构完成后,按照动态任务划分规则自动进行分区,由分区主节点向全局主节点申请任务,全局主节点接到申请任务后,向新计算资源节点和原计算资源节点均匀分配任务,原课题继续正常运行。由此可见,计算资源动态扩展技术可以在不中断原课题的情况下将新的可利用资源有效利用起来,大大提升了应用课题的解算效率。
本发明可在语言消息通信标准((Message Passing Interface ,MPI)的消息库(MPICH、Open MPI)中基于动态任务划分实现。
采用一种运行时计算资源动态扩展方法时,其解决了可否利用闲置的计算资源加速正在运行的应用课题的问题。计算资源动态扩展技术对用户透明,用户只需要键入资源升级命令,告诉运行时***运行的作业可以进行资源的动态扩展,其他的处理都由运行时***自动完成;有效利用新的空闲计算资源,加速了运行中课题的解算效率。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (3)
1.一种运行时计算资源动态扩展方法,其特征在于:包括以下步骤,
S1、发送资源扩展升级命令给正在正常运行的原课题;
S2、原课题所有原计算资源节点与新计算资源节点同时收到资源扩展升级命令后,分别进行如下步骤:
a、原课题所有原计算资源节点接到所述资源扩展升级命令后进行如下步骤,
a1、进行通信环境清理,释放相关环境变量;
a2、等待新进来的计算资源一起进行二次通信环境初始化,重构通信环境;
a3、通信环境初始化后,原计算资源节点更新动态任务划分信息,按动态任务划分的规则将新进来的新计算资源节点加入动态任务划分区域中;
b、新计算资源节点收到资源扩展升级命令,新计算资源节点由作业管理来启动任务,分别进行如下步骤,
b1、新计算资源节点启动程序,进入动态任务划分区域中;
b2、新计算资源节点进行通信环境清理;
b3、与原计算资源节点一起进行二次通信环境初始化和重构;
b4、按照动态任务划分规则自动进行分区,新计算资源节点自动分区成为动态任务划分的新的一部分进程区,并选取某一新计算资源节点作为新的分区主节点,由所述分区主节点向原计算资源节点中的全局主节点申请任务;
S3、原计算资源的全局主节点在接到原分区主节点和新分区主节点的申请任务后,向原计算资源节点和新计算资源节点均匀分配任务,课题继续正常运行。
2.根据权利要求1所述的运行时计算资源动态扩展方法,其特征在于:所述动态任务划分能用于跨语言消息通信标准的消息库中。
3.根据权利要求2所述的运行时计算资源动态扩展方法,其特征在于:所述跨语言消息通信标准的消息库为MPICH和Open MPI。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910903881.0A CN112631693B (zh) | 2019-09-24 | 2019-09-24 | 运行时计算资源动态扩展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910903881.0A CN112631693B (zh) | 2019-09-24 | 2019-09-24 | 运行时计算资源动态扩展方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112631693A CN112631693A (zh) | 2021-04-09 |
CN112631693B true CN112631693B (zh) | 2022-10-04 |
Family
ID=75282967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910903881.0A Active CN112631693B (zh) | 2019-09-24 | 2019-09-24 | 运行时计算资源动态扩展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112631693B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050235289A1 (en) * | 2004-03-31 | 2005-10-20 | Fabio Barillari | Method for allocating resources in a hierarchical data processing system |
CN104615500A (zh) * | 2015-02-25 | 2015-05-13 | 浪潮电子信息产业股份有限公司 | 一种服务器计算资源动态分配的方法 |
-
2019
- 2019-09-24 CN CN201910903881.0A patent/CN112631693B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050235289A1 (en) * | 2004-03-31 | 2005-10-20 | Fabio Barillari | Method for allocating resources in a hierarchical data processing system |
CN104615500A (zh) * | 2015-02-25 | 2015-05-13 | 浪潮电子信息产业股份有限公司 | 一种服务器计算资源动态分配的方法 |
Non-Patent Citations (2)
Title |
---|
《Improving Dynamic Memory Allocation on Many-Core Embedded Systems With Distributed Shared Memory》;Ioannis Koutras 等;《IEEE Embedded Systems Letters》;20160930;全文 * |
《高能物理云平台中的弹性计算资源管理机制》;程振京 等;《计算机工程与应用》;20170831;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112631693A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Malik et al. | An optimistic parallel simulation protocol for cloud computing environments | |
CN102810184A (zh) | 一种动态执行工作流的方法、装置及企业*** | |
Bellettini et al. | Mardigras: Simplified building of reachability graphs on large clusters | |
CN113672240A (zh) | 一种基于容器的多机房批量自动化部署应用的方法及*** | |
WO2023124543A1 (zh) | 用于大数据的数据处理方法和数据处理装置 | |
Miao et al. | Spotserve: Serving generative large language models on preemptible instances | |
Konas et al. | Parallel discrete event simulation on shared-memory multiprocessors | |
CN112631693B (zh) | 运行时计算资源动态扩展方法 | |
Vasilchikov | On the recursive-parallel programming for the. NET framework | |
EP1563379A1 (en) | Concurrent operation of a state machine family | |
CN111611089A (zh) | 一种基于异步的声明式的微服务调度方法 | |
CN108287762B (zh) | 分布式计算交互式模式使用资源优化方法以及计算机设备 | |
Liu et al. | BSPCloud: A hybrid distributed-memory and shared-memory programming model | |
CN109614339B (zh) | 一种基于多套测试环境的自动扩充方法 | |
Xu et al. | MANA-2.0: A future-proof design for transparent checkpointing of MPI at scale | |
CN111104320A (zh) | 一种测试方法、装置、设备及介质 | |
CN112486576B (zh) | 大规模并行作业的规模动态扩展控制方法 | |
CN113504956B (zh) | 微服务平台下公共功能的调用方法、装置、设备及介质 | |
Zou et al. | Structural finite element method based on cloud computing | |
Tran et al. | Parallel program model for distributed systems | |
Bejanyan et al. | VM BASED EVALUATION OF THE SCALABLE PARALLEL MINIMUM SPANNING TREE ALGORITHM FOR PGAS MODEL | |
CN116909547A (zh) | 基于axi框架的业务功能在线开发方法、实现方法及设备 | |
Nimbalkar et al. | Mobile agent: Load balanced process migration in Linux environments | |
Wu et al. | Meta-model evolution with self-adaptation: An empirical development approach for distributed parallel computing framework | |
JP4668367B2 (ja) | コンピュータ、並列分散システムおよび機能呼び出し方法 |
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 |