CN103064741B - 一种基于能量模型的可分负荷调度方法 - Google Patents
一种基于能量模型的可分负荷调度方法 Download PDFInfo
- Publication number
- CN103064741B CN103064741B CN201210570086.2A CN201210570086A CN103064741B CN 103064741 B CN103064741 B CN 103064741B CN 201210570086 A CN201210570086 A CN 201210570086A CN 103064741 B CN103064741 B CN 103064741B
- Authority
- CN
- China
- Prior art keywords
- load
- avg
- divided
- processor
- scheduling
- 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
Classifications
-
- 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
- Supply And Distribution Of Alternating Current (AREA)
Abstract
一种基于能量模型的可分负荷调度方法,输入:处理器的最大处理速度μ1,μ2,…,μn,可分负荷总长J,给定时间T;输出:负荷分配α1,α2…αn,处理速度s1,s2…sn,在动态电压调节技术的基础上,以最小化能量消耗为目标,实现了基于能量模型的可分负荷的调度。本发明提供一种能减少日益增长的能量消耗,提高计算系统的能量利用率的基于能量模型的可分负荷调度方法,在DVS技术的基础上,根据特定的能量模型,以最小化能量消耗为目标,在给定的时间内,对总线型网络环境下的可分负荷进行了合理的调度,不需要重复迭代,不存在计算时间复杂度问题和计算收敛问题。
Description
技术领域
本发明涉及并行和分布式计算领域的可分负荷调度方法。
背景技术
随着网络技术的发展和普及,并行和分布式计算的应用也越来越广泛,包括并行集群、计算网格、P2P系统、无线传感器网络和云计算等。并行和分布式计算已经成为了网络时代的主流和发展趋势。
在并行和分布式计算领域,作业调度是计算的重点和难点问题。不合适的调度算法将会导致资源的浪费和系统性能的大幅下降。作业调度问题不仅与作业负荷的特性有关,也与承担计算的参与者(即计算资源)有关,而且不同的目标函数,也会产生不同的作业调度算法。
可分负荷,是作业调度中一种特殊的负荷,它可以分割成任意大小的独立负荷,并分布给不同的计算资源执行。在许多科学和工程领域,可分负荷得到了广泛应用,如计算网格,信号、传感器和工程实验等数据处理,数据密集型计算和数据并行计算等。可分负荷不仅可以应用于很多科学和工程领域的分布式计算,如图像处理、数据库、线性代数和多媒体广播等。同时,可分负荷也可以应用于大规模并行和分布式计算系统,如计算网格、并行集群、无线传感器网络和云计算等。由于可分负荷的典型性和广泛性,形成了系统的可分负荷理论(DLT:Divisible Load Theory)。DLT理论提供了在各种类型的网络平台上,作业调度的分析结果和优化算法,如总线网络、树型网络、星型网络和线性网络等。
迄今为止,很多文献研究了不同场景的可分负荷调度问题,包括不同的网络环境、不同的调度方式、不同的系统结构、以及不同的应用领域等。虽然不同场景的调度算法不一样,但算法调度的目标都是优化某个时间值或与时间相关的值,如响应时间等。但是,随着电子芯片技术的发展,计算机硬件的成本已经大幅下降,而单一计算机的计算性能却得到了很大的提升,各类并行和分布式计算系统的处理能力也随之得到了大幅提高,可以在规定的时间内完成各类作业负荷。与此同时,规模化的并行和分布式计算系统,虽然计算性能得到大幅提升,硬件成本也大幅下降,但能量消耗却越来越大,其在总成本中所占的比重,也越来越显著。计算网格、并行集群和云计算等,在一年之中消耗的能量,非常惊人。不仅如此,由于计算性能的提高,系统闲置的计算时间也比较多。这样,在这种情况下,单纯以时间为优化目标的调度算法就越来越显得不合时宜了,技术的发展,调度算法需要更多地考虑能量消耗,从而提高能量利用率,这不仅对于电源有限的设备(如无线传感器网络的节点、嵌入式设备等)很重要,而且对于大规模的集群计算系统(如高性能计算、并行集群、计算网格和云计算等)也相当重要。
在计算机的处理器层面,动态电压调节(DVS:Dynamic Voltage Scaling)技术是一种行之有效的节能技术。它可以调整处理器的供电电压和频率,动态改变处理器速度,以适应负荷变化的需要,从而降低处理器功耗,减少能量消耗,提高能量利用率。目前,DVS优化技术已得到大量使用,如Intel公司的XScale处理器,Motorola公司的Motorola6805等。
同样,在上层操作系统应用层面,也可以利用DVS技术,合理地调度和分配作业负荷,提高整个系统的能量利用率。国内外有不少学者研究如何利用DVS技术,以提高能量利用率,但大部分的研究都主要侧重于研究非可分负荷,很少有研究可分负荷的能量调度问题,而且主要是研究单一的处理器系统的能耗问题,特别是嵌入式系统中的能耗问题,并没有考虑大规模的并行和分布式系统的能耗问题。为此,基于能量模型的可分负荷调度算法,在总线型网络环境下,以特定的能量消耗模型的基础上,利用DVS技术,以最小能量消耗为目标,对可分负荷进行合理调度。
发明内容
针对规模化的并行和分布式计算系统,为了克服现有的可分负荷调度方法的能量消耗较大、能量利用率较低的不足,本发明提供一种能减少日益增长的能量消耗,提高计算系统的能量利用率的基于能量模型的可分负荷调度方法,在DVS技术的基础上,根据特定的能量模型,以最小化能量消耗为目标,在给定的时间内,对总线型网络环境下的可分负荷进行了合理的调度,不需要重复迭代,不存在计算时间复杂度问题和计算收敛问题。
为了解决上述技术问题采用的技术方案为:
一种基于能量模型的可分负荷调度方法,输入:各个处理器的最大处理速度μ1,μ2,…,μn,可分负荷总长J,给定时间T;输出:负荷分配α1,α2…αn,处理速度s1,s2…sn,所述调度方法包括以下步骤:
第一步:根据处理器的最大处理速度进行排序,使得μ1≥μ2≥…≥μn;
第二步:计算μavg,savg和αavg,
第三步:如果savg>μavg,那么系统处于超负荷状态,退出系统;
第四步:如果savg=μavg,那么系统处于满负荷状态,当i=1,2,…,n时,依
次计算αi=μiT和si=μi;
第五步:如果savg≤μn,那么系统处于轻负荷状态,当i=1,2,…,n时,依次
计算αi=αavg和si=savg;
第六步:如果savg>μn,那么系统处于中负荷状态,依次扫描μn,μn-1,…,μ1,
从中选取μk,使μk>savg,然后,当i=n,n-1,…,k+1时,依次计算αi=μiT,
si=μi和J=J-αi,最后,计算n=k,并返回第二步。
本发明所采用技术的设计原理进行详细阐述:针对总线型网络环境下的分布式系统的可分负荷进行调度,具体应用场景描述如下:
分布式计算系统中,存在着处理器集合P={P0,P1,…,Pn}。如图1的系统结构,其中P0是主处理器,专门负责负荷的分配和调度,但不承担作业负荷,而其它处理器则根据调度算法,承担相应的计算任务。处理器之间采用总线型网络相连。每个处理器Pi(i=1,2,…,n)都具有动态电压调节功能,可以动态改变处理速度。假定处理器速度可以连续变化,范围为[0,μi](i=1,2,…,n),μi为处理器Pi的最大处理速度,即每秒能处理的单位负荷数。
处理器P0负责把长度为J的可分负荷分配给其它处理器,负荷分配向量为α={α1,α2…αn},其中长度为αi(i=1,2,…,n)的可分负荷分配给处理器pi。P0把负荷αi传输给Pi,需要消耗时间αiz,其中z是P0传输单位负荷给其它处理器需要消耗的时间。处理器Pi执行完成负荷αi需要消耗的时间为Ti(α)(i=1,2,…,n)。
在这个可分负荷模型中,通常的调度问题,就是在最小化运行时间T(α)(也即makespan)的前提下,求解负荷分配向量α={α1,α2…αn},其中T(α)=max{T1(α),T2(α)…Tn(α)}。但为了提高整个系统的能量利用率,减少能量消耗,将考虑新的优化目标,即最小化能量消耗。根据能量模型E=sη,其中E为能量,s为处理器速度,η≥2。这样,基于能量模型的调度问题可以表述为,在给定运行时间的情况下,以最小化系统所有处理器的能量消耗为优化目标,求解负荷分配向量α={α1,α2…αn}。
假定η=2,则处理器Pi的能量消耗Ei=si 2(i=1,2,…,n),给定运行时间T(α)=T,其中T为常数;由于分布式计算中网络传输时延相对很小,可以忽略不计,即单位负荷传输时延z=0。这样,基于能量模型的调度问题可以表达如下:
相应的约束条件为:
si-μi≤0,i=1,2,…,n (4)
si≥0,i=1,2,…,n (5)
αi≥0,i=1,2,…,n (6)
以上公式描述的,就是以最小化能量消耗为优化目标的可分负荷调度问题,同时,也是一个非线性规划问题。求解这个问题,有很多种方法,包括各种各样的迭代算法和进化算法,如罚函数、遗传算法、粒子群算法和神经网络算法等。但这些方法,都存在着不少的计算量,不仅需要考虑算法的收敛问题,也需要考虑计算时间的复杂度问题,而且也只能获得最优解的逼近。
为此,本发明考虑以上的调度问题,证明了整个问题是一个凸规划问题,并且其最优解满足Kuhn-Tucker充要条件。因此,根据Lagrange乘子法,分析求解出系统存在三种不同的负荷状态,具体如下:
(1)满负荷状态:
在此状态下,所有处理器都将全速运行,即si=μi(i=1,2,…,n),各个处理器承担的负荷为αi=Tμi(i=1,2,…,n)。同时,系统的能量消耗也将达到最大。
(2)轻负荷状态:
在此状态下,所有处理器都将相同的速度运行,处理速度是系统的平均速度,即同时,各个处理器承载的负荷也都相同,是(i=1,2,…,n)。各个处理器都将减速运行,系统处于轻负荷状态,系统的能量消耗也较少。
(3)中负荷状态:
在此状态下,部分处理器全速运行,部分处理器减速运行,系统的能量消耗是中等,介于满负荷状态和轻负荷状态之间。
假定μ1≥μ2≥…≥μn,并令即μavg是系统的平均最大处理速度。如果系统的平均速度μk+1≤savg<μk(n>k>1),同时满足savg≤μavg,那么部分处理器将全速运行,其它处理器将减速运行。
本发明具有计算速度快,不需要重复迭代,而且不存在计算时间复杂度问题和计算收敛问题等优点,实现了系统能量消耗的最小化,降低了能量消耗,提高了能量利用率。
附图说明
图1是系统结构图。
具体实施方式
下面对本发明的调度算法作进一步的描述。
参照图1,一种基于能量模型的可分负荷调度方法,输入:处理器的最大处理速度μ1,μ2,…,μn,可分负荷总长J,给定时间T;输出:负荷分配α1,α2…αn,处理速度s1,s2…sn,所述调度方法包括以下步骤:
第一步:根据处理器的最大处理速度进行排序,使得μ1≥μ2≥…≥μn;
第二步:计算μavg,savg和αavg,
第三步:如果savg>μavg,那么系统处于超负荷状态,退出系统;
第四步:如果savg=μavg,那么系统处于满负荷状态,当i=1,2,…,n时,依
次计算αi=μiT和si=μi;
第五步:如果savg≤μn,那么系统处于轻负荷状态,当i=1,2,…,n时,依次
计算αi=αavg和si=savg;
第六步:如果savg>μn,那么系统处于中负荷状态,依次扫描μn,μn-1,…,μ1,
从中选取μk,使μk>savg,然后,当i=n,n-1,…,k+1时,依次计算αi=μiT,
si=μi和J=J-αi,最后,计算n=k,并返回第二步。
为了进一步阐述本发明的算法过程,可以假设一个模拟的实验场景。在这个模拟实验中,设计四类不同最大处理速度的处理器共16个,具体如表1。其中,处理器的处理速度(单位为1/秒),即完成单位负荷所需时间。表1中的处理器的绝对速度参照具体的处理器计算速度而设定。
表1
有关性能指标的定义如下:
系统的负荷率可以定义为:长度为J的可分负荷在给定时间T内完成所需要的速度与系统所有处理器速度之和的百分比,具体表示如下:
能量消耗率,即能耗率,是指某个处理器的能量消耗与它的最大能量消耗的百分比,或者所有处理器的能量消耗与它们的最大能量消耗的百分比。具体表示如下:
其中,处理器i的能量消耗Ei与其处理速度si有关,而最大能量消耗则与其最大处理速度μi有关。
在上面的实验场景中,给定时间T=300秒,使用本发明的算法进行负荷的调度,可以得到三种不同负荷状态下的调度结果,即负荷率为ρ=20%,ρ=60%,ρ=90%和ρ=100%的调度情况。具体如下:
轻负荷(ρ=20%),参见表2:
表2
中负荷(ρ=60%),参见表3:
表3
重负荷(ρ=90%),参见表4:
表4
满负荷(ρ=100%),参见表5:
表5。
Claims (1)
1.一种基于能量模型的可分负荷调度方法,输入:各个处理器的最大处理速度μ1,μ2,…,μn,可分负荷总长J,给定时间T;输出:负荷分配α1,α2…αn,处理速度s1,s2…sn,所述调度方法包括以下步骤:
第一步:根据处理器的最大处理速度进行排序,使得μ1≥μ2≥…≥μn;
第二步:计算μavg,savg和αavg,
第三步:如果savg>μavg,那么系统处于超负荷状态,退出系统;
第四步:如果savg=μavg,那么系统处于满负荷状态,当i=1,2,…,n时,依次计算αi=μiT和si=μi;
第五步:如果savg≤μn,那么系统处于轻负荷状态,当i=1,2,…,n时,依次计算αi=αavg和si=savg;
第六步:如果savg>μn,那么系统处于中负荷状态,依次扫描μn,μn-1,…,μ1,从中选取μk,使μk>savg,扫描结束,然后,当i=n,n-1,…,k+1时,依次计算αi=μiT,si=μi和J=J-αi,最后,更新n的值,使n=k,并返回第二步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210570086.2A CN103064741B (zh) | 2012-12-24 | 2012-12-24 | 一种基于能量模型的可分负荷调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210570086.2A CN103064741B (zh) | 2012-12-24 | 2012-12-24 | 一种基于能量模型的可分负荷调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103064741A CN103064741A (zh) | 2013-04-24 |
CN103064741B true CN103064741B (zh) | 2015-08-05 |
Family
ID=48107374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210570086.2A Active CN103064741B (zh) | 2012-12-24 | 2012-12-24 | 一种基于能量模型的可分负荷调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103064741B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168130B (zh) * | 2017-06-22 | 2019-04-19 | 郑春华 | 一种环形能量总线控制方法及环形能量总线 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1670706A (zh) * | 2004-03-17 | 2005-09-21 | 联想(北京)有限公司 | 一种机群作业管理系统中分配计算结点的方法 |
CN101706742A (zh) * | 2009-11-20 | 2010-05-12 | 北京航空航天大学 | 一种基于多核动态划分的非对称虚拟机i/o调度方法 |
CN102629219A (zh) * | 2012-02-27 | 2012-08-08 | 北京大学 | 并行计算框架中的Reduce端自适应负载均衡方法 |
CN102770847A (zh) * | 2010-02-26 | 2012-11-07 | 国际商业机器公司 | 优化数据中心内的功耗 |
CN102819458A (zh) * | 2011-06-07 | 2012-12-12 | 中兴通讯股份有限公司 | 一种分布式操作命令的处理方法及系统 |
-
2012
- 2012-12-24 CN CN201210570086.2A patent/CN103064741B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1670706A (zh) * | 2004-03-17 | 2005-09-21 | 联想(北京)有限公司 | 一种机群作业管理系统中分配计算结点的方法 |
CN101706742A (zh) * | 2009-11-20 | 2010-05-12 | 北京航空航天大学 | 一种基于多核动态划分的非对称虚拟机i/o调度方法 |
CN102770847A (zh) * | 2010-02-26 | 2012-11-07 | 国际商业机器公司 | 优化数据中心内的功耗 |
CN102819458A (zh) * | 2011-06-07 | 2012-12-12 | 中兴通讯股份有限公司 | 一种分布式操作命令的处理方法及系统 |
CN102629219A (zh) * | 2012-02-27 | 2012-08-08 | 北京大学 | 并行计算框架中的Reduce端自适应负载均衡方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103064741A (zh) | 2013-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103345298B (zh) | 一种基于虚拟it资源分配技术的数据中心节能系统的方法 | |
CN103150003A (zh) | 信息处理系统、该信息处理系统的节电控制方法和装置 | |
CN102759984A (zh) | 虚拟化服务器集群的电源和性能管理系统 | |
CN102404412A (zh) | 云计算数据中心节能方法及系统 | |
CN105893148A (zh) | 一种基于rm策略的偶发任务低能耗调度方法 | |
CN108429265B (zh) | 一种需求响应调控方法及装置 | |
CN106532764A (zh) | 一种就地消纳光伏发电的电动汽车充电负荷调控方法 | |
Zidenberg et al. | Multiamdahl: How should i divide my heterogenous chip? | |
CN102445980A (zh) | 一种基于bp神经网络的节能控制系统 | |
CN110633152A (zh) | 用于实现业务集群水平伸缩的方法和装置 | |
CN103023802B (zh) | 一种面向web集群的低能耗调度系统和方法 | |
CN111240461B (zh) | 一种基于任务调度的异构计算系统低功耗方法 | |
CN101923385B (zh) | 一种实现系统节能的方法 | |
CN103064741B (zh) | 一种基于能量模型的可分负荷调度方法 | |
Xiong et al. | Energy consumption optimization of processor scheduling for real-time embedded systems under the constraints of sequential relationship and reliability | |
Li et al. | Can nanogenerators contribute to the global greening data centres? | |
CN112884358A (zh) | 一种电采暖设备有序用电优化调度方法及终端 | |
CN203239484U (zh) | 一种工业循环水发电系统 | |
CN103685541B (zh) | IaaS云系统运行速率动态控制装置、系统及方法 | |
CN102521715B (zh) | 一种控制应用系统资源分配的方法及系统 | |
CN110008515A (zh) | 一种可再生能源数据中心管理方法及装置 | |
CN104751248A (zh) | 一种电力需求侧管理用电潜力分析方法和系统 | |
CN104298536A (zh) | 基于动态调频调压技术的数据中心节能调度方法 | |
CN103645797A (zh) | 一种基于时间片利用率的低功耗调频方法 | |
CN112214295B (zh) | 一种多cpu/gpu异构服务器集群的低能耗作业调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |