一种多CPU/GPU异构服务器集群的低能耗作业调度方法与流程

文档序号:23628440发布日期:2021-01-12 10:42阅读:233来源:国知局
一种多CPU/GPU异构服务器集群的低能耗作业调度方法与流程

本发明涉及集群节能领域,特别是一种多cpu/gpu异构服务器集群的低能耗作业调度方法,即在满足作业时限的前提下,采用合理的作业分配方法,从而保证作业的顺利完成并且最小化集群的能耗。



背景技术:

云计算提供商和高性能计算(hpc)集群通常依赖于由多个cpu和gpu组成的服务器节点来处理高性能密集型计算。例如美国最强超级计算机summit,一共有4,608个运算节点,每节点就是一台主机,每个节点内仍然使用与泰坦类似的cpu+gpu异构运算体系,由两颗power9cpu以及六块nvidiateslav100运算加速卡组成。由于gpu优秀的高密度运算以及高效并行性等优点,通常cpu可以把任务交给gpu处理以节约时间,因此gpu常常被用作计算加速器。比如相同的卷积神经网络的训练这种有大量简单运算的任务,使用gpu运行的速度可能是cpu的数十倍。gpu同时还比传统的多核cpu更为节能,在评选每瓦性能比的green500中,前25名中使用nvidiagpu加速的就有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,本发明所述包括以下步骤:



技术特征:

1.一种多cpu/gpu异构服务器集群的低能耗作业调度方法,其特征在于:基于作业分类的集群作业调度方法,中心思想在于把任务分配到偏好的处理器上以达到比在非偏好处理器上更好的执行效果,无法分配时遍历偏好处理器,尝试使用替换方法替换处理器的任务队列中异构比最小的任务以分配任务,仍无法分配可以通过dvfs技术调高处理器频率的方法强行分配,若任务类型为prefer型,还会尝试分配到非偏好处理器上,无法分配时会尝试使用替换方法,若无法分配才会通过dvfs技术调高处理器频率的方法强行分配,通过以上方法若还是无法分配,则新开服务器,把任务分配到偏好处理器上,通过这种方法达到少开服务器以降低能耗的效果,具体步骤如下:


技术总结
本发明公开了一种多CPU/GPU异构服务器集群的低能耗作业调度方法。首先接收用户提交的作业,根据该作业在CPU和GPU上的执行时间情况对该作业进行分类,然后调用动态分配方法对该作业进行分配。动态分配方法的中心思想在于尽可能把任务分配到偏好的处理器上以确保较好的执行效果,无法分配时把尝试把处理器的任务队列中异构比较小的任务替换出来,必要时可以通过DVFS技术调高处理器频率的方法强行分配,通过这种方法达到少开服务器以降低能耗的效果。本发明以最小化集群完成任务所需能耗为目的,在满足作业时限的前提下,实现在线的调度作业,该方法计算简单、运算速度快,适用于在线、大规模的服务请求场景。

技术研发人员:敬超;胡君达;董明刚;陈文鹏;邱斌
受保护的技术使用者:桂林理工大学
技术研发日:2020.09.23
技术公布日:2021.01.12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1