CN111475297A - 一种作业柔性配置方法 - Google Patents

一种作业柔性配置方法 Download PDF

Info

Publication number
CN111475297A
CN111475297A CN202010258601.8A CN202010258601A CN111475297A CN 111475297 A CN111475297 A CN 111475297A CN 202010258601 A CN202010258601 A CN 202010258601A CN 111475297 A CN111475297 A CN 111475297A
Authority
CN
China
Prior art keywords
job
tasks
expected time
breakpoints
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.)
Granted
Application number
CN202010258601.8A
Other languages
English (en)
Other versions
CN111475297B (zh
Inventor
孟祥飞
康波
李健增
刘光明
菅晓东
雷秀丽
孙华文
马庆珍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Supercomputer Center In Tianjin
Original Assignee
National Supercomputer Center In Tianjin
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National Supercomputer Center In Tianjin filed Critical National Supercomputer Center In Tianjin
Priority to CN202010258601.8A priority Critical patent/CN111475297B/zh
Publication of CN111475297A publication Critical patent/CN111475297A/zh
Application granted granted Critical
Publication of CN111475297B publication Critical patent/CN111475297B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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 the resource being the memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

本发明涉及一种作业柔性配置方法,包括以下步骤:为作业分配超级计算机的P0个节点;计算在执行N个任务{T1,T2,...,TN}的过程中到达M个断点{B1,B2,...,BM}的对应的初始预期时间
Figure DDA0002438413230000011
计算当执行任务Tj后到达任务Tj与任务Tj+1之间的断点Bi处的实际时间
Figure DDA0002438413230000012
与初始预期时间
Figure DDA0002438413230000013
的差值
Figure DDA0002438413230000014
Figure DDA0002438413230000015
时,为剩余的N‑j个未执行任务{Tj+1,Tj+2,...,TN}分配P1个计算节点并重新计算到达剩余的M‑i个断点{Bi+1,Bi+2,...,BM}的对应的第一修正预期时间

Description

一种作业柔性配置方法
技术领域
本发明涉及一种作业柔性配置方法。
背景技术
超级计算机是指多个计算节点组合起来的能平行进行大规模计算或数据处理的计算机,也称为并行计算机,是计算机中功能最强、运算最快、存储量最大的一类,多用于国家高科技领域和尖端技术研究,是一个国家科技发展水平和综合国力的重要体现。
目前,用户向超级计算机提交作业时,需要自行指定所需的各种资源,例如运行作业所需的超级计算机的存储空间、节点数、核数等。通常,用户根据经验或者小量数据试运行的结果估计所需的资源,因此往往偏差较大。如果请求的资源不足,作业可能因超时、溢出等原因而终止,无法得到期望的结果;然而,如果请求的资源过多,用户就要为此付出额外的成本,并且浪费了宝贵的超算运算能力。因此,如何在提交作业以及作业运行时,为作业指定适量的资源,成为亟待解决的问题。
发明内容
为解决上述技术问题,本发明提供了一种作业柔性配置方法,包括以下步骤:
步骤S100,获得作业,所述作业包括N个任务{T1,T2,...,TN}和M个各自设于任务之间的断点{B1,B2,...,BM};为该作业分配超级计算机的P0个节点;计算在执行N个任务{T1,T2,...,TN}的过程中到达M个断点{B1,B2,...,BM}的对应的初始预期时间
Figure BDA0002438413220000011
其中N、M和P0均为自然数,并且M>N;
步骤S200,计算当执行任务Tj后到达任务Tj与任务Tj+1之间的断点Bi处的实际时间
Figure BDA0002438413220000012
与初始预期时间
Figure BDA0002438413220000013
的差值
Figure BDA0002438413220000014
步骤S300,当
Figure BDA0002438413220000015
时,为剩余的N-j个未执行任务{Tj+1,Tj+2,...,TN}分配P1个计算节点并重新计算到达剩余的M-i个断点{Bi+1,Bi+2,...,BM}的对应的第一修正预期时间
Figure BDA0002438413220000016
其中|Δt1|是Δt1的绝对值,TH1为设定阈值(优选不超过5)。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,将对本发明作进一步地详细描述。这种描述是通过示例而非限制的方式介绍了与本发明的原理相一致的具体实施方式,这些实施方式的描述是足够详细的,以使得本领域技术人员能够实践本发明,在不脱离本发明的范围和精神的情况下可以使用其他实施方式并且可以改变和/或替换各要素的结构。因此,不应当从限制性意义上来理解以下的详细描述。
本发明的一个实施例提供一种作业柔性配置方法,其中所述超级计算机选自天河超级计算机,尤其是TH-1、TH-1A、TH-2等天河系列超级计算机,该系列超级计算机通常以脚本文件的形式接收并执行作业,脚本文件至少提供作业提交方式、计算分区、节点数、核数、任务脚本文件绝对文件路径等参数,参考的提交形式为“yhbatch-N N1-p P1-n n1xxx.bat”,其中N1为节点数,数据类型为整型;P1为分区名称,数据类型为字符串;n1为核数,数据类型为整型;xxx.bat为任务脚本文件名,数据类型为字符串,具体而言,所述配置方法包括以下步骤:
步骤S100,通过脚本文件获得作业,所述作业包括N个任务{T1,T2,...,TN}和M个各自设于任务之间的断点{B1,B2,...,BM},还包括作业需要处理的数据,其中所述任务可以是任意合适的执行特定处理的软件或一段程序,其具有输入数据的接口并将输入数据处理后的结果作为输出数据,并且前一个任务输出的结果数据作为后一个任务的输入数据,当最后任务执行后即得到该作业的结果,也即作业执行完成;所述断点设于前N-1个任务中的一个或多个之后,作业在断点处暂时挂起,待评估作业执行进度后再继续进行下一个任务;在获得脚本文件后为该作业分配超级计算机的P0个节点和存储空间,每个节点通常包括若干个计算核心,例如4-28个核心,在天河超级计算机中,计算资源通常以节点为单位进行分配;然后在作业执行之前,计算在执行N个任务{T1,T2,...,TN}的过程中到达M个断点{B1,B2,...,BM}的对应的初始预期时间
Figure BDA0002438413220000021
以及完成作业也即全部N个任务所需的初始预期的作业运行时间
Figure BDA0002438413220000022
其中N、M和P0均为自然数,并且M>N,计算得到的初始预期时间
Figure BDA0002438413220000023
以及初始预期的作业运行时间
Figure BDA0002438413220000024
存储后在以下步骤中用于评估作业执行进度;
步骤S200,当作业提交超级计算机执行后,在任务Tj与任务Tj+1断点Bi处中断,获得作业自开始执行起到达断点Bi处的实际运行时间
Figure BDA0002438413220000025
计算实际时间
Figure BDA0002438413220000026
与相应的初始预期时间ti 0之间的差值
Figure BDA0002438413220000031
步骤S300,当
Figure BDA0002438413220000032
时,为剩余的N-j个未执行任务{Tj+1,Tj+2,...,TN}分配P1个计算节点并重新计算到达剩余的M-i个断点{Bi+1,Bi+2,...,BM}的对应的第一修正预期时间
Figure BDA0002438413220000033
其中|Δt1|是Δt1的绝对值,TH1为设定阈值,TH1可以是任意合适的值,通常不超过10、优选不超过5,例如不超过4、3、2、1、0.5、0.3、0.2、0.1等。
在一个优选的实施例中,在步骤S300中,当Δt1>0时,P1=(1+w)×P0,第一修正预期时间
Figure BDA0002438413220000034
中的
Figure BDA0002438413220000035
其中i+1≤m≤M,
Figure BDA0002438413220000036
这样随着i的增加,w就越来越接近A1,从而提供更多的资源以便尽可能在预期时间内完成作业。
在一个优选的实施例中,在步骤S300中,当Δt1≤0时,P1=(1-w)×P0,第一修正预期时间
Figure BDA0002438413220000037
中的
Figure BDA0002438413220000038
其中i+1≤m≤M,
Figure BDA0002438413220000039
这样可以尽早释放多余的资源,以便在合适的时间内得到完成作业并尽可能地节约成本。
类似地,当执行任务Tj+y后到达任务Tj+y与任务Tj+y+1之间的断点Bi+x处时,1≤y<N-j,1≤x<M-i,计算实际时间
Figure BDA00024384132200000310
与初始预期时间
Figure BDA00024384132200000311
的差值
Figure BDA00024384132200000312
Figure BDA00024384132200000313
时,为剩余的N-j-y个任务{Tj+y+1,Tj+y+2,...,TN}分配Px个计算节点并重新计算到达剩余的M-i-x个断点{Bi+x+1,Bi+x+2,...,BM}的对应的第x修正预期时间
Figure BDA00024384132200000314
其中当|Δtx|是Δtx的绝对值,THx为设定阈值,THx可以与TH1相同或不同。考虑到越到程序的后期,越需要更多的资源来纠正偏差,因此THx优选小于TH1,以便更灵敏地及时启动资源分配修正过程,按时完成作业。
在一些情况下,在步骤S200中,根据该作业的算法复杂度和本次运行的数据量,或者根据该作业的历史运行结果和本次运行的数据量,计算需要为该作业的本次运行分配的节点的个数P0,以及计算在执行N个任务{T1,T2,...,TN}的过程中到达M个断点{B1,B2,...,BM}的对应的初始预期时间
Figure BDA00024384132200000315
例如,所述历史运行结果包括该作业在不同数据量{D1,D2,...,DL}和不同节点数{P1,P2,...,PK}的条件下的运行时间
Figure BDA0002438413220000041
以及运行到达M个断点{B1,B2,...,BM}的对应的时间
Figure BDA0002438413220000042
其中
Figure BDA0002438413220000043
Figure BDA0002438413220000044
分别表示该作业在数据量Da和节点数Pb的条件下的运行时间和运行到达断点Bi的时间;相应地,根据该作业本次运行的数据量Dc和期望运行时间tc在所述历史运行结果中查找,选取
Figure BDA0002438413220000045
对应的节点数Pb作为该作业本次运行需要分配的节点个数P0,选取
Figure BDA0002438413220000046
作为运行到达M个断点{B1,B2,...,BM}的对应的初始预期时间
Figure BDA0002438413220000047
其中,Da与Dc最接近且大于等于Dc,同时
Figure BDA0002438413220000048
与tc最接近且小于等于tc
在另一些情况下,当根据该作业本次运行的数据量和期望运行时间在所述历史运行结果中不能查找该作业本次运行需要分配的节点个数P0以及运行到达M个断点{B1,B2,...,BM}的对应的初始预期时间
Figure BDA0002438413220000049
时,也可以采用各种已知的插值法求取该作业本次运行需要分配的节点个数P0以及运行到达M个断点{B1,B2,...,BM}的对应的初始预期时间
Figure BDA00024384132200000410
在一些情况下,在分配P0的同时,还根据N个任务{T1,T2,...,TN}的需求分配内存和存储空间;以及在分配P1个计算节点的同时,还根据剩余的N-j个未执行任务{Tj+1,Tj+2,...,TN}的需求分配内存和存储空间;以及在分配Px个计算节点的同时,还根据剩余的N-j-y个任务{Tj+y+1,Tj+y+2,...,TN}的需求分配内存和存储空间;其中,可以采用任何已知的方法来分配内存和存储空间。优选地,当已分配存储空间占用率超过85%,优选超过75%,更优选超过70%时,增加存储空间。
利用本发明的方法,在作业执行前,可以根据历史数据尽可能准确地为作业初始分配适当的资源;在作业执行中,可以根据作业的实际执行情况,也即超过或低于预期进度的情况,动态地分配或回收资源,从而实现在多个层级对超级计算机的资源进行柔性或弹性配置,在充分保障作业按时完成的的情况下,尽可能地减少超级计算机资源的占用。
此外,根据公开的本发明的说明书,本发明的其他实现对于本领域的技术人员是明显的。实施方式和/或实施方式的各个方面可以单独或者以任何组合用于本发明的系统和方法中。说明书和其中的示例应该是仅仅看作示例性,本发明的实际范围和精神由所附权利要求书表示。

Claims (3)

1.一种作业柔性配置方法,包括以下步骤:
步骤S100,获得作业,所述作业包括N个任务{T1,T2,...,TN}和M个各自设于任务之间的断点{B1,B2,...,BM};为该作业分配超级计算机的P0个节点;计算在执行N个任务{T1,T2,...,TN}的过程中到达M个断点{B1,B2,...,BM}的对应的初始预期时间
Figure FDA0002438413210000011
其中N、M和P0均为自然数,并且M>N;
步骤S200,计算当执行任务Tj后到达任务Tj与任务Tj+1之间的断点Bi处的实际时间
Figure FDA0002438413210000012
与初始预期时间
Figure FDA0002438413210000013
的差值
Figure FDA0002438413210000014
步骤S300,当
Figure FDA0002438413210000015
时,为剩余的N-j个未执行任务{Tj+1,Tj+2,...,TN}分配P1个计算节点并重新计算到达剩余的M-i个断点{Bi+1,Bi+2,...,BM}的对应的第一修正预期时间
Figure FDA0002438413210000016
其中|Δt1|是Δt1的绝对值,TH1为设定阈值;
当Δt1>0时,P1=(1+w)×P0,第一修正预期时间
Figure FDA0002438413210000017
中的
Figure FDA0002438413210000018
其中i+1≤m≤M,
Figure FDA0002438413210000019
当Δt1≤0时,P1=(1-w)×P0,第一修正预期时间
Figure FDA00024384132100000110
中的
Figure FDA00024384132100000111
其中i+1≤m≤M,
Figure FDA00024384132100000112
2.根据权利要求1的所述配置方法,其中,在步骤S200中,根据该作业的算法复杂度和本次运行的数据量,或者根据该作业的历史运行结果和本次运行的数据量,计算需要为该作业的本次运行分配的节点的个数P0,以及计算在执行N个任务{T1,T2,...,TN}的过程中到达M个断点{B1,B2,...,BM}的对应的初始预期时间
Figure FDA00024384132100000113
3.根据权利要求1或2的所述配置方法,其中,在步骤S300中,TH1为不超过5的设定阈值。
CN202010258601.8A 2018-06-27 2018-06-27 一种作业柔性配置方法 Active CN111475297B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010258601.8A CN111475297B (zh) 2018-06-27 2018-06-27 一种作业柔性配置方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010258601.8A CN111475297B (zh) 2018-06-27 2018-06-27 一种作业柔性配置方法
CN201810680674.9A CN108897619B (zh) 2018-06-27 2018-06-27 一种用于超级计算机的多层级资源柔性配置方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201810680674.9A Division CN108897619B (zh) 2018-06-27 2018-06-27 一种用于超级计算机的多层级资源柔性配置方法

Publications (2)

Publication Number Publication Date
CN111475297A true CN111475297A (zh) 2020-07-31
CN111475297B CN111475297B (zh) 2023-04-07

Family

ID=64346784

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010258601.8A Active CN111475297B (zh) 2018-06-27 2018-06-27 一种作业柔性配置方法
CN201810680674.9A Active CN108897619B (zh) 2018-06-27 2018-06-27 一种用于超级计算机的多层级资源柔性配置方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201810680674.9A Active CN108897619B (zh) 2018-06-27 2018-06-27 一种用于超级计算机的多层级资源柔性配置方法

Country Status (1)

Country Link
CN (2) CN111475297B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114020443A (zh) * 2022-01-05 2022-02-08 国家超级计算天津中心 超级计算机资源调度方法、电子设备和介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083449B (zh) * 2019-04-08 2020-04-28 清华大学 动态分配内存和处理器的方法、装置及计算模块

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252391A (zh) * 2013-06-28 2014-12-31 国际商业机器公司 用于在分布式计算系统中管理多个作业的方法和装置
CN104536770A (zh) * 2015-01-28 2015-04-22 浪潮电子信息产业股份有限公司 一种支持并行作业断点恢复的作业提交和恢复方法
US20160188375A1 (en) * 2014-12-24 2016-06-30 International Business Machines Corporation Energy efficient supercomputer job allocation
CN105808334A (zh) * 2016-03-04 2016-07-27 山东大学 一种基于资源重用的MapReduce短作业优化系统及方法
CN107045456A (zh) * 2016-02-05 2017-08-15 华为技术有限公司 一种资源分配方法及资源管理器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8185422B2 (en) * 2006-07-31 2012-05-22 Accenture Global Services Limited Work allocation model
EP2553573A4 (en) * 2010-03-26 2014-02-19 Virtualmetrix Inc FINANCIAL PERFORMANCE RESOURCE MANAGEMENT OF COMPUTER SYSTEMS
US9262216B2 (en) * 2012-02-14 2016-02-16 Microsoft Technologies Licensing, LLC Computing cluster with latency control
CN106254058B (zh) * 2015-06-12 2019-06-11 华为技术有限公司 一种调整服务器的频率的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252391A (zh) * 2013-06-28 2014-12-31 国际商业机器公司 用于在分布式计算系统中管理多个作业的方法和装置
US20160188375A1 (en) * 2014-12-24 2016-06-30 International Business Machines Corporation Energy efficient supercomputer job allocation
CN104536770A (zh) * 2015-01-28 2015-04-22 浪潮电子信息产业股份有限公司 一种支持并行作业断点恢复的作业提交和恢复方法
CN107045456A (zh) * 2016-02-05 2017-08-15 华为技术有限公司 一种资源分配方法及资源管理器
CN105808334A (zh) * 2016-03-04 2016-07-27 山东大学 一种基于资源重用的MapReduce短作业优化系统及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114020443A (zh) * 2022-01-05 2022-02-08 国家超级计算天津中心 超级计算机资源调度方法、电子设备和介质

Also Published As

Publication number Publication date
CN108897619A (zh) 2018-11-27
CN111475297B (zh) 2023-04-07
CN108897619B (zh) 2020-05-05

Similar Documents

Publication Publication Date Title
CN111381950B (zh) 一种面向边缘计算环境基于多副本的任务调度方法和系统
CN108572873B (zh) 一种解决Spark数据倾斜问题的负载均衡方法及装置
JP4185103B2 (ja) 実行可能プログラムをスケジューリングするためのシステム及び方法
CN104765640B (zh) 一种智能服务调度方法
CN108205469B (zh) 一种基于MapReduce的资源分配方法及服务器
CN110347515B (zh) 一种适合边缘计算环境的资源优化分配方法
CN115237580B (zh) 面向智能计算的流水并行训练自适应调整系统、方法
CN108427602B (zh) 一种分布式计算任务的协同调度方法及装置
CN108897619B (zh) 一种用于超级计算机的多层级资源柔性配置方法
CN104199739A (zh) 一种基于负载均衡的推测式Hadoop调度方法
CN113032102B (zh) 资源重调度方法、装置、设备和介质
CN111176810B (zh) 基于优先级的气象水文数据处理调度系统
CN113010286A (zh) 并行任务调度方法、装置、计算机设备和存储介质
CN109871270B (zh) 调度方案生成方法及装置
CN105718318B (zh) 一种基于辅助工程设计软件的集合式调度优化方法
CN108108242B (zh) 基于大数据的存储层智能分发控制方法
CN116701001B (zh) 目标任务分配方法、装置、电子设备及存储介质
CN111736959B (zh) 异构集群下考虑数据亲和性的Spark任务调度方法
CN113448714A (zh) 基于云平台的计算资源控制系统
CN113452546A (zh) 深度学习训练通信的动态服务质量管理
CN117331668A (zh) 一种作业调度方法、装置、设备及存储介质
CN110175073B (zh) 数据交换作业的调度方法、发送方法、装置及相关设备
CN111506400A (zh) 计算资源分配系统、方法、装置和计算机设备
CN112052087B (zh) 动态资源调整与迁移的深度学习训练系统及方法
CN112130979B (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