CN1758610A - 并行计算集群电源的能耗控制方法 - Google Patents
并行计算集群电源的能耗控制方法 Download PDFInfo
- Publication number
- CN1758610A CN1758610A CNA2005101157720A CN200510115772A CN1758610A CN 1758610 A CN1758610 A CN 1758610A CN A2005101157720 A CNA2005101157720 A CN A2005101157720A CN 200510115772 A CN200510115772 A CN 200510115772A CN 1758610 A CN1758610 A CN 1758610A
- Authority
- CN
- China
- Prior art keywords
- task
- node
- node number
- free
- redundant
- 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.)
- Granted
Links
Images
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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Power Sources (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本发明属于并行集群电源能耗控制领域,其特征在于,该方法在关闭其他空闲结点时也保留有限数目的结点作为冗余,以迎接新任务,所述方法在服务器中通过在openPBS系统调度器中加入启动或关闭结点的代码来实现,而冗余结点的计算要根据在最近一段时间内所有到达任务所要求结点数目的累积概率分布来决定,本发明设定上述分布中80%~90%所对应的结点数目作为冗余结点的数目,它随着在系统运行过程中,所形成的任务的历史记录的不断更新而更新。实验证明,本发明的节能效果已接近全关的状态,即能耗的下限。
Description
技术领域:
本发明属于网络并行计算集群电源的能耗控制的技术领域。
背景技术:
现有的并行集群系统耗电量巨大,但实际利用率仅在50%左右,造成了电能的极大浪费,而实际上电费开支也是很庞大的。因此,如何有效节约电能的消耗,又不造成性能的下降,是本技术所要解决的问题。
DVS是dynamic voltage scaling动态电压调整的简称。研究结果显示,处理器的功率跟它的电压几乎是线性关系,能耗跟电压的三次方成正比关系,而处理器又是计算机中能耗的大头,那么根据负载的情况动态调整处理器的电压就能够节省电能的消耗。
目前DVS在标准ACPI和IPMI中申明支持。ACPI是高级配置的电源接口规范的简称,IPMI是智能平台管理接口的简称。
DVS是最近研究的热点,但它在cluster上的应用现在主要还停留在研究阶段,主要原因是,支持DVS的ACPI现在在一般集群上还都没有完全实现,也就是说,现在于一般的集群,是没办法进行DVS的。
一些系统,比如web server对内存的使用有一定的规律性,那么,可以通过对内存的空闲间隔时间的建模以及预测,来设置内存的能耗状态,从而减少内存的能源消耗。参见:Disk-aware Request Distribution-based Web Server Power Management,Lin Zhong,Departmentof Electrical Engineering Princeton。同上,磁盘的使用也有一定规律性。依据负载的分布以及系统得性能来动态的关闭或者启用硬盘。参见:A.R.Lebeck,X.Fan,H.Zengh,and C.S.Ellis.Power aware page allocation.In Proceedings of the Ninth International Conference on ArchitecturalSupport for Programming Languages and Operating Systems(ASPLOS IX),2000.
而对内存和磁盘的管理,由于缺乏相应的硬件的支持,现有的研究更多的是停留在模拟的阶段;而且内存和磁盘也不是计算机中功耗的主要部件,它们在实际系统中耗电比例很小(一块普通磁盘正常工作的功耗大约是2、3w)。这两方面的工作和研究这两年来已经越来越少了。
相对来说,关掉结点省电更彻底,操作也方便。但是这个时候就带来了新的问题,把空闲结点关掉了后来新的任务怎么办,再把机器打开必然会引入不小的延迟,这将大大影响这个系统得性能。
发明内容:
本发明的目的在于提供一种省电但又不影响系统性能的并行计算集群电源的能耗控制方法。
我们对此使用的方法是在关闭其他空闲结点地同时,也保留有限数目的结点作为冗余,以备新进任务的到来。通过这种方式,来尽量减小对系统性能的影响。这里面有两个关键点。一是冗余结点数目的决定,二是要随着负载动态的开关结点。
本发明的特征在于:该方法在关闭其他空闲结点的同时,也保留有限数目的结点作为冗余,以准备迎接新任务到来的方法,该方法在互联网络管理结点中结合一个名称为openPBS的公开源码的可移植的批处理系统,按以下步骤完成:
步骤1)
修改openPBS中的调度器,在其中插入我们的代码,以便在任务结束或者由新任务提交或者在每一个调度周期到来的时候执行我们的代码,插入的方法如下:
修改位于源码包中src/scheduler.cc/samples/fifo/的fifo.c,在其中的函数intscheduling_cycle(int sd)头部加入函数调用node_manage(cmd,sinfo),修改为intscheduling_cycle(int cmd,int sd),node_manage是我们自己定义的函数,就是用以实施结点开关控制的策略的;
步骤2)
初始化,令N=1,N为所述冗余结点数目;
步骤3)
检查事件命令,
如果是错误或者退出的命令则退出,否则进入下一步;
步骤4)
判别是否是新任务提交,
若是新任务提交,则更新任务的历史记录,根据记录按下述方法重新计算N:
首先,对最近一段时间内提交的任务的记录按下式计算所述任务所要求结点数目的累积概率分布:
cdf(x)=P(n≤x),
x是自变量,范围为最近提交的任务所要求的结点数目的数值范围,n表示某个任务要求的结点数目;
上式的含义是:最近一段时间内,所要求的结点数目不大于x的任务在最近所有任务中所占的比例;随着x的变化,就构成了任务要求结点数目的累积概率分布;
其次,选择某一个概率p0,p0的取值范围为80%~90%,来求得对应的结点数目,以作为冗余结点数目N,即:
N=cdf-1(p0),
接下来转入步骤5;
若非新提交任务,则直接转到步骤5;
步骤5)
计算空闲结点数目n_free:
n_free=n_on-n_use-n_require,
其中,n_on为所述系统中处于开机状态的所有结点的数目;
n_use为正在运行任务的结点数目;
n_require为还没有被调度运行的任务所要求的结点数目;
步骤6)
判断空闲的结点数目与冗余结点数目之大小:
对于非新提交任务的情况,N为上一个调度周期的冗余结点数目N;对于新提交任务的情况,N由步骤4中计算得出;
步骤7)
若n_free<N,则用Wake On LAN的局域网唤醒操作启动N-n_free个结点;
若n_free>N,则关闭n_free-N个空闲结点;
步骤8)
在下一个调度周期,重复步骤3~步骤7。
本发明是在下述的测试环境下实施的:
硬件:
服务器7台(Itanium II RX2600):
CPU:Intel Itanium2 1GHz×2
内存:2G
软件:
Red Hat Linux Advance Server release 3
本发明按以下指标进行评价:
●Energy Consumption:消耗的电能,实际测试中以累计的开机时间来计算
●Performance:系统得性能,这里我们用bounded slowdown带边界的减速率来表示。
对某一个任务Ti,
最后,我们用平均的bounded slowdown来衡量系统的整体性能。平均的值越大,性能越差。
整个集群在PBS下的大致部署框架可以用图1来描述。图中,pbs_sched就是我们所修改的调度器,运行在用作服务器的结点上,来控制其他客户结点的启动与关闭。
事实上,客户结点上也要作一些相应的设置。比如服务器远程关掉某个结点,我们会标志该结点已经被关掉,不要在其上再分配任务,那么,后来,当此结点由关机的状态启动后,得通知server自己已经启动起来了,可以参与资源的调度了。这个动作可以在客户结点每次开机的时候自动运行。
为了比较,我们另外又加入了一种策略,就是随时关掉所有空闲的结点,有任务到来时再打开相应数目的结点以跑任务,我们称之为“全关”。而原本不实施任何电源管理策略的情况,我们称之为“全开”;我们所实现的电源管理方法,我们称之为“冗余”。
我们的测试任务集来自
http://www.supercluster.org上的trace记录。该记录是来自于一个拥有224个cpu的cluster。由于我们没有他们那么大规模的集群,因此,对任务要求的结点数,提交的间隔,运行的时间都进行了按比例缩放。
测试的结果见图2和图3。
从测试结果看出,我们提出并且应用的保留冗余结点的方法,从节能上,效果已经接近全关的方法(节能的极限),也就是说,已经接近能耗的下界了。从bounded_slowdown这个性能指标来看,相对于全开的指标(该指标也是最优指标)来说,差别不是很大,而对于全关来说,就好了很多。
由于该测试集相对于原任务集进行了按比例压缩,测出的一些数据可能会有些失真。尤其是任务提交间隔的压缩,使得系统更加繁忙。以我们按原任务集模拟的结果来看,保留冗余t的节能效果更接近于“全关”的策略,而平均的bounded_slowdown也更接近于“全开”,就是说,实际上“保留冗余结点”这个方法的效果还会更好。
附图说明:
图1.并行集群部署图;
图2.本发明的电能消耗比较图;
图3.本发明的系统性能比较图;
图4.累积概率分布与冗余结点数目计算示范图;
图5.本发明的程序流程图;
具体实施方式:
我们保留冗余结点的主要目的是保证系统的响应时间不会因我们的策略而增长太多,也就是保证QOS。基本的思路就是时刻保持有N个冗余结点,尽可能使下一个任务到来时,能够立即投入执行,而不会引入额外的延迟。
保留多少冗余结点,也就是N的取值大有考究。一种方法是预测,通过对负载的建模来确定冗余的多少。由于负载的建模在预测上并不是很准,因此,我们采用另外一种思路:假设从统计上来说,N能满足绝大多数(比如90%)的任务的需求,那么当保留N个冗余结点的时候,90%的可能新提交的任务可以立即运行,这样从总体上来说也能极大减小对系统性能的影响。
对最近一段时间内提交的任务的记录按下式计算任务要求结点数目的累积概率分布:
cdf(x)=P(x≥n),x是自变量,范围为最近提交的任务所要求的结点数目的数值范围,n表示某个任务要求的结点数目;
上式的含义是:最近一段时间内,所要求的结点数目不大于x的任务的总和在最近所有任务中所占的比例;随着x的变化,就构成了任务要求结点数目的累积概率分布;
对最近一段时间内提交的并行任务的记录进行统计分析,按照上式计算累积概率分布。然后根据给定的概率,比如80%,令N=cdf-1(80%),以作为保留的冗余数目。也就是说,这样从统计上来说80%的任务所要求的结点数目不会超过N。
图1演示了这种计算(数据来自有224个结点的集群的任务记录)。横轴表示结点数目,纵轴表示对应的cdf(x)的值。
在图1中可以看到冗余大约8个结点就可以应付80%的任务了。而8个结点相对于224个结点来说,完全是可以接受的(8/224=3.6%)。
这儿要注意的是随着系统的持续运行,历史记录也在不断更新,N也在一直重新计算。
因为负载随时在变化,而要维持总是冗余N个结点的状态,那么肯定要随时根据当前的状态决定开机和关机,这个工作显然不能由人来完成,而是应该经由程序控制的。由于Linux下rsh对root账户的限制,关机是通过ssh远程关机的,只要配好RSA密钥,直接执行sshnode_name poweroff就可以关掉node_name指示的结点。而开机是通过前面提到的Wake OnLAN来实现的。
Wake On LAN一般翻译成局域网唤醒。它指通过网络远程开机的技术。它的工作原理是在局域网上广播含有目标机器的网卡Mac地址的数据包,当目标机器接受到这个包后,就把本机启动起来。它需要网卡和主板的支持(现在市场上的网卡和主板基本上都支持)。由于我们的方法是要用到自动开机的,因此,这是我们的电源管理存在的基础之一。
动态开关结点的策略简述:每当有任务提交或者结束的时候,计算N,然后检查当前空闲结点的数目,如果小于N,那么通过Wake On LAN打开不足的结点;如果大于N,那么自动关掉多余的结点。实际操作中还要看集群管理软件的调度器的调度策略进行相应修改。
开关结点都要求自动完成,而无须手工操作。
一般并行计算集群都会使用资源管理软件来整合和管理整个集群的资源,同时也负责分发和调度提交上来的任务,这样的软件有openPBS等。
PBS是Portable Batch System的简称,是一个管理任务和计算机资源的系统。openpbs就是开源可以免费使用的PBS。
我们在结点层面上的电源管理操作实际上也就是对集群资源的一种管理。但是我们的这种管理可能会影响其它管理软件(如PBS等)的正常运作,比如当我们把结点关掉后,PBS就会认为那些结点unavailable了,当有任务请求大于当前的最大资源时,它会直接返回failure,而不是等待将那些结点再行启动起来。为了解决两者之间的不协调,我们选择将我们的电源管理方法与openPBS整合到一起。
与openPBS整合到一起,也有很多好处,比如当系统使用openPBS进行管理时,所有任务都通过openpbs来进行提交和调度。这样,我们就可以知道提交的任务的历史记录,也能够轻易知道系统的负载状况以及具体某个结点的状态(free或者busy)。
我们整合的方法是修改openpbs的调度器,在其中插入代码。每当有任务结束或者有新任务提交又或者在每一个schedule cycle时执行我们的代码,就是如前文所述的那样,动态开关结点,并且决定任务的调度。
图5描述了修改后的scheduler的大致流程。为了简便起见,只是着重描绘出scheduler主循环体中关于电源管理的大致流程。其它任务的调度,资源的分配等就不画出来了。
Claims (1)
1.并行计算集群电源能耗控制方法,特征是:该方法在关闭其他空闲结点的同时,也保留有限数目的结点作为冗余,以准备迎接新任务到来的方法,该方法在互联网络管理结点中结合一个名称为openPBS的公开源码的可移植的批处理系统,按以下步骤完成:
步骤1)
修改openPBS中的调度器,在其中插入我们的代码,以便在任务结束或者由新任务提交或者在每一个调度周期到来的时候执行我们的代码,插入的方法如下:
修改位于源码包中src/scheduler.cc/samples/fifo/的fifo.c,在其中的函数intscheduling_cycle(int sd)头部加入函数调用node_manage(cmd,sinfo),修改为intscheduling_cycle(int cmd,int sd),node_manage是我们自己定义的函数,就是用以实施结点开关控制的策略的;
步骤2)
初始化,令N=1,N为所述冗余结点数目;
步骤3)
检查事件命令,
如果是错误或者退出的命令则退出,否则进入下一步;
步骤4)
判别是否是新任务提交,
若是新任务提交,则更新任务的历史记录,根据记录按下述方法重新计算N:
首先,对最近一段时间内提交的任务的记录按下式计算所述任务所要求结点数目的累积概率分布:
cdf(x)=P(n≤x),
x是自变量,范围为最近提交的任务所要求的结点数目的数值范围,n表示某个任务要求的结点数目;
上式的含义是:最近一段时间内,所要求的结点数目不大于x的任务在最近所有任务中所占的比例;随着x的变化,就构成了任务要求结点数目的累积概率分布;
其次,选择某一个概率p0,p0的取值范围为80%~90%,来求得对应的结点数目,以作为冗余结点数目N,即:
N=cdf-1(p0),
接下来转入步骤5;
若非新提交任务,则直接转到步骤5;
步骤5)
计算空闲结点数目n_free:
n_free=n_on-n_use-n_require,
其中,n_on为所述系统中处于开机状态的所有结点的数目;
n_use为正在运行任务的结点数目;
n_require为还没有被调度运行的任务所要求的结点数目;
步骤6)
判断空闲的结点数目与冗余结点数目之大小:
对于非新提交任务的情况,N为上一个调度周期的冗余结点数目N;对于新提交任务的情况,N由步骤4中计算得出;
步骤7)
若n_free<N,则用Wake On LAN的局域网唤醒操作启动N-n_free个结点;
若n_free>N,则关闭n_free-N个空闲结点;
步骤8)
在下一个调度周期,重复步骤3~步骤7。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101157720A CN100336346C (zh) | 2005-11-11 | 2005-11-11 | 并行计算集群电源的能耗控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101157720A CN100336346C (zh) | 2005-11-11 | 2005-11-11 | 并行计算集群电源的能耗控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1758610A true CN1758610A (zh) | 2006-04-12 |
CN100336346C CN100336346C (zh) | 2007-09-05 |
Family
ID=36703809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101157720A Expired - Fee Related CN100336346C (zh) | 2005-11-11 | 2005-11-11 | 并行计算集群电源的能耗控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100336346C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794169A (zh) * | 2010-03-08 | 2010-08-04 | 北京航空航天大学 | 基于改变控制模式进行机群系统能耗管控的方法 |
CN101833366A (zh) * | 2010-03-29 | 2010-09-15 | 北京航空航天大学 | 一种机群作业管理系统中低功耗的动态结点控制方法 |
CN101662370B (zh) * | 2008-08-26 | 2013-12-04 | 华为技术有限公司 | 服务器休眠/唤醒方法及具有休眠/唤醒功能的服务器 |
CN103605418A (zh) * | 2013-10-23 | 2014-02-26 | 曙光信息产业(北京)有限公司 | 集群服务器的功耗调节方法和装置 |
CN109361524A (zh) * | 2018-09-27 | 2019-02-19 | 淮南智涵信息科技有限公司 | 渲染行业自适应开关机节能技术 |
CN109634746A (zh) * | 2018-12-05 | 2019-04-16 | 四川长虹电器股份有限公司 | 一种web集群缓存的利用系统及优化方法 |
CN116610204A (zh) * | 2023-07-19 | 2023-08-18 | 碳丝路文化传播(成都)有限公司 | 一种用电设备电源管理方法、系统、电子设备及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6492835B2 (en) * | 1998-01-09 | 2002-12-10 | Jeng-Jye Shau | Power saving methods for programmable logic arrays |
KR100553184B1 (ko) * | 2001-04-24 | 2006-02-21 | 현대 이미지퀘스트(주) | 모니터의 전력절감장치 및 방법 |
JP3994071B2 (ja) * | 2003-06-12 | 2007-10-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ装置、システムの稼働状態の切り換え制御方法、およびプログラム |
-
2005
- 2005-11-11 CN CNB2005101157720A patent/CN100336346C/zh not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662370B (zh) * | 2008-08-26 | 2013-12-04 | 华为技术有限公司 | 服务器休眠/唤醒方法及具有休眠/唤醒功能的服务器 |
CN101794169A (zh) * | 2010-03-08 | 2010-08-04 | 北京航空航天大学 | 基于改变控制模式进行机群系统能耗管控的方法 |
CN101833366A (zh) * | 2010-03-29 | 2010-09-15 | 北京航空航天大学 | 一种机群作业管理系统中低功耗的动态结点控制方法 |
CN101833366B (zh) * | 2010-03-29 | 2013-03-13 | 北京航空航天大学 | 一种机群作业管理系统中低功耗的动态结点控制方法 |
CN103605418A (zh) * | 2013-10-23 | 2014-02-26 | 曙光信息产业(北京)有限公司 | 集群服务器的功耗调节方法和装置 |
CN103605418B (zh) * | 2013-10-23 | 2017-01-04 | 曙光信息产业(北京)有限公司 | 集群服务器的功耗调节方法和装置 |
CN109361524A (zh) * | 2018-09-27 | 2019-02-19 | 淮南智涵信息科技有限公司 | 渲染行业自适应开关机节能技术 |
CN109634746A (zh) * | 2018-12-05 | 2019-04-16 | 四川长虹电器股份有限公司 | 一种web集群缓存的利用系统及优化方法 |
CN109634746B (zh) * | 2018-12-05 | 2022-03-01 | 四川长虹电器股份有限公司 | 一种web集群缓存的利用系统及优化方法 |
CN116610204A (zh) * | 2023-07-19 | 2023-08-18 | 碳丝路文化传播(成都)有限公司 | 一种用电设备电源管理方法、系统、电子设备及介质 |
CN116610204B (zh) * | 2023-07-19 | 2023-11-14 | 碳丝路文化传播(成都)有限公司 | 一种用电设备电源管理方法、系统、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100336346C (zh) | 2007-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100336346C (zh) | 并行计算集群电源的能耗控制方法 | |
Quang-Hung et al. | A genetic algorithm for power-aware virtual machine allocation in private cloud | |
CN1129831C (zh) | 在使用网络时使有省电功能的计算机进入省电模式的方法 | |
Chou et al. | DPRA: dynamic power-saving resource allocation for cloud data center using particle swarm optimization | |
US20060184287A1 (en) | System and method for controlling power to resources based on historical utilization data | |
Saxe | Power-efficient software | |
Mao et al. | A multi-resource task scheduling algorithm for energy-performance trade-offs in green clouds | |
Wang et al. | A three-phases scheduling in a hierarchical cloud computing network | |
CN101055533A (zh) | 一种多线程处理器动态内存管理系统及方法 | |
CN1722106A (zh) | 一种嵌入式实时操作系统中内存分配的方法 | |
CN1908903A (zh) | 执行作业步的系统和方法以及计算机产品 | |
CN1957329A (zh) | 信号处理装置 | |
CN1499339A (zh) | 管理计算机系统中电源的装置和方法 | |
US20070061521A1 (en) | Processor assignment in multi-processor systems | |
Razali et al. | Virtual machine migration implementation in load balancing for cloud computing | |
Jin et al. | Energy-efficient task scheduling for CPU-intensive streaming jobs on Hadoop | |
Xiao et al. | An energy-aware heuristic scheduling for data-intensive workflows in virtualized datacenters | |
CN103870315A (zh) | 一种jvm能耗控制方法及装置 | |
Lin et al. | A heuristic task scheduling algorithm for heterogeneous virtual clusters | |
Tang et al. | Interconnection network energy-aware workflow scheduling algorithm on heterogeneous systems | |
CN110519386B (zh) | 云环境下基于数据聚类的弹性资源供应方法和装置 | |
Than et al. | Energy-saving resource allocation in cloud data centers | |
Bucur et al. | The influence of the structure and sizes of jobs on the performance of co-allocation | |
CN1459692A (zh) | 基于计算机平台上嵌入系统的cpu频率控制的方法 | |
Thiam et al. | An energy-efficient VM migrations optimization in cloud data centers |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070905 Termination date: 20201111 |
|
CF01 | Termination of patent right due to non-payment of annual fee |