CN109992385B - 一种基于任务均衡调度的gpu内部能耗优化方法 - Google Patents

一种基于任务均衡调度的gpu内部能耗优化方法 Download PDF

Info

Publication number
CN109992385B
CN109992385B CN201910205801.4A CN201910205801A CN109992385B CN 109992385 B CN109992385 B CN 109992385B CN 201910205801 A CN201910205801 A CN 201910205801A CN 109992385 B CN109992385 B CN 109992385B
Authority
CN
China
Prior art keywords
task
tasks
scheduling
balance
energy consumption
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.)
Expired - Fee Related
Application number
CN201910205801.4A
Other languages
English (en)
Other versions
CN109992385A (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.)
Sichuan University
Original Assignee
Sichuan University
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 Sichuan University filed Critical Sichuan University
Priority to CN201910205801.4A priority Critical patent/CN109992385B/zh
Publication of CN109992385A publication Critical patent/CN109992385A/zh
Application granted granted Critical
Publication of CN109992385B publication Critical patent/CN109992385B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/5022Mechanisms to release resources
    • 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/505Allocation 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 load
    • 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)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属于设备状态与任务特性的任务平衡调度技术领域,公开了一种基于任务均衡调度的GPU内部能耗优化方法,利用待执行程序的均衡影响因子CB以及SM使用频率信息PHB把,提出均衡影响因子以及SM使用频率信息的CB‑HRV任务调度算法;CB‑HRV任务调度算法依据任务执行的时间将一组任务按照任务的均衡影响因子分配到对应的SM中执行;策略调度器把任务均衡地分配到各个SM中;同时,利用SM使用频率信息提高设备资源的使用效率;通过对待执行任务信息与资源信息的整合应用实现能耗优化的任务调度方法。本发明实现了在多个SM中的动态平衡调度,达到了GPU的能耗优化目标。

Description

一种基于任务均衡调度的GPU内部能耗优化方法
技术领域
本发明属于设备状态与任务特性的任务平衡调度技术领域,尤其涉及一种 基于任务均衡调度的GPU内部能耗优化方法。
背景技术
目前,业内常用的现有技术是这样的:图形处理器(英语:Graphics ProcessingUnit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人 电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工 作的微处理器。用途是将计算机***所需要的显示信息进行转换驱动,并向显 示器提供行扫描信号,控制显示器的正确显示,是连接显示器和个人电脑主板 的重要元件,也是"人机对话"的重要设备之一。显卡作为电脑主机里的一个重要 组成部分,承担输出显示图形的任务,对于从事专业图形设计的人来说显卡非 常重要。
一、基于任务调度的能耗优化研究,通过GPU中的任务调度进行能耗优化 可以从硬件和软件两方面着手。基于软件的能耗优化策略因为硬件代价小并且 实施相对容易,因此被认为是比较有效的能耗优化手段。一般来讲,通过软件 的任务调度策略分为面向程序设计的静态方法以及面向操作***和编译器的动 态方法。面向程序设计的静态方法是直接通过程序设计进行所需SM资源的分 配。学者们提出了静态的任务分配策略来实现任务的调度,从而降低***能耗。 静态编译的方法无需进行GPU操作***或是硬件层面的修改,实现代价相对较 小。但同时因为该方法没有考虑到GPU中SM的资源情况以及任务执行的时间 目标,因此能耗优化效果是有限的。尤其是当执行环境发生变化的时候,该方 法的能耗效果就更加难以得到保障。如果想要获得特定环境的能耗目标,需要 在程序调度前对程序进行预先运行以获得参数并且手动改写目标程序代码。第 二种方法是动态调度方法,也就是在程序执行的过程中,利用已知的GPU资源 参数以及任务执行的时间参数进行任务均衡调度。这些参数包括处理数据的大 小、任务对CACHE的依赖程度、SM的设备利用率等。动态的方案通过对GPU 内部的资源的分析以及任务特性本身的分析进行均衡调度,往往能取得比静态 调度更好的效果,着重分析动态调度策略并提一种基于任务均衡动态调度的能 耗优化方法。
二、基于任务执行时间的调度策略(Random allocation device),GPU能耗 优化的研究场景是基于多SM的工作场景。进入GPU的任务由SM任务调度器 按照某种策略向各个SM分配任务。各个SM的地位在任务执行过程中是平等的, 也就是说它们的任务负载能力是相同的,任务调度器一般基于平等策略进行任 务分配。但是由于任务调度器在每个SM分配的任务特性不同,每个SM的使用 效率并不相同。
在目前的任务调度中,往往基于程序执行时间的调度策略。假设***中待 执行的程序序列为Pi(0<=i<=n),当前***中的可用处理器资源为SMi(0<=i<=n), 那么要让***执行程序能耗最小:
Figure RE-GDA0002075955210000021
由上述公式可知,***能耗可表示为***中的所有的SM、CPU和主板消耗 的能耗之和。进一步可表示为各自的功率与时间的乘积。对于一组待调度的程 序及数量一定的相同SM而言,待调度任务的序列根据调度算法的不同而不同, 但不会改变任务执行时的功耗。换句话说就是待调度任务的序列的平均功耗保 持不变。因此,***能耗可进一步表示为平均功耗
Figure BDA0001998909780000022
与时间T的乘积。为了在 执行程序序列时使得***能耗最小,必须使平均功耗
Figure BDA0001998909780000023
与时间T尽可能小。而 对于不同的调度方法而言,平均功耗
Figure BDA0001998909780000031
是一定的,因此,要使得***能耗最小就 要使得执行时间T最小。许多能耗优化方案都是基于执行时间的方案,也就是 说通过一种调度算法使得任务在SM上的总体完成时间最小。
三、基于随机分配设备的任务调度策略(Random allocation device)
在以降低平均时间执行时间为目标的动态调度中,基于设备(SM)状态进 行任务调度,Random allocation device(RAD)是常用的能耗优化手段,这里的 设备是指GPU中的SM。一种低功耗分配负载的方法。该方法的思想是直接把设 备(SM)随机分配给要执行的任务使用而不考虑设备的状态。也就是说,这种 方法认为GPU中的SM设备都是平等的,没有特性上的以及使用状态上的差别。 下面展示了这种策略的算法实现的伪代码。
Random_Allocation_Device Approach(RAD)
Figure BDA0001998909780000032
该方法在时间复杂度上是有优势的,因为该方法并没有考虑SM作为资源 属性的不同,随机分配使得将要执行的任务能够非常快地进行SM定位,并且 立刻执行。但是正如算法中描述的,该方法并没有考虑SM作为资源属性的不 同,这也就不能把执行任务的特性与将要执行的SM进行相关性链接。例如, 当某个任务被随机分配的某个SM,很有可能该SM仍然被其他的任务占用,而 且需要相当长的时间才能被释放。在这种随机分配的策略下,任务不能被及时 执行,实时性非常差。
四、基于设备历史状态的任务调度策略(device history-based)
如果考虑设备(SM)的历史使用状态,基于设备(SM)状态进行任务调度 是经常使用的方法。例如下面的DFB(device history-based)算法考虑了SM的释 放情况。函数isSMfree(i)询问了设备的状态,如果设备被释放,释放的SM资源 将被放到资源池平等地供所有任务使用。
Device_Free_based Approach(DFB)
Figure BDA0001998909780000041
由于考虑到了SM的状态,该调度方法在大部分情况下能够提供比随机分 配更好的性能。然而,该调度方法却不能保证任务执行的一致性,因为它仅仅 考虑到了当前的设备是否被前一个任务所占用。也就是说这种方法并没有考虑 到任务中程序的时间相关性与空间相关性的影响,这种相关性有可能会造成任 务在各个SM中的频繁切换,造成不必要的能耗损失。同时,这种任务的相关 性还会造成大量任务在SM中迁移从而进一步造成SM执行效率的损失。
五、根据SM的状态进行更进一步的策略尝试,这是基于SM历史表现的算 法策略(Performance History Based),该算法使用了GPU的执行时间比率。该 方法在选择合适的SM执行任务之前会读取执行时间的历史信息,通过下面公 式计算History Ratio Value(PHB),称之为某个SM的历史资源使用频率。
Ratio[i]=Execution on the SMi/Execution on the SMi+1
该参数说明了各个SM在执行时间上的频率,该信息实质上反映了执行任 务在SM上的程序的时间和空间相关性;因此,可以提高整个SM资源的利用率 从而对能耗进行优化。
根据这种策略,如果某个SM的使用更频繁,说明该SM的任务相关性相对 较好,执行效率也就相对较高。被优先考虑被分配给新的任务;基于使用频率 的调度方法的伪代码。
Performance_history_Based Approach(PHB)
Figure BDA0001998909780000051
虽然考虑了GPU中各个SM的差别,然而没能考虑当前程序在对应的SM里执 行的剩余时间,进而会导致SM的过度利用和欠利用。例如,如果所有待执行的 程序依据上述计算的历史资源使用频率全部都分配给第一个SM,那么第一个SM 将会过度利用而剩余的SM将会变得欠利用。
综上所述,现有技术存在的问题是:
(1)没有考虑任务在各个SM上迁移造成的损失,例如基于设备释放的调 度算法(device history-based算法)考虑优先使用被释放的SM,但并没有考虑 任务在SM上的迁移;很可能由于多个任务的在SM之间反复迁移而产生大量的 能耗,削弱GPU的能耗性能。
(2)没有把设备资源与执行的任务进行通盘的综合考虑;基于SM历史表 现的算法策略(Performance History Based)中虽然对SM的使用率进行了考虑, 但是并没有结合任务的迁移特性,不能对SM进行均衡使用,造成了任务执行 效率不高。
解决上述技术问题的难度:
(1)目前的任务调度算法对GPU的计算单元(流处理器SM)的利用率不 高,不能综合考虑SM的利用效率以及任务的特征对能耗的影响。
(2)任务调度中的迁移现象是普遍存在的问题,任务在流处理器中的迁移 会造成能量损耗,目前的调度策略不能有效的缓解任务迁移现象。
(3)目前还没有有效的能耗优化任务调度算法能够解决以上两个问题,需 要算法设计。
解决上述技术问题的意义:
(1)针对计算单元利用率不高的问题,本发明分析了GPU环境下任务调 度能耗问题的相关因素,并创造性地抽象出了影响任务迁移的均衡影响因子CB 以及SM的历史利用率HRV,利用均衡思想来解决调度中的任务迁移造成的能 耗损失问题。通过均衡策略对SM中的任务进行合理调度,提高了计算单元的 利用率,从而减少GPU能耗损失。
(2)针对任务迁移造成的能耗损失,本发明综合利用计算资源属性(SM 历史资源利用率)与任务特性(均衡影响因子),通过把两者结合起来实现更 好的能耗优化策略。通过对任务均衡性的排序以及SM的利用率排序来优化任 务调度策略,减小了SM中的任务迁移现象,从而实现了GPU的综合能耗优化。
(3)针对能耗优化任务调度算法,本发明构建了任务均衡调度算法均衡影 响因子-设备利用率任务调度策略(CB-HRV),并且进行算法框架构建与实现。
本发明为了有效地缓解上述问题以及使得GPU能够更加广泛地应用以适应 程序的多样性,提出均衡调度策略,实现了一个低开销、可移植性好的任务能 耗优化模型。本发明的调度策略充分考虑了任务在SM上的迁移特性;并且结 合SM的设备执行效率来优化GPU的内部能耗,称为基于均衡影响因子-设备利 用率的任务调度策略(CB-HRV TaskSchedule Approach)。
发明内容
针对现有技术存在的问题,本发明提供了一种基于任务均衡调度的GPU内 部能耗优化方法。
本发明是这样实现的,一种基于任务均衡调度的GPU内部能耗优化方法, 所述基于任务均衡调度的GPU内部能耗优化方法利用待执行程序的均衡影响因 子CB以及SM使用频率信息PHB把,提出均衡影响因子以及SM使用频率信 息的CB-HRV任务调度算法;CB-HRV任务调度算法依据任务执行的时间将一 组任务按照任务的均衡影响因子分配到对应的SM中执行;策略调度器把任务 均衡地分配到各个SM中;同时,利用SM使用频率信息来提高设备资源的使用 效率。通过对待执行任务信息与资源信息的整合应用实现能耗优化的任务调度 方法。
进一步,所述CB-HRV任务调度算法具体包括:
(1)计算出各个任务的平衡影响因子CB,计算出各个SM资源的使用率 PHB;
(2)按照任务的平衡影响因子从大到小的顺序给各个任务重新排序,形成 任务队列;
(3)按照SM资源的使用率PHB从大到小的顺序给各个SM重新排序;
(4)把排序的任务队列依次匹配到排序的SM队列中。
进一步,所述CB-HRV任务调度算法形成两个队列,一个是历史使用频率 队列,另一个是任务均衡影响因子;
用TaskBalance[]表示任务均衡影响因子队列,并用SortTask(TaskBalance[i]函数对该队列降序排序;用SmRatio[]表示历史使用频率队列,并用 SortSm(SmRatio[i])函数对该队列进行降序排序;对于排序后的SM历史使用频 率PHB,使用数组SmRationIndex[]存放;对于排序后的任务均衡影响因子序列, 使用数组TaskCBIndex[]进行存储。
进一步,所述CB-HRV任务调度算法进一步包括:
(1)首先用CalculateBalance(P[i])函数计算出各个任务的平衡影响因子 CB,并存放在TaskBalance[i]数组里,接着用CalculateRatio(SM[i])计算出各个 SM资源的使用率ratio value,并存放在SmRatio[i]数组里;
(2)使用SortTask(TaskBalance[i])按照影响因子CB值从大到小的顺序给各个任务重新排序,并存放在TaskCBIndex[]数组里,形成任务队列;用 SortSm(SmRatio[i])函数按照SM使用率从大到小的顺序给各个SM重新排序,并 把结果存放在SmRationIndex[]数组里;
(3)把排序的任务队列依次匹配到排序的SM队列中。
进一步,所述基于任务均衡调度的GPU内部能耗优化方法还包括:
第一步,分析待执行任务的均衡影响因子信息,并且从小到大进行排序; 把比较容易产生迁移现象的任务分配给GPU中利用率比较高的SM而把不大受 迁移干扰的任务分配给利用率相对较低的SM;
第二部,形成两个队列,第一个队列是按照任务的均衡影响因子CB由大到 小排序的队列;任务的均衡影响因子越大,表明该任务受迁移干扰的程度也越 大;第二个队列是按SM的使用频率由大到小排序的队列PHB;使用频率PHB 值越高,说明该SM的使用频率越高,执行效率也越高;
第三步,把均衡影响因子最大的任务分配给执行效率最高的SM执行,由 此来降低由于任务迁移造成的影响;按照均衡影响因子大小依次把任务分配给 由大到小排序的SM执行,实现总体的优化策略;
第四步,通过把均衡影响因子高的任务配置到执行效率更高的SM中,在 获取待执行任务的时间信息情况下,依据任务的影响因子信息对任务进行排序, 其次获得SM的历史使用频率并排序;依照每个SM的任务队列记录的任务编号 分配给到对应的SM中。
本发明的另一目的在于提供一种应用所述基于任务均衡调度的GPU内部能 耗优化方法的图形处理器。
综上所述,本发明的优点及积极效果为:本发明分析了基于任务调度平衡 的相关理论与算法,并且提出结合设备状态与任务特性的任务平衡调度策略: 均衡影响因子-设备利用率任务调度策略(CB-HRV);策略既考虑了SM的资 源属性同时也考虑了任务在SM中的迁移特性,利用算法在GPU中实现了动态 的工作负载均衡调度。本发明对每个SM的资源利用率进行分析,并且利用任 务的特性进行任务的均衡调度,实现了在多个SM中的动态平衡调度,达到了 GPU的能耗优化目标。
本发明通过对处理单元合理地分配任务用以减少任务执行期间的***能耗 的消耗。CB-HRV任务调度方法首先获得一组任务的时间数据,并按照均衡影 响因子对它们进行排序,同时对执行任务的具体SM使用历史利用率进行排序, 然后利用均衡调度的思想依次将降序后的任务编号分配到降序排序的处理单元 上,实现基于均衡的GPU能耗优化调度方法。
在实验部分,本发明分别对四种动态分配方案进行实验对比并分析了优劣; 实验结果表明,均衡影响因子-设备利用率任务调度策略能够使GPU的能耗性能 提高了15.69%。执行时间的调度方案,实验结果表明,与现有方法相比,CB-HRV 方案能耗平均为10.38%;与现有方法相比,本发明的调度方法更有效,执行时 间的调度方案;实验结果表明,与现有方法相比,本发明的CB-HRV方案能耗 平均为10.38%;与现有方法相比,从实验结果上看,本发明提出的CB-HRV方 法是有效的、合理的和可行的。
附图说明
图1是本发明实施例提供的基于任务均衡调度的GPU内部能耗优化方法流 程图。
图2是本发明实施例提供的SM中的任务迁移现象示意图;
图中:(a)任务长生过载现象;(b)重新调度任务产生任务迁移现象。
图3是本发明实施例提供的SM中不同分配方案的任务完成时间示意图。
图4是本发明实施例提供的不同基准测试程序的均衡影响因子示意图。
图5是本发明实施例提供的Matrix Multiplication任务执行时序图。
图6是本发明实施例提供的Matrix Multiplicatio调度时间分配比例图。
图7是本发明实施例提供的Histogram任务执行时序图。
图8是本发明实施例提供的Histogram调度时间分配比例图。
图9是本发明实施例提供的Scalar products任务执行时序图。
图10是本发明实施例提供的Scalar products调度时间分配比例图。
图11是本发明实施例提供的Scalar products任务执行时序图。
图12是本发明实施例提供的Scalar products调度时间分配比例图。
图13是本发明实施例提供的不同调度方案的平均能量消耗(测试一)示意 图。
图14是本发明实施例提供的不同调度方案的平均能量消耗(测试二)示意 图。
图15是本发明实施例提供的不同调度方案的平均能量消耗(测试三)示意 图。
图16是本发明实施例提供的CB-HRV调度方法的能耗提升对比示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例, 对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以 解释本发明,并不用于限定本发明。
本发明分析了GPU环境下任务调度能耗问题的相关因素,并将此问题转化 为任务调度问题。创造性地引入任务的均衡影响因子,利用均衡思想来解决调 度中的任务迁移造成的能耗损失问题,通过均衡策略对SM中的任务进行合理 调度减少GPU能耗损失。综合使用资源属性与任务的均衡特性,通过把两者结 合起来实现更好的能耗优化策略,并对均衡调度进行了。通过对任务均衡性的 排序以及SM的利用率排序来优化任务调度策略,实现GPU的综合能耗优化。 构建了任务均衡调度算法均衡影响因子-设备利用率任务调度策略(CB-HRV), 并且进行了代码构建。
下面结合附图对本发明的应用原理做详细的描述。
如图1所示,本发明实施例提供的基于任务均衡调度的GPU内部能耗优化 方法包括以下步骤:
S101:分析待执行任务的均衡影响因子信息,并且从小到大进行排序;把 比较容易产生迁移现象的任务分配给GPU中利用率比较高的SM而把不大受迁 移干扰的任务分配给利用率相对较低的SM;
S102:形成两个队列,第一个队列是按照任务的均衡影响因子CB由大到小 排序的队列;任务的均衡影响因子越大,表明该任务受迁移干扰的程度也越大; 第二个队列是按SM的使用频率由大到小排序的队列PHB;使用频率PHB值越 高,说明该SM的使用频率越高,执行效率也越高;
S103:把均衡影响因子最大的任务分配给执行效率最高的SM执行,由此 来降低由于任务迁移造成的影响。接下来,按照均衡影响因子大小依次把任务 分配给由大到小排序的SM执行,实现总体的优化策略;
S104:通过把均衡影响因子高的任务配置到执行效率更高的SM中,在获 取待执行任务的时间信息情况下,依据任务的影响因子信息对任务进行排序, 其次获得SM的历史使用频率并排序;依照每个SM的任务队列记录的任务编号 分配给到对应的SM中。
下面结合附图对本发明的应用原理作进一步的描述。
1、SM任务调度中的迁移现象
在GPU中的任务调度中,某个任务不可能只在一个固定的SM中完成,任 务在SM中的迁移是不可避免的现象。图2中有两个任务,SM中的调度器动 态地监视其调度队列。在图2中任务在两个SM中的迁移过程。(a)是没有执行 任务迁移的过程,两个任务在两个SM中分别执行。从图2中看出,任务1被 分配在了SM1和SM2上执行。调度器把第二个任务(用橘色表示)分配给了 SM2执行。但任务1的一部分和任务2同时在SM2上执行,造成SM2过载。 这时,为了避免SM由于过载而死机,调度器会把任务2调度在负载较小的SM1 上执行,如图2所示。
任务调度器可以通过以上策略重新分配任务以避免GPU的异常。但与此同 时,由于任务迁移造成了GPU的多余开销,任务需要在SM之间进行切换。如 果有n个任务进入SM组件,由于任务迁移产生的开销将会继续增大,造成能 耗的增加。在任务的调度策略中应该尽量避免任务在各个SM中的迁移。
2、均衡任务调度策略分析
一个任务如果有多个warp,warp需要在多个SM上执行。如果要考虑某个 任务的执行效率,考虑任务在各个SM综合执行的完成时间。图3对某个任务 在两个SM(SM1,SM2)的执行进行了说明。
在图3中,呈现了同一个任务在两个SM中采取不同的任务分配策略产生 的差异。该任务需要100个时钟周期完成,在第一种情况下,任务分配策略在 SM1上分配了20个周期的任务,并把后面的80个时钟周期的任务交给SM2完 成。任务分配方案总共需要80个时钟周期完成。第二种分配方案则把40个时 钟周期的任务分配给了SM1,另外的60个时钟周期任务则分配给SM2完成。 这种分配方案下整个任务在60个周期内完成执行。看到,后一种方案(60个时 钟周期)完成得更快。第二种工作负载分配方案更有效地使用了GPU内部的SM资源,这种方案是更均衡的分配策略。
为了说明两种策略的不同,抽象出了均衡影响因子CB(coefficient ofbalance):
Figure BDA0001998909780000121
式中:CB表示任务的影响因子。其中σ是标准偏差,λ是SM完成时间 的平均值;分别计算刚才方案中的CB第一种分配方案的CB值是72.8%,第二 种方案的CB值是45.1%。为了找到各个任务均衡影响因子的规律,使用一组 CUDA基准程序来测试它们的CB值。实验选取了4个典型的CUDA benchmark 程序,分别为Matrix Multiplication、histogram、scalarproducts以及BlackScholes。 下表详细展示了实验所用到的四个benchmark程序参数。
表1基准测试程序
Figure BDA0001998909780000131
使用模拟器对这4组基准程序进行测试,并计算了它们的CB值,结果在图 4中所示,MM的CB值约为40%,HG的CB值超过了60%。SP和BS的CB 值相对较小,SP约为35%,BS的CB值不到5%。任务调度器在应用程序执行 期间将监视此类工作负载不平衡,并将未完成的warp从过载的SM重新分配到 相邻的SM,更有效地使用SM。这说明了不同任务特性具有不同的均衡影响因 子,从实验中总结出任务的均衡影响因子与任务的迁移有正比关系,也就是说 某个任务的均衡影响因子越大,它在SM之间进行迁移的可能性越高。影响任 务完成的效率并最终反映在能耗方面,观察启发本发明把所有的任务按某种方 式进行通盘的排序,然后按排序把任务在SM中进行分配,以此提高每个SM的 利用率,达到整体能耗优化的目标。
3、基于任务均衡影响因子与计算资源利用率的调度策略
为了避免任务的迁移,并且实现均衡调度的任务分配策略,找到一种均衡 的调度策略。该策略能够克服原来调度策略中的不足。实现(1)尽量避免不必 要的SM中任务迁移的现象,以减少由于任务迁移产生的能耗损失。(2)综合 使用资源属性与任务特性。目前的方案一般使用SM状态或是任务特性中的一 种作为调度策略的依据,把两者结合起来实现更好的能耗优化策略。(3)通过 均衡策略对SM中的任务进行合理调度实现GPU的综合能耗优化;这需要充分 考虑任务调度的均衡性,更有效地利用SM计算资源。
在异构***中,对SM分配恰当的待执行的任务是决定***执行时间的一 个重要的因素。因此,通过综合考虑均衡影响因子CB以及SM历史使用频率信 息PHB把待执行的任务合理地分配到恰当的SM中是可以实现任务的均衡调度 和提高SM利用率实现能耗优化的目标的。
根据现存方法的不足,综合利用待执行程序的均衡影响因子CB以及SM使 用频率信息PHB把,提出了均衡影响因子以及SM使用频率信息的CB-HRV任 务调度策略(CB-HRVScheduling Scheme)。CB-HRV任务调度算法的思想是 依据任务执行的时间将一组任务按照任务的均衡影响因子分配到对应的SM中 执行。按照这个策略调度器把任务均衡地分配到各个SM中,有效地避免了任 务在各个SM中的迁移,同时,利用SM使用频率信息来提高设备资源的使用效 率。通过对待执行任务信息与资源信息的整合应用实现一种能耗优化的任务调 度方法。
具体的方法是分析需分配任务的均衡影响因子以及SM的历史利用率,综 合利用这两个信息对任务进行均衡有效的调度。首先分析待执行任务的均衡影 响因子信息,并且从小到大进行排序。均衡影响因子越小说明该任务在SM上 的分布越均匀,不大会受到任务迁移的干扰。相反,如果均衡影响因子越大则 说明该任务在SM上的分布越不均匀,受到任务迁移干扰的程度更大。基于这 个分析,把比较容易产生迁移现象的任务分配给GPU中利用率比较高的SM而 把不大受迁移干扰的任务分配给利用率相对较低的SM。在总上减少了任务在SM中的迁移现象,并同时提高了SM的利用率,提高整体GPU的能耗优化策 略。
在具体实现上,形成两个队列,如图5所示。第一个队列是按照任务的均 衡影响因子CB由大到小排序的队列。任务的均衡影响因子越大,表明该任务受 迁移干扰的程度也越大;第二个队列是按SM的使用频率由大到小排序的队列 PHB。使用频率PHB值越高,说明该SM的使用频率越高,执行效率也越高。 接着,把均衡影响因子最大的任务分配给执行效率最高的SM执行,由此降低 由于任务迁移造成的影响。按照均衡影响因子大小依次把任务分配给由大到小 排序的SM执行,实现总体的优化策略。
通过把均衡影响因子高的任务(迁移度比较高的任务)配置到执行效率更 高的SM中(PHB值更高),可以获得更好的能耗效果。具体步骤是,在获取 待执行任务的时间信息情况下,首先依据任务的影响因子信息对任务进行排序, 其次获得SM的历史使用频率并排序。然后依照每个SM的任务队列记录的任务 编号分配给到对应的SM中。
4、CB-HRV任务调度策略的调度算法
CB-HRV任务调度算法具体的实施步骤如下:
(1)计算出各个任务的平衡影响因子CB,计算出各个SM资源的使用率 PHB。
(2)按照任务的平衡影响因子从大到小的顺序给各个任务重新排序,形成 任务队列。
(3)按照SM资源的使用率PHB从大到小的顺序给各个SM重新排序。
(4)把排序的任务队列依次匹配到排序的SM队列中。
CB-HRV算法需要形成两个队列,一个是历史使用频率队列,另一个是任 务均衡影响因子。并对它们进行分别排序。用TaskBalance[]表示任务均衡影响 因子队列,并用SortTask(TaskBalance[i]函数对该队列降序排序。用SmRatio[] 表示历史使用频率队列,并用SortSm(SmRatio[i])函数对该队列进行降序排序。 对于排序后的SM历史使用频率PHB,使用数组SmRationIndex[]来存放。对于 排序后的任务均衡影响因子序列,使用数组TaskCBIndex[]进行存储。表 2CB-HRV调度算法的伪代码。
表2均衡影响因子-设备利用率任务调度算法
CB-HRV Task Scheduling Approach
Figure BDA0001998909780000161
对算法的说明如下:
(1)第3-5行,首先用CalculateBalance(P[i])函数计算出各个任务的平衡 影响因子CB,并存放在TaskBalance[i]数组里,接着第6-8行用 CalculateRatio(SM[i])计算出各个SM资源的使用率ratio value,并存放在 SmRatio[i]数组里。
(2)第9行使用SortTask(TaskBalance[i])按照影响因子CB值从大到小的顺 序给各个任务重新排序,并存放在TaskCBIndex[]数组里,形成任务队列。第10 行用SortSm(SmRatio[i])函数按照SM使用率从大到小的顺序给各个SM重新排 序,并把结果存放在SmRationIndex[]数组里。
(3)第11-31行把排序的任务队列依次匹配到排序的SM队列中。按照任务 的数量Number(P)分成两种情况。第一种情况是任务数量不大于SM的数量,第 11-18行处理第一种情况。直接把排序后的任务定位到相应地SM上。首先用函 数isSMfree(i)判断参加分配的SM是否可以。如果SM可以参加分配,则利用函 数mappingSM[i](P[i])把任务分配到相应地SM上。第二种情况是任务数量大于 SM的数量,第19-28行处理第二种情况。这种情况则把任务分成若干组(每组 的数量为NumSM),仍然利用函数mappingSM[j](P[i])把任务分配到相应地SM 上。第29-30行释放两个索引数组,以便在下一次分配时使用。
下面结合实验对本发明的应用效果作详细的描述。
为了能够比较RAD、DFB、PHB以及CB-HRV调度方法,对四种调度方法 进行了性能对比分析。实验分为3个部分,第一个部分为实验设计和实验环境 参数说明;第二个部分为CB-HRV算法均衡性分析,本发明对比了RAD、DFB、 PHB以及CB-HRV四种调度算法在SM上的任务分配的均衡特征,并进行了分 析。第三个部分为CB-HRV算法能耗分析,本发明对比分析了RAD、DFB、PHB 以及CB-HRV调度算法的能耗性能。
1、实验设计与实验参数说明
(1)实验的实施步骤如下:
(a)获得程序在各个GPU上的时间。用RAD、DFB、PHB以及CB-HRV调 度方法依次运行20个测试程序,并获得4个SM上的执行时间图,由此计算出 每个SM上执行所占的时间比例。
(b)用RAD、DFB、PHB以及CB-HRV调度方法依次运行以上测试程序,并 利用功率计通过测量电流及其输入电压来测量整个器件的功耗,从而得到四种 不同调度方法的功耗数据。
(2)实验环境
本实验的软硬件实验环境如表3所示。异构***的硬件实验环境采用的 CSM是i5-7500处理器和4块NVIDIA GeForce GTX 1060显卡。硬件实验环境 中的***内存为8GB,GPU内存为6GB。GPU采用的架构是Pascal,它拥有 10个SM(Streaming Multiprocessors,每个SM包含了128个SMDA核,总共 1280个SMDA核,可提供4.4TFLOPS浮点运算能力。软件实验环境为windows 10,VS2015以及SMDA9.2。下表是详细描述。
表3实验中所用到的软硬件环境
Figure BDA0001998909780000181
2、CB-HRV调度算法均衡性分析
本发明在GPU上分别运行20个Matrix Multiplication、histogram、scalarproducts以及BlackScholes测试程序,并获得每一种情况在4个SM上的执行1 秒的执行时间图。
(1)Matrix Multiplication测试程序分析
本发明对4个SM任务执行时间的分配情况进行展示。图5展示了20个 MatrixMultiplication及其所对应的输入范围情况下的4个SM在一秒内的任务执 行时序图。
为了更直观的研究Matrix Multiplication在4个SM中执行时间所占比例, 本发明用饼图进行展示。
由图6中可以看出,RAD方法中的SM最大的执行时间占整个执行时间的 图38.71%,SM最小的执行时间占整个执行时间的14.66%,两者相差24.05%的 执行时间。DFB方法中的SM最大的执行时间占整个执行时间的34.79%,SM 最小的执行时间占整个执行时间的14.66%,两者相差17.64%的执行时间。PHB 方法中的SM最大的执行时间占整个执行时间的34.79%,SM最小的执行时间 占整个执行时间的18.26%,两者相差16.53%的执行时间。CB-HRV方法中的最 大的执行时间占整个执行时间的27.67%,最小的执行时间占整个执行时间的 23.06%,两者相差4.61%的执行时间。可以明看出基于CB-HRV调度算法在4 个SM上的任务分布比其他三种调度更均衡。
(2)Histogram测试程序分析
本发明对4个SM任务执行时间的分配情况进行展示。图6展示了20个 Histogram及其所对应的输入范围情况下的4个SM在一秒内的任务执行时序图。 为了更直观的研究Histogram在4个SM中执行时间所占比例,本发明用饼图进 行了展示。
由图7中可以看出,RAD方法中的SM最大的执行时间占整个执行时间的 图32.88%,SM最小的执行时间占整个执行时间的16.78%,两者相差16.10%的 执行时间。DFB方法中的SM最大的执行时间占整个执行时间的31.78%,SM 最小的执行时间占整个执行时间的18.93%,两者相差12.85%的执行时间。PHB 方法中的SM最大的执行时间占整个执行时间的30.76%,SM最小的执行时间 占整个执行时间的20.64%,两者相差9.11%的执行时间。CB-HRV方法中的最 大的执行时间占整个执行时间的25.12%,最小的执行时间占整个执行时间的 24.85%,两者相差仅为0.27%的执行时间。可以明显的看出基于CB-HRV调度 算法在4个SM上的任务分布比其他三种调度更均衡。
(3)Scalar products测试程序分析
本发明对4个SM任务执行时间的分配情况进行展示。图6展示了20个 Scalarproduct及其所对应的输入范围情况下的4个SM在一秒内的任务执行时 序图。为了更直观的研究测试程序在4个SM中执行时间所占比例,本发明用 饼图进行了展示。
由图8中可以看出,RAD方法中的SM最大的执行时间占整个执行时间的 图38.50%,SM最小的执行时间占整个执行时间的15.29%,两者相差23.21%的 执行时间。DFB方法中的SM最大的执行时间占整个执行时间的35.57%,SM 最小的执行时间占整个执行时间的19.35%,两者相差16.22%的执行时间。PHB 方法中的SM最大的执行时间占整个执行时间的34.58%,SM最小的执行时间 占整个执行时间的19.32%,两者相差15.26%的执行时间。CB-HRV方法中的最 大的执行时间占整个执行时间的29.23%,最小的执行时间占整个执行时间的 21.43%,两者相差7.80%的执行时间。可以看出基于CB-HRV调度算法在4个 SM上的任务分布比其他三种调度更均衡。
(4)BlackScholes测试程序分析
本发明对4个SM任务执行时间的分配情况进行展示。图6展示了20个BlackScholes及其所对应的输入范围情况下的4个SM在一秒内的任务执行时序 图,如图9。
为了更直观的研究测试程序在4个SM中执行时间所占比例,本发明用饼 图进行了展示。
由图10中可以看出,RAD方法中的SM最大的执行时间占整个执行时间的 图38.54%,SM最小的执行时间占整个执行时间的13.82%,两者相差24.72%的 执行时间。DFB方法中的SM最大的执行时间占整个执行时间的34.61%,SM 最小的执行时间占整个执行时间的16.92%,两者相差17.69%的执行时间。PHB 方法中的SM最大的执行时间占整个执行时间的34.42%,SM最小的执行时间 占整个执行时间的17.42%,两者相差17.00%的执行时间。CB-HRV方法中的最 大的执行时间占整个执行时间的32.32%,最小的执行时间占整个执行时间的18.36%,两者相差13.96%的执行时间。可以看出基于CB-HRV调度算法在4个 SM上的任务分布比其他三种调度更均衡。
从4种测试程序的均衡性分析,可以从数据中得出CB-HRV调度方法在每 种测试中相较于其他三种调度方案的均衡性都是最好的。其改善效果的的顺序 依次是histogram,Matrix Multiplication,scalar products以及BlackScholes,这与 四种测试程序的任务迁移特性是吻合的。Histogram改善效果最好的原因是由于 histogram测试程序是4个测试程序中任务迁移现象最为明显的。
从执行时间的比率上来看,CB-HRV调度较RAD、DFB和PHB调度对任 务的分配均匀且合理。这验证了CB-HRV调度方法的均衡特性,这种均衡性可 以有效的减少任务在SM的迁移现象,并且更有效地利用所有的SM的计算能力。 最终,这种均衡特性将有效减小GPU的能耗。
3、CB-HRV调度算法能耗分析
为了验证CB-HRV调度算法的能耗特性,本发明测量了不同调度策略和不 同输入条件下四个基准程序的平均能耗。对RAD,DFB和PHB调度策略的能 耗特性进行了比较分析。表4详细展示了实验所用到的四个benchmark程序参 数。
表4
Figure BDA0001998909780000211
本发明对每个执行序列本发明使用了18种情况进行仿真。由于这四个程序 对于能耗和性能对调度程序有很强的影响,因此本发明多次测试了四个程序中 的所有的序列。然后,对每种情况使用了平均的数值进行比较。对于能耗的测 量,在本实验中,本发明使用了功率计作为***能耗测量工具。它测量的能耗 为输入到异构***的能耗。
在实验中,本发明选择了典型的调度方法进行比较。这些方法分别是RAD、 DFB和PHB。在实验中,由于RAD和DFB调度方式的性能及***能耗受待执 行程序的执行顺序较大。为此,采用了多次执行求平均值的方法获取。由于本 实验的实验环境是***中所有的GPU都是相同的,因此,程序执行的顺序对对 PHB方法同样产生了影响,在实验中同样采用了多次执行求平均值的方法获取。 在实验中,本实验的CB-HRV实现方法如下,首先对本实验所提出的方法在 VS2015中进行了实现;在得到CB-HRV输出结果后,利用输出后得到的程序序列重新编程进行运行。
为了验证CB-HRV调度算法的能耗特性,本发明把四个benchmark程序在 不同的调度策略以及不同的输入情况下进行平均能耗的测量。所对比的方法是 RAD、DFB和PHB调度策略,调度策略所使用的输入情况考虑了典型的任务数 以及每个任务的典型输入情况。下表5是三个测试中RAD、DFB、PHB以及 CB-HRV调度的能耗情况。
表5
Figure BDA0001998909780000221
为了更清楚的进行对比,本发明用柱状图分别对三次测试的数据进行展示, 图中的横坐标表示不同的调度方法,纵坐标表示消耗的能耗。
测试1的输入任务数为24,能耗测量结果见图13。在图中可以看到RAD 的方法所消耗的平均能耗最多,DFB和PHB所消耗的平均能耗相当,CB-HRV 所消耗的能耗最小图13显示了各种方法的能量消耗。总体而言,与基于24个 输入任务及其相应输入范围的RAD方法相比,CB-HRV方法实现了平均节能 13.53%;相较DFB平均节能5.16%;相较PHB方法,CB-HRV方法平均节省 了5.60%的能量。
测试2的输入任务数为40,图14显示RAD方法消耗最多的能量。DFB 和PHB在能量消耗量次之,与RAD方法相比,CB-HRV方法实现了平均节能 11.41%;相较DFB平均节能5.14%;相较PHB方法,CB-HRV方法平均节省 了3.93%的能量。
测试3的能耗测量结果见图15,RAD方法消耗的能量最多,DFB和PHB 具有相同的平均能量消耗,而CB-HRV消耗的能量最少。与RAD方法相比, CB-HRV方法实现了平均节能7.97%;相较DFB平均节能4.95%;相较PHB方 法,CB-HRV方法平均节省了4.48%的能量。
为了更清晰的显示CB-HRV方法的能耗提升效果,本发明用提升率对比图 对以上三个实验的能耗效果进行了表示,如图16所示。
综上所述,在不同的任务数和不同输入范围情况的实验下,本实验提出的 CB-HRV方法较RAD、DFB和PHB能够均匀分配任务。从能耗效果上看,较 RAD方法平均节能10.97%,较DFB平均节能5.09%,较PHB平均节能4.67%。
RAD方法之所以平均消耗的能耗最多在于只考虑了任务的数量,未考虑SM 的状态及任务的状态因素,造成了仅考虑任务数而没考虑SM的状态及执行时 间进而消耗了较多的能耗。DFB和PHB所消耗的平均能耗几乎相当,原因是于 PHB方法在相同GPU的环境下导致了PHB调度方法退化为DFB方法。由于 DFB和PHB考虑了***中的SM的使用状态,因此在任务分配上要好于RAD 方法,在图中DFB方法和PHB方法的能耗消耗要小于RAD方法。
从图中可以看出,CB-HRV方法比其他的三种方法的节能效果更好,这归 功于CB-HRV算法的均衡性。由于任务在各个SM的分配更合理有效,减小了 任务在SM之间的迁移现象,使得新的算法取得了更好的能耗优化效果。实验 结果说明了本实验提出的CB-HRV方法更具有任务均衡特性,能耗性能也更好。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。

Claims (5)

1.一种基于任务均衡调度的GPU内部能耗优化方法,其特征在于,所述基于任务均衡调度的GPU内部能耗优化方法利用待执行程序的均衡影响因子CB以及SM使用频率信息PHB,提出均衡影响因子以及SM使用频率信息的CB-HRV任务调度算法;CB-HRV任务调度算法依据任务执行的时间将一组任务按照任务的均衡影响因子分配到对应的SM中执行;策略调度器把任务均衡地分配到各个SM中;同时,利用SM使用频率信息来提高设备资源的使用效率;通过对待执行任务信息与资源信息的整合应用实现能耗优化的任务调度方法;
所述均衡影响因子CB(coefficient of balance)为:
Figure FDA0002971893320000011
式中:CB表示任务的影响因子;其中σ是标准偏差,λ是SM完成时间的平均值;
所述CB-HRV任务调度算法具体包括:
(1)计算出各个任务的平衡影响因子CB,计算出各个SM资源的使用率PHB;
(2)按照任务的平衡影响因子从大到小的顺序给各个任务重新排序,形成任务队列;
(3)按照SM资源的使用率PHB从大到小的顺序给各个SM重新排序;
(4)把排序的任务队列依次匹配到排序的SM队列中。
2.如权利要求1所述的基于任务均衡调度的GPU内部能耗优化方法,其特征在于,所述CB-HRV任务调度算法形成两个队列,一个是历史使用频率队列,另一个是任务均衡影响因子;
用TaskBalance[]表示任务均衡影响因子队列,并用SortTask(TaskBalance[i])函数对该队列降序排序;用SmRatio[]表示历史使用频率队列,并用SortSm(SmRatio[i])函数对该队列进行降序排序;对于排序后的SM历史使用频率PHB,使用数组SmRationIndex[]存放;对于排序后的任务均衡影响因子序列,使用数组TaskCBIndex[]进行存储。
3.如权利要求1所述的基于任务均衡调度的GPU内部能耗优化方法,其特征在于,所述CB-HRV任务调度算法进一步包括:
(1)首先用CalculateBalance(P[i])函数计算出各个任务的平衡影响因子CB,并存放在TaskBalance[i]数组里,接着用CalculateRatio(SM[i])计算出各个SM资源的使用率ratio value,并存放在SmRatio[i]数组里;
(2)使用SortTask(TaskBalance[i])按照影响因子CB值从大到小的顺序给各个任务重新排序,并存放在TaskCBIndex[]数组里,形成任务队列;用SortSm(SmRatio[i])函数按照SM使用率从大到小的顺序给各个SM重新排序,并把结果存放在SmRationIndex[]数组里;
(3)把排序的任务队列依次匹配到排序的SM队列中。
4.如权利要求1所述的基于任务均衡调度的GPU内部能耗优化方法,其特征在于,所述基于任务均衡调度的GPU内部能耗优化方法还包括:
第一步,分析待执行任务的均衡影响因子信息,并且从小到大进行排序;把比较容易产生迁移现象的任务分配给GPU中利用率比较高的SM而把不大受迁移干扰的任务分配给利用率相对较低的SM;
第二步,形成两个队列,第一个队列是按照任务的均衡影响因子CB由大到小排序的队列;任务的均衡影响因子越大,表明该任务受迁移干扰的程度也越大;第二个队列是按SM的使用频率由大到小排序的队列PHB;使用频率PHB值越高,说明该SM的使用频率越高,执行效率也越高;
第三步,把均衡影响因子最大的任务分配给执行效率最高的SM执行,由此来降低由于任务迁移造成的影响;按照均衡影响因子大小依次把任务分配给由大到小排序的SM执行,实现总体的优化策略;
第四步,通过把均衡影响因子高的任务配置到执行效率更高的SM中,在获取待执行任务的时间信息情况下,依据任务的影响因子信息对任务进行排序,其次获得SM的历史使用频率并排序;依照每个SM的任务队列记录的任务编号分配给到对应的SM中。
5.一种应用权利要求1~4任意一项所述基于任务均衡调度的GPU内部能耗优化方法的图形处理器。
CN201910205801.4A 2019-03-19 2019-03-19 一种基于任务均衡调度的gpu内部能耗优化方法 Expired - Fee Related CN109992385B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910205801.4A CN109992385B (zh) 2019-03-19 2019-03-19 一种基于任务均衡调度的gpu内部能耗优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910205801.4A CN109992385B (zh) 2019-03-19 2019-03-19 一种基于任务均衡调度的gpu内部能耗优化方法

Publications (2)

Publication Number Publication Date
CN109992385A CN109992385A (zh) 2019-07-09
CN109992385B true CN109992385B (zh) 2021-05-14

Family

ID=67130518

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910205801.4A Expired - Fee Related CN109992385B (zh) 2019-03-19 2019-03-19 一种基于任务均衡调度的gpu内部能耗优化方法

Country Status (1)

Country Link
CN (1) CN109992385B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110532071B (zh) * 2019-07-12 2023-06-09 上海大学 一种基于gpu的多应用调度***和方法
CN110991732B (zh) * 2019-11-28 2023-06-16 武汉理工大学 一种基于能耗聚类的建材装备制造过程优化调度方法
CN111240461B (zh) * 2020-01-09 2023-07-21 黔南民族师范学院 一种基于任务调度的异构计算***低功耗方法
CN111309475B (zh) * 2020-01-21 2022-12-02 上海万物新生环保科技集团有限公司 一种检测任务执行方法及设备
CN113157407B (zh) * 2021-03-18 2024-03-01 浙大宁波理工学院 一种在gpu中并行处理视频压缩的动态任务迁移调度方法
CN113448705B (zh) * 2021-06-25 2023-03-28 皖西学院 一种不平衡作业调度算法
CN115237605B (zh) * 2022-09-19 2023-03-28 四川大学 Cpu与gpu间的数据传输方法及计算机设备
CN117573321A (zh) * 2023-11-24 2024-02-20 数翊科技(北京)有限公司 一种基于数据库的周期性调度任务动态编排方法及***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901042A (zh) * 2010-08-27 2010-12-01 上海交通大学 多gpu***中基于动态任务迁移技术的降功耗方法
US9268601B2 (en) * 2010-04-05 2016-02-23 Nvidia Corporation API for launching work on a processor
US9286114B2 (en) * 2012-12-13 2016-03-15 Nvidia Corporation System and method for launching data parallel and task parallel application threads and graphics processing unit incorporating the same
CN106502632A (zh) * 2016-10-28 2017-03-15 武汉大学 一种基于自适应线程束的gpu并行粒子群优化方法
CN108121433A (zh) * 2017-12-06 2018-06-05 中国航空工业集团公司西安航空计算技术研究所 一种gpu多处理器***的任务调度方法
CN109445565A (zh) * 2018-11-08 2019-03-08 北京航空航天大学 一种基于流多处理器内核独占和预留的gpu服务质量保障方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9268601B2 (en) * 2010-04-05 2016-02-23 Nvidia Corporation API for launching work on a processor
CN101901042A (zh) * 2010-08-27 2010-12-01 上海交通大学 多gpu***中基于动态任务迁移技术的降功耗方法
US9286114B2 (en) * 2012-12-13 2016-03-15 Nvidia Corporation System and method for launching data parallel and task parallel application threads and graphics processing unit incorporating the same
CN106502632A (zh) * 2016-10-28 2017-03-15 武汉大学 一种基于自适应线程束的gpu并行粒子群优化方法
CN108121433A (zh) * 2017-12-06 2018-06-05 中国航空工业集团公司西安航空计算技术研究所 一种gpu多处理器***的任务调度方法
CN109445565A (zh) * 2018-11-08 2019-03-08 北京航空航天大学 一种基于流多处理器内核独占和预留的gpu服务质量保障方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Controlled Kernel Launch for Dynamic Parallelism in GPUs;Xulong Tang,Ashutosh Pattnaik,Huaipan Jiang,Onur Kayiran;《2017 IEEE International Symposium on High Performance Computer Architecture 》;20170508;第1-12页 *
GPU内置传感器的功耗数据矫正方法研究;李君科,郭兵,沈艳,李德光,黄彦辉,戚正伟;《电子科技大学学报》;20160331;第45卷(第2期);第282-287页 *

Also Published As

Publication number Publication date
CN109992385A (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
CN109992385B (zh) 一种基于任务均衡调度的gpu内部能耗优化方法
US8707314B2 (en) Scheduling compute kernel workgroups to heterogeneous processors based on historical processor execution times and utilizations
US8144149B2 (en) System and method for dynamically load balancing multiple shader stages in a shared pool of processing units
Kang et al. Lalarand: Flexible layer-by-layer cpu/gpu scheduling for real-time dnn tasks
US20150160970A1 (en) Configuring thread scheduling on a multi-threaded data processing apparatus
Barbosa et al. Dynamic scheduling of a batch of parallel task jobs on heterogeneous clusters
CN106201707A (zh) 处理器资源分配方法及装置
CN111104211A (zh) 基于任务依赖的计算卸载方法、***、设备及介质
CN111240461A (zh) 一种基于任务调度的异构计算***低功耗方法
US20150113542A1 (en) Knapsack-based sharing-aware scheduler for coprocessor-based compute clusters
Huang et al. Novel heuristic speculative execution strategies in heterogeneous distributed environments
CN113168344A (zh) 通过提高集群多样性实现的分布式资源管理
US20030177163A1 (en) Microprocessor comprising load monitoring function
KR101177059B1 (ko) 병렬 제어 모듈을 동적으로 할당하는 방법
US10162679B2 (en) Method and system for assigning a computational block of a software program to cores of a multi-processor system
CN114896029A (zh) 电力***仿真优化计算方法、装置、设备及可读存储介质
Thomas et al. Dynamic optimizations in gpu using roofline model
US9703604B2 (en) Configurable thread ordering for throughput computing devices
Azimi et al. PowerCoord: A coordinated power capping controller for multi-CPU/GPU servers
CN116795503A (zh) 任务调度方法、任务调度装置、图形处理器及电子设备
Huang et al. GPU Energy optimization based on task balance scheduling
CN111221640B (zh) 一种gpu-cpu协同节能方法
CN113886057B (zh) 异构众核上基于剖析技术以及数据流信息的动态资源调度方法
Qouneh et al. Optimization of resource allocation and energy efficiency in heterogeneous cloud data centers
CN114579284A (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210514