CN108897619A - 一种用于超级计算机的多层级资源柔性配置方法 - Google Patents

一种用于超级计算机的多层级资源柔性配置方法 Download PDF

Info

Publication number
CN108897619A
CN108897619A CN201810680674.9A CN201810680674A CN108897619A CN 108897619 A CN108897619 A CN 108897619A CN 201810680674 A CN201810680674 A CN 201810680674A CN 108897619 A CN108897619 A CN 108897619A
Authority
CN
China
Prior art keywords
task
breakpoint
supercomputer
time
configuration method
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
CN201810680674.9A
Other languages
English (en)
Other versions
CN108897619B (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 CN201810680674.9A priority Critical patent/CN108897619B/zh
Priority to CN202010258601.8A priority patent/CN111475297B/zh
Publication of CN108897619A publication Critical patent/CN108897619A/zh
Application granted granted Critical
Publication of CN108897619B publication Critical patent/CN108897619B/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}的对应的初始预期时间计算当执行任务Tj后到达任务Tj与任务Tj+1之间的断点Bi处的实际时间与初始预期时间的差值时,为剩余的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}的对应的初始预期时间其中N、M和P0均为自然数,并且M>N;
步骤S200,计算当执行任务Tj后到达任务Tj与任务Tj+1之间的断点Bi处的实际时间与初始预期时间的差值
步骤S300,当时,为剩余的N-j个未执行任务{Tj+1,Tj+2,...,TN}分配P1个计算节点并重新计算到达剩余的M-i个断点{Bi+1,Bi+2,...,BM}的对应的第一修正预期时间其中|Δ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}的对应的初始预期时间以及完成作业也即全部N个任务所需的初始预期的作业运行时间其中N、M和P0均为自然数,并且M>N,计算得到的初始预期时间以及初始预期的作业运行时间存储后在以下步骤中用于评估作业执行进度;
步骤S200,当作业提交超级计算机执行后,在任务Tj与任务Tj+1断点Bi处中断,获得作业自开始执行起到达断点Bi处的实际运行时间计算实际时间与相应的初始预期时间之间的差值
步骤S300,当时,为剩余的N‐j个未执行任务{Tj+1,Tj+2,...,TN}分配P1个计算节点并重新计算到达剩余的M‐i个断点{Bi+1,Bi+2,...,BM}的对应的第一修正预期时间其中|Δ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,第一修正预期时间中的其中i+1≤m≤M,这样随着i的增加,w就越来越接近A1,从而提供更多的资源以便尽可能在预期时间内完成作业。
在一个优选的实施例中,在步骤S300中,当Δt1≤0时,P1=(1-w)×P0,第一修正预期时间中的其中i+1≤m≤M,这样可以尽早释放多余的资源,以便在合适的时间内得到完成作业并尽可能地节约成本。
类似地,当执行任务Tj+y后到达任务Tj+y与任务Tj+y+1之间的断点Bi+x处时,1≤y<N-j, 1≤x<M-i,计算实际时间与初始预期时间的差值时,为剩余的N-j-y个任务{Tj+y+1,Tj+y+2,...,TN}分配Px个计算节点并重新计算到达剩余的M-i-x 个断点{Bi+x+1,Bi+x+2,...,BM}的对应的第x修正预期时间其中当|Δtx|是Δtx的绝对值,THx为设定阈值,THx可以与TH1相同或不同。考虑到越到程序的后期,越需要更多的资源来纠正偏差,因此THx优选小于TH1,以便更灵敏地及时启动资源分配修正过程,按时完成作业。
在一些情况下,在步骤S200中,根据该作业的算法复杂度和本次运行的数据量,或者根据该作业的历史运行结果和本次运行的数据量,计算需要为该作业的本次运行分配的节点的个数P0,以及计算在执行N个任务{T1,T2,...,TN}的过程中到达M个断点{B1,B2,...,BM}的对应的初始预期时间例如,所述历史运行结果包括该作业在不同数据量{D1,D2,...,DL}和不同节点数{P1,P2,...,PK}的条件下的运行时间以及运行到达M个断点{B1,B2,...,BM}的对应的时间其中分别表示该作业在数据量Da和节点数Pb的条件下的运行时间和运行到达断点Bi的时间;相应地,根据该作业本次运行的数据量Dc和期望运行时间tc在所述历史运行结果中查找,选取对应的节点数Pb作为该作业本次运行需要分配的节点个数P0,选取作为运行到达M个断点{B1,B2,...,BM}的对应的初始预期时间其中,Da与Dc最接近且大于等于Dc,同时与tc最接近且小于等于tc
在另一些情况下,当根据该作业本次运行的数据量和期望运行时间在所述历史运行结果中不能查找该作业本次运行需要分配的节点个数P0以及运行到达M个断点{B1,B2,...,BM}的对应的初始预期时间时,也可以采用各种已知的插值法求取该作业本次运行需要分配的节点个数P0以及运行到达M个断点{B1,B2,...,BM}的对应的初始预期时间
在一些情况下,在分配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 (6)

1.一种用于超级计算机的多层级资源柔性配置方法,包括以下步骤:
步骤S100,获得作业,所述作业包括N个任务{T1,T2,...,TN}和M个各自设于任务之间的断点{B1,B2,...,BM};为该作业分配超级计算机的P0个节点;计算在执行N个任务{T1,T2,...,TN}的过程中到达M个断点{B1,B2,...,BM}的对应的初始预期时间其中N、M和P0均为自然数,并且M>N;
步骤S200,计算当执行任务Tj后到达任务Tj与任务Tj+1之间的断点Bi处的实际时间与初始预期时间的差值
步骤S300,当时,为剩余的N‐j个未执行任务{Tj+1,Tj+2,...,TN}分配P1个计算节点并重新计算到达剩余的M‐i个断点{Bi+1,Bi+2,...,BM}的对应的第一修正预期时间其中|Δt1|是Δt1的绝对值,TH1为设定阈值(优选不超过5)。
2.根据权利要求1的所述用于超级计算机的多层级资源柔性配置方法,其中,在步骤S200中,根据该作业的算法复杂度和本次运行的数据量,或者根据该作业的历史运行结果和本次运行的数据量,计算需要为该作业的本次运行分配的节点的个数P0,以及计算在执行N个任务{T1,T2,...,TN}的过程中到达M个断点{B1,B2,...,BM}的对应的初始预期时间
3.根据权利要求2的所述用于超级计算机的多层级资源柔性配置方法,其中,所述历史运行结果包括该作业在不同数据量{D1,D2,...,DL}和不同节点数{P1,P2,...,PK}的条件下的运行时间以及运行到达M个断点{B1,B2,...,BM}的对应的时间其中分别表示该作业在数据量Da和节点数Pb的条件下的运行时间和运行到达断点Bi的时间;相应地,根据该作业本次运行的数据量Dc和期望运行时间tc在所述历史运行结果中查找,选取对应的节点数Pb作为该作业本次运行需要分配的节点个数P0,选取作为运行到达M个断点{B1,B2,...,BM}的对应的初始预期时间其中,Da与Dc最接近且大于等于Dc,同时与tc最接近且小于等于tc
4.根据权利要求3的所述用于超级计算机的多层级资源柔性配置方法,其中,当根据该作业本次运行的数据量和期望运行时间在所述历史运行结果中不能查找该作业本次运行需要分配的节点个数P0以及运行到达M个断点{B1,B2,...,BM}的对应的初始预期时间时,采用插值法求取该作业本次运行需要分配的节点个数P0以及运行到达M个断点{B1,B2,...,BM}的对应的初始预期时间
5.根据权利要求1-4中任一项的所述用于超级计算机的多层级资源柔性配置方法,其中,在步骤S300中,当Δt1>0时,P1=(1+w)×P0,第一修正预期时间中的其中i+1≤m≤M,
6.根据权利要求1-4中任一项的所述用于超级计算机的多层级资源柔性配置方法,其中,在步骤S300中,当Δt1≤0时,P1=(1-w)×P0,第一修正预期时间中的其中i+1≤m≤M,
CN201810680674.9A 2018-06-27 2018-06-27 一种用于超级计算机的多层级资源柔性配置方法 Active CN108897619B (zh)

Priority Applications (2)

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

Applications Claiming Priority (1)

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

Related Child Applications (1)

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

Publications (2)

Publication Number Publication Date
CN108897619A true CN108897619A (zh) 2018-11-27
CN108897619B CN108897619B (zh) 2020-05-05

Family

ID=64346784

Family Applications (2)

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

Family Applications After (1)

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

Country Status (1)

Country Link
CN (2) CN108897619B (zh)

Cited By (1)

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

Families Citing this family (1)

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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080066072A1 (en) * 2006-07-31 2008-03-13 Accenture Global Services Gmbh Work Allocation Model
CN102906696A (zh) * 2010-03-26 2013-01-30 维尔图尔梅特里克斯公司 计算机系统的细粒性能资源管理
US20130212277A1 (en) * 2012-02-14 2013-08-15 Microsoft Corporation Computing cluster with latency control
CN106254058A (zh) * 2015-06-12 2016-12-21 华为技术有限公司 一种调整服务器的频率的方法及装置
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
CN104252391B (zh) * 2013-06-28 2017-09-12 国际商业机器公司 用于在分布式计算系统中管理多个作业的方法和装置
US9417928B2 (en) * 2014-12-24 2016-08-16 International Business Machines Corporation Energy efficient supercomputer job allocation
CN104536770A (zh) * 2015-01-28 2015-04-22 浪潮电子信息产业股份有限公司 一种支持并行作业断点恢复的作业提交和恢复方法
CN105808334B (zh) * 2016-03-04 2016-12-28 山东大学 一种基于资源重用的MapReduce短作业优化系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080066072A1 (en) * 2006-07-31 2008-03-13 Accenture Global Services Gmbh Work Allocation Model
CN102906696A (zh) * 2010-03-26 2013-01-30 维尔图尔梅特里克斯公司 计算机系统的细粒性能资源管理
US20130212277A1 (en) * 2012-02-14 2013-08-15 Microsoft Corporation Computing cluster with latency control
CN106254058A (zh) * 2015-06-12 2016-12-21 华为技术有限公司 一种调整服务器的频率的方法及装置
CN107045456A (zh) * 2016-02-05 2017-08-15 华为技术有限公司 一种资源分配方法及资源管理器

Cited By (2)

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

Also Published As

Publication number Publication date
CN111475297A (zh) 2020-07-31
CN108897619B (zh) 2020-05-05
CN111475297B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
CN109800936B (zh) 基于树状搜寻的调度方法与使用该方法的电子装置
US8533722B2 (en) Method and apparatus for assigning fractional processing nodes to work in a stream-oriented computer system
CN110969362B (zh) 一种云计算系统下多目标任务调度方法及系统
WO2012151054A1 (en) Scheduling in mapreduce-like systems for fast completion time
CN108897619A (zh) 一种用于超级计算机的多层级资源柔性配置方法
CN109202895A (zh) 设计支持装置、设计支持方法及存储设计支持程序的介质
CN108427602B (zh) 一种分布式计算任务的协同调度方法及装置
CN112711475A (zh) 一种基于图卷积神经网络的工作流调度方法及系统
CN113391913A (zh) 一种基于预测的分布式调度方法和装置
CN114675975B (zh) 一种基于强化学习的作业调度方法、装置及设备
CN102831102A (zh) 一种在计算机集群上进行矩阵乘积运算的方法和系统
Venugopal et al. A set coverage-based mapping heuristic for scheduling distributed data-intensive applications on global grids
CN117331700B (zh) 一种算力网络资源调度系统及方法
CN108108242B (zh) 基于大数据的存储层智能分发控制方法
CN104239520B (zh) 一种基于历史信息的hdfs数据块放置策略
CN110348693B (zh) 基于多核计算的多机器人快速任务调度方法
CN110287008B (zh) 一种测试任务调度方法、装置及电子设备
CN103677996B (zh) 用于平衡工作负荷分布的协作方法和系统
EP2065812A1 (en) Bounded sub-optimal problem solving
Fan et al. Associated task scheduling based on dynamic finish time prediction for cloud computing
CN113377542B (zh) 一种多核嵌入式系统的网络节点任务映射方法
CN115328628A (zh) 一种基于能量优化的多核异构NoC平台任务执行方法
CN106599184A (zh) 一种Hadoop系统优化方法
CN113222431A (zh) 一种面向作业计划阶段的设计资源替换方法
CN103593240B (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