一种多相同GPU异构系统环境下的任务调度节能方法技术方案

技术编号:24409223 阅读:20 留言:0更新日期:2020-06-06 08:26
本发明专利技术公开了一种多相同GPU异构系统环境下的任务调度节能方法。包括下述步骤:a.获取任务执行时间、任务数量及可用GPU数量的信息;b.利用步骤a获取的信息以均分思想和折半方法对任务按执行时间进行分配。本发明专利技术具有降低平均能耗和调度方法更有效的特点。

A method of task scheduling and energy saving in heterogeneous systems with multiple identical GPUs

【技术实现步骤摘要】
一种多相同GPU异构系统环境下的任务调度节能方法
本专利技术涉及异构环境高性能计算机
,特别是一种多相同GPU异构系统环境下的任务调度节能方法。
技术介绍
ICT(InformationandCommunicationTechnology)行业已成为21世纪社会发展和世界经济增长的重要动力。但其消耗的能量却已占全球耗电量的10%;其碳排放总量则达到了全球碳排放总量的2%~2.5%,在发达国家尤甚,达到10%。而随着全球对ICT行业的持续投入,其规模和能耗也将保持增长的趋势。为推动ICT产业的绿色低碳环保可持续发展,绿色计算已成为众多国内外研究者的共识。目前,以大数据技术、人工智能技术为代表的ICT产业正在不断改变我们的生活、交通、学习以及对世界的认知,使得支撑这些技术发展的GPU(GraphicsProcessingUnit)异构系统(HeterogeneousComputingSystem,HCS)成为计算机系统的主流。GPU异构系统具有高加速性、易学易懂、系统便于扩展等特点使其发展迅猛,目前被广泛应用于大数据处理、深度学习、云计算、人工智能、无人车驾驶、分子模拟计算等领域,巨大的应用市场也反过来极大地推动了GPU异构系统的发展。典型的GPU异构系统通常由CPU将计算任务分配到GPU进行计算;在由多个GPU组成的计算机系统中,对各个GPU分配的计算任务会极大地影响整个系统的功耗。虽然GPU异构系统的性能功耗比相对于传统的计算机系统有了较大的提升,但在整个计算机系统中其功耗仍占有较大的比例。为顺应ICT产业的发展,对GPU异构系统的功耗优化以达到减少HCS功耗的目的,许多学者提出了各种方法和模型。但目前的研究工作仍存在如需要手动改写目标任务代码、异构系统的能耗受任务执行的顺序影响、假设GPU在运行任务是功耗的恒定的及在任务调度前需要对任务进行预先运行以获得参数等问题。而在任务调度研究方面,可以分为两类:基于任务特征的调度节能技术及对任务调度的节能技术,具体描述如下:首先,是基于任务特征的调度节能技术。在GPU支持concurrentkernelexecution特征后,其节能技术得到了一种解决思路。Lieta首先通过预先运行CUDAprofiler工具获得参数Ri以判定kernel类别,并以任务类别互补特性为启发实施concurrentkernelexecution节能。Qingetal通过建立concurrentkernel之间block个数的比率与能耗间的关系指导GPU节能;通过利用预测block个数比率的方法以及提出的静态估计功耗性能模型以达到节能的目的,但该方法需要转换任务代码。Lietal受到任务类别互补特性实施节能的启发,在对任务进行分类后利用建立的能耗节约量回归预测模型以及调度方法达到节能的目的。Dongetal通过比较concurrentkernel和顺序kernel的耗能,选择能耗较少的方式执行任务;对于能耗的获取,采用了能耗估计模型和性能估计模型的方法。Xieetal和Huetal都关注数据中心的节能。Xieetal提出递归及分层的互联结构用于平衡吞吐量和功耗。Huetal通过峰值负荷调度以达到和促进高能效的数据中心的QoS服务。其次,是任务调度的节能技术。LiuandLuk通过任务预先运行的方式获得任务和处理器资源参数,利用线性规划方法达到对Linpack程序在各个处理器中的节能调度,但该方法需要手动改写目标处理器的代码。Bariketal依据Kaleemetal提出的分析方法得到任务的特征及执行时间等参数调节负载率达到减少处理器能耗的目的。此后,Maetal提出具有动态分配层以及频率调节层的两层能耗管理框架,对比了四种动态分配方案并分析了它们的优劣。WangandRen通过线性预测的方法得到任务在各个处理器执行的时间参数,在给定的时间约束下协调处理器之间的负载分配,最后对每个处理器进行频率调整以减少能耗。Choietal根据任务的剩余执行时间提出预测程序剩余执行时间的调度方式,并指出Greggetal的交替分配调度(Alternate-Assignmentscheduling,AA)、空闲优先调度(First-Freescheduling,FF)以及性能历史调度(Performance-Historyscheduling,PH)方法的不足,即异构系统的功耗受任务执行的顺序的影响。Hamanoetal提出一种动态调度的节能方法,选择能耗延迟积(EnergyDelayProduct,EDP)最小的任务分配到对应的处理器上,但方法认为所调度的任务功耗是恒定的。Valeryetal的研究表明在移动设备中利用共享内存架构能提高处理器间的协作,进而加速对PCA(PrincipalComponentsAnalysis)的计算,从而有效地降低了移动设备的能耗。SilbersteinandMaruyama考虑了任务在各个处理器上的能耗,根据有向无环图构造了一个在多个相互依赖任务下的最小能耗调度方法,并在在处理器没有开销时验证了方法的可行性。Khalidetal在处理器计算能力非均衡的情况下提出OSCHED调度方法,综合考虑设备的计算能力以及任务的计算需求以实现任务在各个处理器中的负载均衡。Jangetal研究了单任务在多处理器环境下的能耗优化以及多任务自适应任务功率感知分配方案,提出单任务下最优任务分配算法以及多任务下最优电压/频率调整方案,文中虽然研究了多任务下的节约能耗方法,但更专注于电压/频率的调整。综上所述,对于异构系统的节能研究虽然有较大进展,但依然存在着不足。假设系统中待执行的任务序列为Taski(0≤i≤n),系统中当前可用的处理器资源为GPUi(0≤i≤n),那么系统能耗的可以用式(1)表示:由式(1)可知,系统能耗可表示为系统中的所有的GPU,CPU和主板消耗的能耗之和,进一步可表示为各自的功率与时间的乘积。对于一组待调度的任务及数量一定的相同GPU而言,待调度任务在不改变任务结构的情况下根据调度算法的不同会产生不同的序列,但不会改变单个任务执行时的功率,即待调度任务序列的平均功耗保持不变。因此,系统能耗可进一步表示为平均功耗与时间T的乘积。为了在执行程序序列时使系统能耗最小,就必须使平均功耗与时间T尽可能小。而对于不同的调度方法,平均功耗是一定的,因此,要使系统能耗最小就要使执行时间T最小。在解决执行时间T最小的问题中,异构系统通常采用AA,FF以及PH等调度方法来解决。AA方法采用循环的方式将任务分配到各个处理器中。FF采用将任务分配到空闲处理器中的动态调度方法。如系统中所有处理器的状态都为空闲,则分配到用户指定的第一个逻辑处理器中;如系统中所有处理器的状态都为忙碌,则任务会等待直到有空闲的处理器可用,然后再进行分配。由于FF考虑了处理器的状态,因此在绝大多数情况下能够得到比AA更好的效果。然而,由于系统当前可用的处理器以及任务执行的顺序不同,因此FF方法和AA方法一样不能保证任务执行顺序的一致性。为了让系统更快地执行任务,PH方法采用了类似更快的处理本文档来自技高网...

【技术保护点】
1.一种多相同GPU异构系统环境下的任务调度节能方法,其特征在于:包括下述步骤:/na.获取任务执行时间、任务数量及可用GPU数量的信息;/nb.利用步骤a获取的信息以均分思想和折半方法对任务按执行时间进行分配。/n

【技术特征摘要】
1.一种多相同GPU异构系统环境下的任务调度节能方法,其特征在于:包括下述步骤:
a.获取任务执行时间、任务数量及可用GPU数量的信息;
b.利用步骤a获取的信息以均分思想和折半方法对任务按执行时间进行分配。


2.根据权利要求1所述的多相同GPU异构系统环境下的任务调度节能方法,其特征在于:步骤a中,获取信息前,先对任务进行分组得到任务组,再获取任务组内的任务执行时间、任务数量及可用GPU数量的信息。


3.根据权利要求2所述的多相同GPU异构系统环境下的任务调度节能方法,其特征在于:所述的步骤b具体按下述方法进行:
b1.根据步骤a获取的信息,建立存储任务时间、任务编号、每个处理器对应的处理任务编号及每个处理器累计的执行时间的数组;
b2.求出任务组内任务执行时间的平均值,首先分配单个任务执行时间大于平均值的任务,剩余任务转至步骤b3进行分配;
b3...

【专利技术属性】
技术研发人员:李君科刘凯卢玉郑添健
申请(专利权)人:黔南民族师范学院
类型:发明
国别省市:贵州;52

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1