一种应用于超算集群调度的作业运行参数优化方法转让专利
申请号 : CN202111268933.5
文献号 : CN114048027B
文献日 : 2022-05-13
发明人 : 张文帅 , 李会民 , 李京
申请人 : 中国科学技术大学
摘要 :
权利要求 :
1.一种应用于超算集群调度的作业运行参数优化方法,其特征在于,包括以下步骤:S1、获取用户提交的应用作业,并获取所述应用作业对应的多组不同的作业参数配置;
所述作业参数配置包括作业执行时集群系统的环境参数、作业使用的硬件资源配置参数,以及应用自身的输入参数中的一个或者多个;
S2、根据设定的参数配置判定条件从多组作业参数配置中筛选最优参数配置;
S3、将所述最优参数配置推送给用户,或者,根据所述最优参数配置修改用户提交的应用作业的作业参数配置;
步骤S1中,所述应用作业对应的多组不同的作业参数配置包括:原初参数配置、预估参数配置和补充参数配置中的至少一项;
原初参数配置为用户原初的作业参数配置;
预估参数配置为根据应用作业所属应用类别对应的参数预估模型获得的作业参数配置;参数预估模型的输入为待运行作业的信息,输出为待运行作业对应的预估参数配置;参数预估模型由人工设置或者大数据训练获得,参数预估模型采用大数据训练获得时,其训练数据库为其对应的应用类别的历史作业数据库,所述历史作业数据库包含对应的应用类别中的应用作业实际运行时所采用的作业参数配置以及计算完成时长;
补充参数配置为将原初参数配置和预估参数配置中的至少一项作为输入代入到设定的参数异变模型获得的一组或多组作业参数配置;参数异变模型用于根据设定规则对输入的作业参数配置中的一项或者多项参数进行改变以形成新的作业参数配置并输出;或者设置参数预估模型的输出为多组作业参数配置,且参数预估模型标注输出的多组作业参数配置中最优的一组作为预估参数配置,剩余的作业参数配置记作补充参数配置;
S2具体包括以下分步骤:
将应用作业分别与原初参数配置、预估参数配置和各组补充参数配置结合,以生成相对应的测试作业,将应用作业对应的所有测试作业记作测试作业集合;利用集群中的硬件资源运行各测试作业,并记录测试作业的运行数据;测试作业包含对应的应用作业中的部分程序;测试作业占用的硬件资源与对应的应用作业所需的硬件资源全部相同或者部分相同;
当应用作业被运行时,如果其对应的测试作业集合中的测试作业已经运行完成,则根据各测试作业的运行数据结合设定的参数配置判定条件从各测试作业对应的原初参数配置、预估参数配置和补充参数配置中选择最优参数配置。
2.如权利要求1所述的应用于超算集群调度的作业运行参数优化方法,其特征在于,步骤S2中,所述参数配置判定条件为:定义根据作业参数配置运行应用作业时所占用的硬件资源的数量或者是所占用的硬件资源的固定资产总额为运行成本;
当应用作业对应的多个作业参数配置所需的运行成本相同,则定义实现最小的作业计算时长的作业参数配置为最优参数配置;
当应用作业采用两个不同的作业参数配置运行时所需的运行成本不同,结合作业参数配置对应的运行成本和并行效率从多组作业参数配置中筛选最优参数配置。
3.如权利要求2所述的应用于超算集群调度的作业运行参数优化方法,其特征在于,所述参数配置判定条件中,当应用作业采用两个不同的作业参数配置运行时所需的运行成本不同,则根据优劣判定指标Er判断两个作业参数配置中的更优选项,并结合优劣判定指标Er以两两对比的方式从应用作业对应的多组作业参数配置中筛选最优参数配置;
优劣判定指标Er的计算公式为:
其中,case‑1和case‑2为同一应用作业对应的两个不同的作业参数配置,该应用作业采用case‑1时的运行成本少于该应用作业采用case‑2时的运行成本;R1为case‑1对应的运行成本,R2为case‑2对应的运行成本;T1为case‑1对应的作业计算时长;T2为case‑2对应的作业计算时长;n为计算常数,n>1;
根据优劣判定指标Er判断两个作业参数配置中的更优选项的方式为:当Er≥m,则判断case‑2为更优选项;当Er
4.如权利要求3所述的应用于超算集群调度的作业运行参数优化方法,其特征在于,优劣判定指标Er的计算公式中作业计算时长T1、T2为作业试运行测试中所消耗的计算时间;
作业试运行测试指的是,利用集群中闲置的硬件资源运行应用作业结合作业参数配置形成的测试作业,测试作业包含对应的应用作业中的部分程序;测试作业占用的硬件资源与对应的应用作业所需的硬件资源全部相同或者部分相同;测试作业采用可被抢断机制,即测试作业运行过程中,当其占用的任一硬件资源被运行中的任一应用作业申请时,该测试作业停止运行。
5.如权利要求1所述的应用于超算集群调度的作业运行参数优化方法,其特征在于,测试作业采用集群中闲置的硬件资源运行,且测试作业采用可被抢断机制。
6.如权利要求1所述的应用于超算集群调度的作业运行参数优化方法,其特征在于,S2中,当应用作业被运行时,如果其对应的测试作业集合中的任一测试作业没有运行或者正在运行,则停止并删除该应用作业对应的测试作业集合中的测试作业,并将该应用作业对应的预估参数配置作为最优参数配置。
7.如权利要求1所述的应用于超算集群调度的作业运行参数优化方法,其特征在于,测试作业设有最大运行时长,任一测试作业的运行时长达到最大运行时长,则从运行程序删除该测试作业,并将该测试作业从其所在的测试作业集合中删除。
8.如权利要求1所述的应用于超算集群调度的作业运行参数优化方法,其特征在于,历史作业数据库还包括测试作业采用的作业配置参数及对应的计算完成时长。
说明书 :
一种应用于超算集群调度的作业运行参数优化方法
技术领域
背景技术
别的,需要指定一个至多个并行参数作为输入参数,例如所需总CPU核心数,或者在具有多
层并行结构时,每层分配的并行计算的任务数。用户可以调节这些并行参数,达到在不改变
计算结果的情况下,使计算速度显著提高。但是目前,很多软件自身无法仅依据输入文件与
系统软硬件环境便预先判断一个接近最优的并行参数。
少一次用户排队的次数。用户为了获得较好的计算速度,大约需要两倍的排队时间。这对用
户是一个非常大的不方便,降低了用户进行优化测试的积极性,同时用户能掌握的经验数
据有限,也难以获得较好的候选运行参数。此外,用户的测试作业同样消耗了用户自身的机
时资源,产生了更多的机时费用,调查显示,做这类优化调试的用户并不多。在当前的集群
作业调度系统,例如Slurm、PBS Pro、Platform LSF、或TORQUE中,用户提交一个新作业时,
系统仅会忠实的使用用户提交的并行参数进行计算,不会为用户测试速度更快的计算参
数,尤其无法自动化的优化修改具体应用的自身输入参数。特别是,当前的超算集群中的计
算软件越发趋向多层的并行结构,相应的应用的自身输入参数空间也越发复杂,超算集群
用户仅凭少量计算经验很难获得理想的运行速度,这会导致集群系统中的大量的作业处于
运行效率不佳的状态。
发明内容
群上应用作业的运行环境、运行资源与应用输入参数的进行优化,实现在不影响应用作业
计算精度的情况下提高计算效率。
参数,以及应用自身的输入参数中的一个或者多个;
并结合优劣判定指标Er以两两对比的方式从应用作业对应的多组作业参数配置中筛选最
优参数配置;
的运行成本,R2为case‑2对应的运行成本;T1为case‑1对应的作业计算时长;T2为case‑2对
应的作业计算时长;n为计算常数,n>1;
合作业参数配置形成的测试作业,测试作业包含对应的应用作业中的部分程序;测试作业
占用的硬件资源与对应的应用作业所需的硬件资源全部相同或者部分相同;测试作业采用
可被抢断机制,即测试作业运行过程中,当其占用的任一硬件资源被运行中的任一应用作
业申请时,该测试作业停止运行。
置;参数预估模型由人工设置或者大数据训练获得,参数预估模型采用大数据训练获得时,
其训练数据库为其对应的应用类别的历史作业数据库,所述历史作业数据库包含对应的应
用类别中的应用作业实际运行时所采用的作业参数配置以及计算完成时长;
输入的作业参数配置中的一项或者多项参数进行改变以形成新的作业参数配置并输出;或
者设置参数预估模型的输出为多组作业参数配置,且参数预估模型标注输出的多组作业参
数配置中最优的一组作为预估参数配置,剩余的作业参数配置记作补充参数配置。
置的硬件资源运行各测试作业,并记录测试作业的运行数据;测试作业包含对应的应用作
业中的部分程序;测试作业占用的硬件资源与对应的应用作业所需的硬件资源全部相同或
者部分相同;测试作业采用可被抢断机制;
数配置、预估参数配置和补充参数配置中选择最优参数配置。
并将该应用作业对应的预估参数配置作为最优参数配置。
优参数配置。本发明中,可通过对优化参数目标进行设置,从而实现灵活的参数优化对象,
甚至可实现对应用自身输入的参数的优化,解决了目前由于应用自身输入的参数的参数空
间复杂而无法进行优化的问题。
用户提交的应用作业的参数配置的自动优化,弥补了大多数用户不具备参数配置优化能力
的缺陷,有利于整体提高超算集群的计算效率。
数额,从而提高超算集群的硬件资源利用效率,提高超算集群整体在单位时间内完成计算
的作业数量,提高集群的经济效益,并帮助超算集群用户减少排队时间,改善用户的计算速
度体验。
的在速度性能与硬件资源利用效率上取得平衡,避免出现大幅增加计算资源却只取得很小
的计算性能提升的情况。
了对采用不同的作业参数配置的应用作业进行试运行测试,来精确估算各个参数配置下的
应用作业执行速度,为原初参数配置、预估参数配置和补充参数配置的优劣判断提供了实
际的运行数据支撑,进一步最终获得的最优参数配置的可靠。
资源让位给高优先级的其他作业即应用作业(正式作业),以便在通过测试作业进行作业参
数配置的测试的同时的同时不增加高优先级作业即应用作业的排队时间,实现在不增加高
优先级作业即应用作业的排队时间的前提下增加全集群硬件资源利用率。
本质量,有利于提高参数预估模型的质量,从而进一步提高预估参数配置的精度和可靠性。
同时也提高了采用预估参数配置作为最优参数配置时的优益,保证了集群中所有应用作业
的计算效率和硬件资源利用效率的提高。
附图说明
具体实施方式
运行时间大大小于其对应的完整运行时间,且测试作业的运行时间与对应的完整运行时间
正相关;具体实施例,假设应用作业包含千次迭代,则其对应的测试作业可简化到3次或者5
次迭代以减少测试时间;
试作业为可被抢断机制,指的是测试作业的被执行优先级低于所有应用作业即正式作业的
被执行优先级,一旦测试作业运行过程中占用的硬件资源被任一应用作业申请,则测试作
业停止运行以释放其占用的硬件资源。
ulimit参数等)等。
加速卡(如GPU)配置参数等。
作业中,其包括KPAR、NCORE、NPAR、NSIM等用于划分或聚合多种计算任务的参数,但不限于
以上所述参数。
参数预估模型的训练数据库为其对应的应用类别的历史作业数据库,所述历史作业数据库
包含对应的应用类别中的应用作业实际运行时所采用的作业参数配置以及计算完成时长。
预估参数配置,将参数预估模型输出的剩余的作业参数配置记作补充参数配置。
作业,并记录测试作业的运行数据。
预估参数配置和补充参数配置中选择最优参数配置。
数配置,则可通过程序直接修改应用作业的输入信息,以采用最优参数配置运行该应用作
业。
别对应的参数预估模型,从而保证了根据参数预估模型预估应用作业的作业参数配置的可
靠性,保证了预估参数配置的精度。
配置优化后的应用作业,其最优参数配置和对应的作业计算时长必然存入该应用作业所述
的历史作业数据库中,提高了历史作业数据库的样本质量,从而提高了参数预估模型的精
确度。
劣,从而保证最终获得的最优参数配置的精确可靠。
用的硬件资源运行。如此,本实施例中实现了在不影响应用作业运行的情况下,实现对测试
作业的运行,即实现了对应用作业对应的原初参数配置、预估参数配置和各组补充参数配
置的试运行评估,从而有利于在应用作业实际运行前可使得该应用作业实现更好的硬件资
源利用效率的作业参数配置,从而实现应用作业的参数配置的优化,提高集群的整体硬件
资源利用效率,实现计算速度和硬件资源利用效率的平衡。
施例中所需的作业参数配置设定为不影响应用作业计算精度,只影响应用作业对硬件资源
的利用效率的作业参数,例如,VASP应用作业对应的最优参数配置可包括KPAR、NCORE、
NPAR、NSIM等用于划分或聚合多种计算任务的参数。具体实施时,为了方便最优参数配置的
获得和实施,本实施例中进一步限定原初参数配置、预估参数配置和补充参数配置所包含
的参数项即参数类别均相同,但不同的参数配置中至少有一个参数项的具体设置数值或者
属性不同。即,原初参数配置、预估参数配置和所有的补充参数配置格式统一。
正在运行,则停止并删除该应用作业对应的所有测试作业的运行,并将该应用作业对应的
预估参数配置作为最优参数配置。
置、预估参数配置和各组补充参数配置进行有效对比,此时继续测试作业的运行以获取最
优参数配置也无法应用到应用作业的运行中。本实施例中,当应用作业运行时,如果其对应
的任一测试作业没有完成运行即待运行测试队列中还存在该应用作业对应的测试作业,则
将该应用作业对应的所有测试作业从待运行测试队列中删除,避免了对硬件资源的冗余占
用,进一步提高了硬件资源的利用效率,未待运行的应用作业的测试作业的运行提供了时
间和硬件资源。
所在的测试作业集合中删除。当测试作业的运行达到最大运行时长时,说明该测试作业对
应的作业参数配置效果较差,此时,及时停止该测试作业的运行,有利于避免做无用功,及
时止损;同时将该试作业从其所在的测试作业集合中删除,也避免了该测试作业影响该测
试作业集合的测试。
中,在应用作业对应的测试作业集中没有完成测试时,即无法根据测试数据对原初参数配
置、预估参数配置和补充参数配置进行客观对比时,默认预估参数配置为最优参数配置,可
靠性更高。
作业对应的作业参数配置应用到对应的应用作业中,该应用作业所需的作业计算时长,然
后测试作业的参数配置和还原后的作业计算时长用于训练参数预估模型。
业提供的作业参数配置和作业计算时长。
的样本过时对参数预估模型的不利影响。
情况,即当应用作业运行时,应用作业主动调用辅助程序查看其对应的测试作业集合中的
测试作业是否全部完成运行,如果全部完成,则由辅助程序根据测试作业的运行数据和参
数配置判定条件筛选最优参数配置以供应用作业调用;如果应用作业对应的测试作业集合
中的测试作业没有全部完成运行,则应用作业调用对应的预估参数配置进行运行。
行,一旦对应的应用作业开始运行,则该测试作业集合中的所有测试作业均停止运行并删
除,应用作业调用对应的预估参数配置进行运行;反之,如果测试作业集合的测试作业全部
运行完成后,其对应的应用作业还没有开始运行,则辅助程序根据测试作业的运行数据和
参数配置判定条件筛选最优参数配置以供应用作业调用。
置。
结合优劣判定指标Er以两两对比的方式从应用作业对应的多组作业参数配置中筛选最优
参数配置。
的运行成本,R2为case‑2对应的运行成本;T1为case‑1对应的作业计算时长;T2为case‑2对
应的作业计算时长;n为计算常数,n>1。
作业B的作业参数配置最优。
构成的作业为对应同一应用作业的测试作业,T1为case‑1构成的测试作业计算完成所消耗
的时间,T2为case‑2构成的测试作业计算完成所消耗的时间。
择case‑1或case‑2为更优选项。本领域技术人员应该知道,对于Er=m的三种判断情况为等
同技术特征。
业运行参数优化方法作进一步解释。
集群调度系统中设置有用于存储和执行应用于超算集群调度的作业运行参数优化方法的
运行时优化模块。
者输入文件所在目录、硬件资源申请信息、应用执行命令等。
判断为真时,继续步骤3;当判断为假时,跳转至针对其他应用所编写的运行时优化流程。
数。此三个典型输入参数的乘积为作业申请启动的进程数,即对应作业申请的CPU核心资
源。
可以不限于以下参数:
行任务的划分。
预估一种组合最佳的运行参数配置记作预估参数配置,将剩余的组合记作补充参数配置。
所述参数预估模型,可以是一类经验模型,或者是基于历史的VASP作业数据集合的大数据
模型,或者是两者的合并统一。
作业被设置为“可被抢断式作业”,使得其测试过程不影响其他正式作业的运行;为缩减不
必要的测试计算时长,该测试作业的INCAR输入文件中,电子步循环迭代步数上限参数NELM
被设置为5步或3步等,离子步迭代参数IBRION设置为0(不进行离子步迭代),并将LWAVE与
LCHARG均设置为“.F.”(停止波函数与电荷输出)。当该作业被分配执行时,依次测试原初参
数配置、预估参数配置和补充参数配置,以得到最优参数配置。
醒,则将测试作业所产生的最优配置参数以短消息形式推送给用户;运行时优化模块还检
查该VASP应用作业所归属的集群用户是否被设置为“同意系统优化修改其VASP作业中的输
入参数”,如被用户授权,且检测到该VASP应用作业尚未开始运行,则将该VASP应用作业中
本实施例选定三个优化目标参数NPAR、KPAR、NCORE的值根据最优参数配置进行修改。
行完成,则激活运行时优化模块,杀掉还未完成的试运行测试作业;此时,该应用作业可直
接采用原初参数配置进行运行,也可根据预估参数配置进行参数修改。
业被用户设定为二次重启执行,此时的运行参数不宜被变更;或者,当该VASP作业不含有离
子步优化等繁重计算任务时,不对它做优化。当不需要做运行参数优化时,运行时优化模块
可省略之后的优化步骤,返回并等待新的作业。
据,例如该VASP应用作业将要计算的约化K点个数NKPTS、NBANDS参数值等。约化K点个数
NKPTS和NBANDS在输入参数中均无法直接得到,但K点个数NKPTS对K点并行划分参数KPAR的
优化结果的准确性有很大影响;NBANDS参数值对NPAR的优化结果的准确性有一定影响。前
处理数据的计算非常快速,为降低资源消耗,可以通过将试运行中的VASP应用作业的电子
步数量设置为1等很少的数值,并取消VASP作业的离子步迭代,来减少计算时长,并设置一
个运行时间上限(例如10秒)。
护范围之内。
新的实施例详述。
等);也可以结合LSF以外的任何其他作业调度系统(例如但不限于Slurm、PBS等作业调度系
统)来实施;也可以在包含GPU等加速卡的硬件资源平台上实施。