大规模并行作业的规模动态扩展控制方法与流程

    专利2022-07-08  102


    本发明涉及一种大规模并行作业的规模动态扩展控制方法,属于并行计算技术领域。



    背景技术:

    在高性能计算领域,大规模并行处理系统中主要运行多节点并行作业,由并行作业的多个任务进程协同完成课题任务的计算。当并行作业提交后,由于并行作业进程间存在较强的相关性,同时作业控制通路的建立与作业初始规模密切相关,所以并行作业的规模在作业创建时就已经固定,一般不能动态改变。大规模应用课题使用的资源越多,计算能力就越强,相同数据规模下的解算时间就越短,因此用户都迫切想要使用尽可能多的资源。当前大规模并行处理系统规模巨大,资源状态与可用资源数量经常变化,用户作业运行后,其所用的资源数量和列表就无法变化,如果系统中可用资源发生变化需要增加作业使用的计算资源时,一般只能终止作业并重新提交,以实现作业使用资源规模的变更,这种方式会影响作业运行持续性,导致机时浪费和作业资源利用率降低,同时也影响用户使用体验。

    因此,如何解决通过作业重提交方式实现资源扩展导致的影响作业运行持续性、作业资源利用率降低和影响用户体验问题,成为本领域技术人员努力的方向。



    技术实现要素:

    本发明的目的是提供一种大规模并行作业的规模动态扩展控制方法,该大规模并行作业的规模动态扩展控制方法在不终止作业的基础上通过较小的开销动态扩展作业的规模,避免了终止作业带来的计算机时损失和用户体验降低,提升了大规模并行系统的可用性与资源利用率。

    为达到上述目的,本发明采用的技术方案是:一种大规模并行作业的规模动态扩展控制方法,在大规模并行系统中,资源系统用于维护并行系统中所有计算资源的状态,作业系统用于维护并行系统中所有运行中的并行作业的状态;

    对于一道处于运行中的并行作业,当并行系统中的计算资源状态发生变化、有新的空闲计算资源对该并行作业可用时,资源系统通知作业系统可以触发该并行作业的规模动态扩展流程;

    所述规模动态扩展流程包括以下步骤:

    s1、作业系统通过资源系统提供的接口,查询并向资源系统申请分配可以用于并行作业的规模扩展的空闲计算资源集合;

    s2、作业系统在新分配的计算资源上,启动作业控制程序,建立该作业控制程序对所述新分配的计算资源上作业任务的控制与交互连接,并与并行作业原来使用的计算资源上的作业控制程序进行交互,通知原使用计算资源上的作业控制程序本并行作业的规模已经扩展;

    s3、作业系统在新分配的计算资源上,启动新的作业任务进程,并通知该作业任务进程其角色为新启动的任务进程;

    s4、在s3中新启动的任务进程进入运行状态后,该进程通知作业系统本进程可以与原来使用的计算资源上的作业任务进程合并;

    s5、作业系统收到s4中新作业任务进程启动完成、可以与原作业任务进程合并的请求后,将原作业任务的进程信息与新分配计算资源上启动的新作业任务的进程信息汇总,并构造新的作业任务进程信息表,将新的作业资源集合和新的作业任务进程信息发布至所有作业任务所在的计算资源上;

    s6、作业系统以约定信号的方式,通知作业任务进程并行作业的资源规模已经扩展,新作业任务已经启动,可以进行规模扩展处理;

    s7、用户课题的所有作业任务进程获取新的作业资源集合与作业任务进程信息列表,根据新的作业资源集合与作业任务进程信息列表,通过重建进程间通信连接、重新分配计算任务的方式,重构作业运行时环境,重构完成后,在原并行作业的运行进度基础上继续运行并行作业,并行作业的规模动态扩展完成。

    上述技术方案中进一步改进的方案如下:

    1.上述方案中,所述资源系统通过计算资源心跳、作业使用的计算资源分配与释放情况,维护并行系统中所有计算资源状态。

    2.上述方案中,由于新资源划分、其他作业退出释放资源、新资源上线原因导致系统资源状态发生变化。

    由于上述技术方案的运用,本发明与现有技术相比具有下列优点:

    本发明大规模并行作业的规模动态扩展控制方法,其能够在并行作业持续运行过程中,通过作业规模动态扩展方式,在不终止作业的基础上通过较小的开销动态扩展作业的规模,避免了终止作业带来的计算机时损失和用户体验降低,提升了大规模并行系统的可用性与资源利用率;在作业运行过程中,基于作业控制架构动态调整、作业系统与并行课题的交互及并行任务的重构,当可用计算资源增加时,通过在新资源上启动新的任务进程并在不终止原并行作业的基础上,动态将新进程加入并重构为一道完整作业并继续运行,可以有效降低传统终止作业重提交方式带来的机时浪费和作业资源利用率降低问题。

    附图说明

    附图1为本发明大规模并行作业的规模动态扩展控制方法流程示意图;

    附图2为本发明大规模并行作业的规模动态扩展控制方法流程图。

    具体实施方式

    实施例:一种大规模并行作业的规模动态扩展控制方法,基于大规模异构系统,在大规模并行系统中,资源系统用于维护并行系统中所有计算资源的状态,作业系统用于维护并行系统中所有运行中的并行作业的状态;

    对于一道处于运行中的并行作业,当并行系统中的计算资源状态发生变化、有新的空闲计算资源对该并行作业可用时,资源系统通知作业系统可以触发该并行作业的规模动态扩展流程;

    所述规模动态扩展流程包括以下步骤:

    s1、作业系统通过资源系统提供的接口,查询并向资源系统申请分配可以用于并行作业的规模扩展的空闲计算资源集合;

    s2、作业系统在新分配的计算资源上,启动作业控制程序,建立该作业控制程序对所述新分配的计算资源上作业任务的控制与交互连接,并与并行作业原来使用的计算资源上的作业控制程序进行交互,通知原使用计算资源上的作业控制程序本并行作业的规模已经扩展;

    s3、作业系统在新分配的计算资源上,启动新的作业任务进程,并通知该作业任务进程其角色为新启动的任务进程;

    s4、在s3中新启动的任务进程进入运行状态后,该进程通知作业系统本进程可以与原来使用的计算资源上的作业任务进程合并;

    s5、作业系统收到s4中新作业任务进程启动完成、可以与原作业任务进程合并的请求后,将原作业任务的进程信息与新分配计算资源上启动的新作业任务的进程信息汇总,并构造新的作业任务进程信息表,将新的作业资源集合和新的作业任务进程信息发布至所有作业任务所在的计算资源上;

    s6、作业系统以约定信号的方式,通知作业任务进程并行作业的资源规模已经扩展,新作业任务已经启动,可以进行规模扩展处理;

    s7、用户课题的所有作业任务进程获取新的作业资源集合与作业任务进程信息列表,根据新的作业资源集合与作业任务进程信息列表,通过重建进程间通信连接、重新分配计算任务的方式,重构作业运行时环境,重构完成后,在原并行作业的运行进度基础上继续运行并行作业,并行作业的规模动态扩展完成。

    上述资源系统通过计算资源心跳、作业使用的计算资源分配与释放情况,维护并行系统中所有计算资源状态。

    由于新资源划分、其他作业退出释放资源、新资源上线原因导致系统资源状态发生变化。

    实施例进一步解释如下:

    并行作业规模动态可扩展的高可用控制主要在作业运行过程中由作业系统发起和控制,并向并行课题提供任务管理交互接口以实现控制过程中作业资源与任务进程变更信息的交互,协同完成作业运行过程中使用资源规模的动态扩展。并行作业规模动态扩展处理示意图如图1所示。

    作业升级处理流程:

    1)作业系统发现有新的空闲资源可用;

    2)作业系统查询升级可用的资源集合,并通过外部接口冻结这些资源的状态,确保不再被其他课题使用;

    3)作业系统根据升级规模调整作业运行控制架构,将新加入节点纳入控制架构;

    4)作业系统在新加入计算资源上启动相应的作业任务进程;

    5)作业系统汇总并构造新的作业信息表,并将新的作业信息发布至所有任务所在的节点;

    6)在新启动任务完成初始化后,通知作业系统本任务已经可以与原任务合并;

    7)作业系统收到新任务初始化完成可以合并升级的请求后,通知原任务进程将进行作业升级控制;

    8)用户课题获取新的资源集合与用户任务进程列表,根据新的资源集合与任务进程列表重构作业运行时环境,重构完成后继续运行,升级完成。

    采用上述大规模并行作业的规模动态扩展控制方法时,其能够在并行作业持续运行过程中,通过作业规模动态扩展方式,在不终止作业的基础上通过较小的开销动态扩展作业的规模,避免了终止作业带来的计算机时损失和用户体验降低,提升了大规模并行系统的可用性与资源利用率;在作业运行过程中,基于作业控制架构动态调整、作业系统与并行课题的交互及并行任务的重构,当可用计算资源增加时,通过在新资源上启动新的任务进程并在不终止原并行作业的基础上,动态将新进程加入并重构为一道完整作业并继续运行,可以有效降低传统终止作业重提交方式带来的机时浪费和作业资源利用率降低问题。

    为了便于更好的理解本发明,下面将对本文中使用的术语进行简要的解释:

    并行计算(parallelcomputing):并行计算是指同时使用多种计算资源解决计算问题的过程,通过多节点/处理器来并发协同求解同一问题,以提高计算速度和处理能力。

    并行作业:一般指由mpi等并行语言编写,运行于并行计算机计算资源上的任务进程集合,由作业系统启动和控制,通过进程间协同完成同一问题求解。

    并行作业系统:指运行于并行计算机中,用于进行并行作业调度、任务启动、控制与回收等功能的管理控制系统。

    作业任务:指作业系统在计算资源上启动的用于用户课题计算的进程。

    上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。


    技术特征:

    1.一种大规模并行作业的规模动态扩展控制方法,其特征在于:在大规模并行系统中,资源系统用于维护并行系统中所有计算资源的状态,作业系统用于维护并行系统中所有运行中的并行作业的状态;

    对于一道处于运行中的并行作业,当并行系统中的计算资源状态发生变化、有新的空闲计算资源对该并行作业可用时,资源系统通知作业系统可以触发该并行作业的规模动态扩展流程;

    所述规模动态扩展流程包括以下步骤:

    s1、作业系统通过资源系统提供的接口,查询并向资源系统申请分配可以用于并行作业的规模扩展的空闲计算资源集合;

    s2、作业系统在新分配的计算资源上,启动作业控制程序,建立该作业控制程序对所述新分配的计算资源上作业任务的控制与交互连接,并与并行作业原来使用的计算资源上的作业控制程序进行交互,通知原使用计算资源上的作业控制程序本并行作业的规模已经扩展;

    s3、作业系统在新分配的计算资源上,启动新的作业任务进程,并通知该作业任务进程其角色为新启动的任务进程;

    s4、在s3中新启动的任务进程进入运行状态后,该进程通知作业系统本进程可以与原来使用的计算资源上的作业任务进程合并;

    s5、作业系统收到s4中新作业任务进程启动完成、可以与原作业任务进程合并的请求后,将原作业任务的进程信息与新分配计算资源上启动的新作业任务的进程信息汇总,并构造新的作业任务进程信息表,将新的作业资源集合和新的作业任务进程信息发布至所有作业任务所在的计算资源上;

    s6、作业系统以约定信号的方式,通知作业任务进程并行作业的资源规模已经扩展,新作业任务已经启动,可以进行规模扩展处理;

    s7、用户课题的所有作业任务进程获取新的作业资源集合与作业任务进程信息列表,根据新的作业资源集合与作业任务进程信息列表,通过重建进程间通信连接、重新分配计算任务的方式,重构作业运行时环境,重构完成后,在原并行作业的运行进度基础上继续运行并行作业,并行作业的规模动态扩展完成。

    2.根据权利要求1所述的大规模并行作业的规模动态扩展控制方法,其特征在于:所述资源系统通过计算资源心跳、作业使用的计算资源分配与释放情况,维护并行系统中所有计算资源状态。

    3.根据权利要求1所述的大规模并行作业的规模动态扩展控制方法,其特征在于:由于新资源划分、其他作业退出释放资源、新资源上线原因导致系统资源状态发生变化。

    技术总结
    本发明公开一种大规模并行作业的规模动态扩展控制方法,包括以下步骤:S1、申请分配可以用于并行作业的规模扩展的空闲计算资源集合;S2、在新分配的计算资源上,启动作业控制程序;S3、在新分配的计算资源上,启动新的作业任务进程;S4、通知作业系统本进程可以与原来使用的计算资源上的作业任务进程合并;S5、作业系统收到S4中请求后,将原作业任务的进程信息与新分配计算资源上启动的新作业任务的进程信息汇总;S6、作业系统通知可以进行规模扩展处理;S7、重构作业运行时环境。本发明在不终止作业的基础上通过较小的开销动态扩展作业的规模,避免了终止作业带来的计算机时损失和用户体验降低,提升了大规模并行系统的可用性与资源利用率。

    技术研发人员:宋长明;龚道永;钱宇;张宏宇;李伟东;刘沙
    受保护的技术使用者:无锡江南计算技术研究所
    技术研发日:2019.09.12
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-23205.html

    最新回复(0)