CN112214295B - 一种多cpu/gpu异构服务器集群的低能耗作业调度方法 - Google Patents
一种多cpu/gpu异构服务器集群的低能耗作业调度方法 Download PDFInfo
- Publication number
- CN112214295B CN112214295B CN202011007696.2A CN202011007696A CN112214295B CN 112214295 B CN112214295 B CN 112214295B CN 202011007696 A CN202011007696 A CN 202011007696A CN 112214295 B CN112214295 B CN 112214295B
- Authority
- CN
- China
- Prior art keywords
- task
- processor
- distributed
- tasks
- preference
- 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
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000005265 energy consumption Methods 0.000 title claims abstract description 13
- 230000000694 effects Effects 0.000 claims abstract description 6
- 238000005516 engineering process Methods 0.000 claims description 5
- 230000003044 adaptive effect Effects 0.000 claims description 3
- 241001420369 Thosea Species 0.000 claims 1
- 230000006978 adaptation Effects 0.000 claims 1
- 230000001105 regulatory effect Effects 0.000 claims 1
- 238000013507 mapping Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 239000007788 liquid Substances 0.000 description 2
- 102100033538 Clusterin-associated protein 1 Human genes 0.000 description 1
- 101000945057 Danio rerio Clusterin-associated protein 1 homolog Proteins 0.000 description 1
- 101000945060 Homo sapiens Clusterin-associated protein 1 Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005059 dormancy Effects 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种多CPU/GPU异构服务器集群的低能耗作业调度方法。首先接收用户提交的作业,根据该作业在CPU和GPU上的执行时间情况对该作业进行分类,然后调用动态分配方法对该作业进行分配。动态分配方法的中心思想在于尽可能把任务分配到偏好的处理器上以确保较好的执行效果,无法分配时把尝试把处理器的任务队列中异构比较小的任务替换出来,必要时可以通过DVFS技术调高处理器频率的方法强行分配,通过这种方法达到少开服务器以降低能耗的效果。本发明以最小化集群完成任务所需能耗为目的,在满足作业时限的前提下,实现在线的调度作业,该方法计算简单、运算速度快,适用于在线、大规模的服务请求场景。
Description
技术领域
本发明涉及集群节能领域,特别是一种多CPU/GPU异构服务器集群的低能耗作业调度方法,即在满足作业时限的前提下,采用合理的作业分配方法,从而保证作业的顺利完成并且最小化集群的能耗。
背景技术
云计算提供商和高性能计算(HPC)集群通常依赖于由多个CPU和GPU组成的服务器节点来处理高性能密集型计算。例如美国最强超级计算机summit,一共有4,608个运算节点,每节点就是一台主机,每个节点内仍然使用与泰坦类似的CPU+GPU异构运算体系,由两颗 POWER9 CPU以及六块NVIDIA Tesla V100运算加速卡组成。由于GPU优秀的高密度运算以及高效并行性等优点,通常CPU可以把任务交给GPU处理以节约时间,因此GPU常常被用作计算加速器。比如相同的卷积神经网络的训练这种有大量简单运算的任务,使用GPU运行的速度可能是CPU的数十倍。GPU同时还比传统的多核CPU更为节能,在评选每瓦性能比的Green500中,前25名中使用Nvidia GPU加速的就有22台,其中summit由于使用了 CPU+GPU异构运算体系,在Green500排名中也排到了第8名。即便summit的每瓦性能比已经十分优秀,但summit使用的液冷系统,每分钟流量高达4,000加仑,4,608台主机连同液冷系统的整机组全速运行时的功率就高达1500万瓦,几乎是泰坦的两倍。因此,哪怕是几个百分比电量的节约,都能节省下大量资金。
多CPU/GPU异构服务器中节能的研究中两种常用的数据节能技术是动态电压和频率缩放(DVFS)和动态资源休眠(DRS)。DVFS指的是动态调整处理器电压和频率的能力,而DRS 则将空闲服务器置于深度睡眠状态(或简单地关闭它们)以节省能源。大量的理论研究将处理器功耗与处理器速度这一单一变量联系在一起,通过改变处理器的电压和频率来控制处理器的速度。有一研究提出了一种自适应映射技术,将应用映射到由CPU和GPU组成的异构系统上。该映射算法已在一个名为Qilin的实验系统中实现,用于CPU和GPU的编程。评估结果表明,与手动映射(例如,程序员手动完成)相比,它们的自适应映射在执行时间和能耗方面表现得很好,但能更好地适应输入大小和硬件和软件配置的变化。有一研究提出了一种高效的映射技术,将通信与计算重叠,在由CPU和GPU组成的异构系统中支持应用图。此外,一些研究提出了异构系统中的调度技术,以提高用户级和操作系统内核级的性能和/或能源效率。另外,针对同构系统的基于DVFS的功耗感知调度技术也做了很多工作。在实时和嵌入式系统中,在DVFSenabled平台(包括单处理器和多处理器系统)上进行了大量的电能和节能调度工作。然而,这些之前的工作都没有针对由CPU和GPU组成的异构系统。
发明内容
本发明针对多CPU/GPU异构服务器工作时产生大量能耗这一问题,结合DVFS和DRS技术,提出了一种多CPU/GPU异构服务器集群的能耗控制方法,主要由任务类型判定和任务分配两部分组成。
任务类型判定主要指对提交到集群的任务进行分类判断。将该任务在CPU和GPU上执行时间的比值定义为H,若H>1/H,则该任务为GPU型任务,否则为CPU型任务。在此基础上再进行细分,若H>参数Δ(Δ在本方法的不同应用场景下会有所不同),则该任务为Only 型任务,否则为Prefer型任务。综上,任务会被分为4种类型,分别为:GPU-Only型、CPU-Only型、GPU-Prefer型以及CPU-Prefer型。
接着,为了把已经分类的任务分配到最合适的处理器上以降低能耗,动态分配方法根据任务的类型、任务的截至时间、集群中服务器的开关情况、各个服务器上各个处理器的负载情况等综合考量,决定将提交的任务分配到哪个处理器上。中心思想在于尽可能把任务分配到偏好的处理器上以达到比在非偏好处理器上更好的执行效果,无法分配时遍历偏好处理器,尝试使用替换方法替换处理器的任务队列中异构比最小的任务以分配任务,仍无法分配可以通过DVFS技术调高处理器频率的方法强行分配。若任务类型为Prefer型,还会尝试分配到非偏好处理器上,无法分配时会尝试使用替换方法,若无法分配才会通过DVFS技术调高处理器频率的方法强行分配。通过以上方法若还是无法分配,则新开服务器,把任务分配到偏好处理器上。通过这种方法达到少开服务器以降低能耗的效果。具体的分配步骤如下:
其中涉及的替换方法的具体步骤为:
本发明的优点在于:
(1)本发明以最小化集群能耗为目标,提出了一种实时作业调度方法,其时间复杂度是多项式时间的,说明该方法可以适用于处理在线的、大规模作业。
(2)本发明在不同集群规模、不同服务器配置、不同任务组成下都可通过调节参数以应用,说明本发明可应用场景广泛。
本发明主要解决了当多任务在多CPU/GPU异构服务器集群上的分配问题。对于动态到达的用户作业请求,在满足作业截止时间的前提下,通过本发明提出的动态分配方法以最小化集群完成任务消耗的能量。
附图说明
图1是任务集在集群上分配的示意图。
图2是动态分配方法示意图。
图3是替换方法示意图
具体实施方式
本发明是一种多CPU/GPU异构服务器集群作业分配方法。在本发明中核心设计通过将任务按照异构比进行分类并通过动态分配方法结合任务类型、任务截至时间、集群中服务器负载等条件进行分配,这种方法复杂度低,运行速度快,可以适应各种场景。
下面结合附图2对本发明设计多CPU/GPU异构服务器集群的低能耗作业调度方法进行详细说明。
如附图2,本发明所述包括以下步骤:
。
Claims (2)
1.一种多 CPU/GPU异构服务器集群的低能耗作业调度方法,基于作业分类的集群作业调度方法,其特征在于,把任务分配到偏好的处理器上以达到比在非偏好处理器上更好的执行效果,当无法分配时遍历偏好处理器使用替换方法替换处理器的任务队列中异构比最小的任务以分配任务,当仍无法分配通过 DVFS技术调高处理器频率的方法强行分配;若任务类型为 Prefer型,把任务分配到非偏好处理器上,当无法分配时使用替换方法,若无法分配,通过 DVFS技术调高处理器频率的方法强行分配,仍无法分配,则新开服务器,把任务分配到偏好处理器上,以达到少开服务器以降低能耗的效果,具体步骤如下:
步骤 1:以首次适应的策略,把任务分配到偏好处理器上;
步骤 2:若任务无法分配时,使用替换方法把任务分配到偏好处理器上;
步骤 3:若任务仍无法分配时,检测任务类型并进行如下操作;
步骤 3.1:若任务是 only型任务,则按照负载从小到大的顺序遍历偏好型处理器,寻找经 DVFS调整后能够使用替换方法分配任务的处理器;
若任务无法分配则新开服务器,把任务分配到偏好处理器上;
步骤 3.2:若任务是 prefer型任务,则以首次适应的策略,把任务分配到非偏好处理器上;
若任务无法分配时,则使用替换方法把任务分配到非偏好处理器上;
若任务仍无法分配则按照负载从小到大的顺序遍历偏好型处理器,把任务分配到经DVFS调整后能够使用替换方法分配任务的处理器;
若任务无法分配则新开服务器,把任务分配到偏好处理器上;
步骤 4:按最早截止时间顺序排列并分配到的处理器等待队列;
步骤 5:当每个任务队列存在被改变的处理器时,调整该处理器的电压频率等级;
步骤 6:若处理器上有任务完成时,则调整该处理器的电压频率等级。
2.如权利要求 1所述的多 CPU/GPU异构服务器集群的低能耗作业调度方法,其特征在于,所述替换方法包括下列步骤:
步骤 2.1:遍历任务 k的每个偏好处理器 i;
步骤 2.2:把处理器 i上的任务按照异构比从小到大排序;
步骤 2.3:遍历处理器 i上每个 prefer型任务 p;
步骤 2.4:遍历除处理器 i以外其他处理器 a;
步骤 2.5:若任务 p能够分配给 a,且把任务 p从处理器 i上移除之后任务 k能够分配到处理器 i,则将任务 p分配给处理器 a,任务 k分配给处理器 i;
步骤 2.6:返回步骤 2.4继续遍历;
步骤 2.7:当步骤 2.4遍历结束返回步骤 2.3;
步骤 2.8:当步骤 2.3遍历结束返回步骤 2.1;
步骤 2.9:当步骤 2.1遍历结束进入步骤 3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011007696.2A CN112214295B (zh) | 2020-09-23 | 2020-09-23 | 一种多cpu/gpu异构服务器集群的低能耗作业调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011007696.2A CN112214295B (zh) | 2020-09-23 | 2020-09-23 | 一种多cpu/gpu异构服务器集群的低能耗作业调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112214295A CN112214295A (zh) | 2021-01-12 |
CN112214295B true CN112214295B (zh) | 2024-02-06 |
Family
ID=74051770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011007696.2A Active CN112214295B (zh) | 2020-09-23 | 2020-09-23 | 一种多cpu/gpu异构服务器集群的低能耗作业调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112214295B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114518798A (zh) * | 2022-02-17 | 2022-05-20 | 深圳集智数字科技有限公司 | 设备集群的低功耗控制方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075199A (zh) * | 2006-05-18 | 2007-11-21 | 迈普(四川)通信技术有限公司 | 一种多cpu调度的方法 |
CN102819460A (zh) * | 2012-08-07 | 2012-12-12 | 清华大学 | 一种基于预算功率指导的高能效gpu集群系统调度算法 |
CN104125165A (zh) * | 2014-08-18 | 2014-10-29 | 浪潮电子信息产业股份有限公司 | 一种基于异构集群的作业调度系统及方法 |
CN105446816A (zh) * | 2015-11-11 | 2016-03-30 | 华南理工大学 | 一种面向异构平台的能耗优化调度方法 |
CN108762818A (zh) * | 2018-05-30 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种优化设计服务器及维护方法 |
CN109324875A (zh) * | 2018-09-27 | 2019-02-12 | 杭州电子科技大学 | 一种基于强化学习的数据中心服务器功耗管理与优化方法 |
CN111562837A (zh) * | 2020-05-02 | 2020-08-21 | 桂林理工大学 | 一种多cpu/gpu异构服务器的功耗控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8046765B2 (en) * | 2006-07-25 | 2011-10-25 | Hewlett-Packard Development Company, L.P. | System and method for determining allocation of resource access demands to different classes of service based at least in part on permitted degraded performance |
-
2020
- 2020-09-23 CN CN202011007696.2A patent/CN112214295B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075199A (zh) * | 2006-05-18 | 2007-11-21 | 迈普(四川)通信技术有限公司 | 一种多cpu调度的方法 |
CN102819460A (zh) * | 2012-08-07 | 2012-12-12 | 清华大学 | 一种基于预算功率指导的高能效gpu集群系统调度算法 |
CN104125165A (zh) * | 2014-08-18 | 2014-10-29 | 浪潮电子信息产业股份有限公司 | 一种基于异构集群的作业调度系统及方法 |
CN105446816A (zh) * | 2015-11-11 | 2016-03-30 | 华南理工大学 | 一种面向异构平台的能耗优化调度方法 |
CN108762818A (zh) * | 2018-05-30 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种优化设计服务器及维护方法 |
CN109324875A (zh) * | 2018-09-27 | 2019-02-12 | 杭州电子科技大学 | 一种基于强化学习的数据中心服务器功耗管理与优化方法 |
CN111562837A (zh) * | 2020-05-02 | 2020-08-21 | 桂林理工大学 | 一种多cpu/gpu异构服务器的功耗控制方法 |
Non-Patent Citations (2)
Title |
---|
CPU-GPU异构多核系统的动态任务调度算法;裴颂文;宁静;张俊格;;计算机应用研究(第11期);全文 * |
Optimization of the HEFT Algorithm for a CPU-GPU Environment;Karan R. Shetti等;《2013 International Conference on Parallel and Distributed Computing, Applications and Technologies》;第212-218页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112214295A (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pagani et al. | Energy efficiency for clustered heterogeneous multicores | |
CN102508714A (zh) | 一种云计算中基于绿色计算的虚拟机调度方法 | |
KR20160005367A (ko) | 전력-인식 스레드 스케줄링 및 프로세서들의 동적 사용 | |
Mao et al. | A multi-resource task scheduling algorithm for energy-performance trade-offs in green clouds | |
Li | Optimal configuration of a multicore server processor for managing the power and performance tradeoff | |
CN102819460A (zh) | 一种基于预算功率指导的高能效gpu集群系统调度算法 | |
JP2013532855A (ja) | グラフィクスプロセッサにおけるsimdユニットの動的な有効化及び無効化 | |
Long et al. | A three-phase energy-saving strategy for cloud storage systems | |
CN114710563A (zh) | 一种集群节能方法及装置 | |
CN112214295B (zh) | 一种多cpu/gpu异构服务器集群的低能耗作业调度方法 | |
Terzopoulos et al. | Bag-of-task scheduling on power-aware clusters using a dvfs-based mechanism | |
Terzopoulos et al. | Dynamic voltage scaling scheduling on power-aware clusters under power constraints | |
Feng et al. | Towards heat-recirculation-aware virtual machine placement in data centers | |
Than et al. | Energy-saving resource allocation in cloud data centers | |
CN111240461A (zh) | 一种基于任务调度的异构计算系统低功耗方法 | |
Fan et al. | An energy-efficient dynamic scheduling method of deadline-constrained workflows in a cloud environment | |
Khan et al. | Energy efficient resource allocation in distributed computing systems | |
Zhu et al. | Energy-aware rolling-horizon scheduling for real-time tasks in virtualized cloud data centers | |
Yuan et al. | An Online Energy Saving Resource Optimization Methodology for Data Center. | |
CN111562837A (zh) | 一种多cpu/gpu异构服务器的功耗控制方法 | |
CN109582119B (zh) | 基于动态电压频率调整的双层Spark节能调度方法 | |
Jha et al. | Shared resource aware scheduling on power-constrained tiled many-core processors | |
Ghose et al. | Energy efficient online scheduling of aperiodic real time task on large multi-threaded multiprocessor systems | |
CN108563497B (zh) | 一种高效的多维度算法调度方法、任务服务器 | |
Xiong et al. | Energy-saving optimization of application server clusters based on mixed integer linear programming |
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 |