CN102622273A - 基于自学习负载预测的集群按需启动方法 - Google Patents

基于自学习负载预测的集群按需启动方法 Download PDF

Info

Publication number
CN102622273A
CN102622273A CN2012100409457A CN201210040945A CN102622273A CN 102622273 A CN102622273 A CN 102622273A CN 2012100409457 A CN2012100409457 A CN 2012100409457A CN 201210040945 A CN201210040945 A CN 201210040945A CN 102622273 A CN102622273 A CN 102622273A
Authority
CN
China
Prior art keywords
task
node
load
computing node
computing
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
Application number
CN2012100409457A
Other languages
English (en)
Other versions
CN102622273B (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201210040945.7A priority Critical patent/CN102622273B/zh
Publication of CN102622273A publication Critical patent/CN102622273A/zh
Application granted granted Critical
Publication of CN102622273B publication Critical patent/CN102622273B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于自学习负载预测的集群按需启动方法,包括以下步骤:管理节点接收来自用户的任务并根据历史负载信息,对任务的负载进行预测;根据预测结果,计算该任务部署到任一计算节点后增加的CPU利用率;在计算节点中查找并选择一轻载的计算节点;若未找到,则选择一休眠的计算节点并唤醒;将任务部署到被选中的计算节点上;计算节点收到任务后,建立一个新线程执行该任务,任务完成后,将任务的执行结果返回给管理节点,并将任务的负载信息返回给管理节点以存入历史负载信息;管理节点定期将在一段时间内未加载任务的计算节点置为休眠。本发明能在不影响任务性能的前提下降低整个集群的功耗水平。

Description

基于自学习负载预测的集群按需启动方法
技术领域
本发明涉及计算机集群系统,尤其涉及集群系统的功耗管理方法,特指一种集群按需启动方法。
背景技术
如图1所示,集群系统由计算节点、管理节点和互联网络组成。其中,计算节点用于处理任务负载;管理节点监控并控制计算节点的状态;互联网络将计算节点和管理节点互联在一起。集群系统具有性价比高、性能稳定和维护简单等特点,因此得到了广泛的应用。
在实际使用中,集群的利用率偏低。不仅昂贵的硬件设备没有得到很好的利用,而且还会产生额外的功耗浪费。因而,近年来,集群的功耗管理越来越受到重视。最常见的降低计算机系统功耗的方法是将不使用的部件置于低功耗状态,在需要的时候就将这些部件的状态恢复正常状态。功耗管理算法主要是决定什么时间,对何种部件进行状态调整。
计算机的高级配置和电源接口由英特尔、微软和东芝等公司开发,该接口定义了CPU和整个计算机的多种功耗状态。用户或软件可以通过该接口调整计算机内各部件的功耗状态甚至整个计算机系统的休眠状态。负载集中处理技术将负载集中到少量的计算节点上运行,而将空闲的计算机节点休眠和关闭的方法能降低整个集群系统的功耗。具体的讲,负载集中处理技术根据负载情况分配相应的计算资源,提高了集群系统资源利用率,减少了资源浪费。现有基于负载集中处理技术的算法主要包括以下几种:
节点层次的功耗管理以DVFS调度为主,可以分为按时间片的策略和按任务的策略。按时间片的策略以CPU利用率作为调节频率的依据,该策略不考虑程序的特征,简单使用。例如Past算法简单的以上一时间片的CPU利用率作为当前时间片的利用率,在当前利用率超过上限值时提高频率,在低于下限值时降低频率,该算法在利用率变化平滑时效果较好,但在利用率不平滑时,频率会出现抖动。因此Chan等人提出了AGED_AVERAGES策略,该策略通过历史信息以加权求和的方法求出当前时间片的利用率,并以此作为调节频率的依据。按时间片的策略最大的不足是调频的间接性,因此效率不是很高。
按任务的策略是根据任务的特征调节频率,该策略需要考虑CPU时间和任务完成时限,只要满足时限,就认为是满足了性能要求,因此该策略主要应用于实时任务。又如Pace策略,该策略假设速率连续可调,即假设速度随时间平滑变化。但是CPU速率不可能连续可调,所以通过在一个任务执行周期内分阶段设置频率以达到次优化的目标。该策略最大的缺点是对作业不透明,需要了解任务的特征,且该策略需要假设每个节点上只运行一个作业,否则,各个作业的最优频率会相互冲突,影响调频的节能效果。
Elnozahy等出了将VOVO(Vary-On Vary-Off)方法和DVFS方法相结合的集群功耗管理方法。有文献在同构集群上给出了LAOVS(Load-Aware On-Off with independent VoltageScaling)方法,在给定负载下,该方法通过一个数据表离线决定需要的最优节点数,在本地节点层次采用未优化的时间片DVFS技术。该方法虽然将集群层次和节点层次结合起来,但是,该方法需要事先通过实验建立一个数据表,给出负载与节点数目之间的关系,这在实际应用中难以满足。有文献在实时网络服务器集群上通过混合整形规划的方法决定启动的节点数目以及每个节点上CPU的频率,使得整个集群的功耗最小。但是该方法背后复杂的数学计算带来了巨大的开销,因此决策显得太慢。
目前,也有很多相关研究针对于作业负载预测。Bradley等提出了短期和长期负载预测功耗管理算法,这两种算法预测作业的负载并根据负载结果提供相应的资源。Chen等研究了网络流模型,并计算出需要的计算资源。但是,上述预测方法的精度不能随着程序的运行而提高。
发明内容
本发明所要解决的技术问题是:针对现有技术存在的问题,本发明提供一种可在不影响任务性能的前提下降低整个集群的功耗水平的可自学习的基于自学习负载预测的集群按需启动方法。
为解决上述技术问题,本发明采用以下技术方案:
一种基于自学习负载预测的集群按需启动方法,包括以下步骤:
(1)任务接收:管理节点接收来自用户的任务;
(2)负载预测:管理节点根据历史负载信息,对所述任务的负载进行预测;
(3)按需启动:管理节点根据预测得到的任务负载,计算该任务部署到任一计算节点后增加的CPU利用率;在计算节点中查找并选择一轻载的计算节点;若未找到,则选择一休眠的计算节点并唤醒;将所述任务部署到被选中的计算节点上;
(4)任务执行:计算节点收到任务后,建立一个新线程执行该任务,任务完成后,将任务的执行结果返回给管理节点,并将任务的负载信息返回给管理节点以存入历史负载信息;
休眠节点管理:在上述步骤中,管理节点定期将在一段时间内未加载任务的计算节点置为休眠。
作为本发明的进一步改进:
所述管理节点中维护有一任务队列表,所述管理节点接收来自用户的任务后,为任务分配一个ID号,并将任务存入任务队列表中,所述任务队列表的每个表项记录有一个任务的ID号、用户名、接收时间和优先级。
所述管理节点中维护有一负载信息表,负载信息表中存储有历史负载信息,历史负载信息包括历史加载的任务的负载及ID号;所述管理节点中还维护有一节点状态表,节点状态表中表项的数量和集群系统中的节点数量相等,节点状态表中每个表项包括对应节点的任务数和频率。
所述步骤(2)具体包括以下步骤:
(2.1)管理节点将任务的ID号与负载信息表中的表项进行匹配,如果匹配成功,则直接获取任务的负载λ,结束预测;若匹配不成功,则转入步骤(2.2);
(2.2)从负载信息表中取出最近完成的L个任务负载,按前后顺序排列为λ1、λ2、…、λL,转入步骤(2.3);
(2.3)若所述负载信息表中的任务负载数M=0,则不进行预测,转入步骤(2.5);若负载信息表中的任务负载数M=1,则直接将该任务负载作为预测得到的任务负载,转到步骤(2.5);若负载信息表中任务负载的数目M满足1<M≤L,则转入步骤(2.4);
(2.4)按照以下公式(1)预测任务的负载λ:
λ = Σ i = 1 L w i · λ i - - - ( 1 )
其中,wi为负载计算的加权系数,且满足
Figure BDA0000137909550000032
其中i取1,2,…,L。
所述L取值为16。
所述负载信息表中存储的任务的负载λ是根据下式(2)计算得到的:
λ=ε1Ldtime2Ldcpu3Lmem4Ldnet        (2)
其中,Ldtime为任务的执行时间,Ldcpu为任务的CPU负载,Ldmem为任务的内存负载,Ldnet为任务的网络负载;且ε1234=1。
所述步骤(3)具体包括以下步骤:
(3.1)a.根据预测得到的任务的负载λ,按照下式(3)计算任务部署到节点后增加的CPU利用率ΔU:
ΔU = λ n · f - - - ( 3 )
其中,n为节点的处理器核的数目,f为处理器的最大频率;
b.根据预测得到的任务的负载和节点状态表,计算出任务部署到每个节点后的CPU利用率,设第i个节点的利用率为Ui′,且Ui′=Ui+ΔUi,其中Ui是第i个节点的当前CPU利用率,转入步骤(3.2);
(3.2)寻找计算节点集
Figure BDA0000137909550000041
中的Ui′最小的计算节点,若找到则转入步骤(3.5);否则,转入步骤(3.3);其中Udt为所实现给定的CPU利用率的下限值,而Uut为实现给定的CPU利用率上限值;
(3.3)寻找满足
Figure BDA0000137909550000042
Udt的计算节点中CPU利用率最高的计算节点,如果找到,则转入步骤(3.5);否则转入步骤(3.4);
(3.4)选择并唤醒一休眠节点,转入步骤(3.5);若未找到休眠节点,则任务等待,直至找到合适的休眠节点;
(3.5)将任务部署到选中的计算节点上。
所述每个计算节点中维护有一节点任务表,记载了本计算节点中加载的任务数目,任务部署到选中的计算节点后,将该计算节点的节点任务表中的运行任务数目加1;计算节点完成一个任务后,将节点任务表中的运行任务数目减1。
所述管理节点定期将在一段时间内未加载任务的计算节点置为休眠状态,具体包括以下步骤:
(5.1)查询各计算节点的节点任务表,获取任务数,若找到任务数目为0的计算节点,转入步骤(5.2);否则转入步骤(5.3);
(5.2)判断当前计算节点的状态:
a.若当前计算节点为活跃状态,则发送休眠命令,将其置入休眠状态;
b.若当前计算节点为休眠状态,则将其置入深度休眠状态;
(5.3)结束。
所述计算节点定期根据本节点的负载情况,自适应调节本节点的处理器工作频率;具体步骤如下:
(6.1)设置一循环定时器,每计时Tvf,执行一次步骤(6.2)到步骤(6.4);
(6.2)查阅节点状态表,获得当前计算节点的主要负载情况,根据公式(2)计算得到当前计算节点的负载λ;
(6.3)判断,
Figure BDA0000137909550000043
转入步骤(6.4);
(6.4)将当前计算节点的所有处理器的工作频率均设置为fi+1
其中,计算节点的处理器可工作在离散的频率f1,f2,...,fk,设且fk为最高工作频率;从而得到序列[δ1,δ2,...,δk],其中
Figure BDA0000137909550000051
与现有技术相比,本发明的优点在于:
1、本发明的基于自学习负载预测的集群按需启动方法,管理节点接收到任务后,首先预测任务的负载,而后挑选恰当的轻载节点加以执行,并定期休眠无任务节点,计算节点则根据自身的负载情况实现动态的频率调节以降低能耗;能在不影响任务性能的前提下降低整个集群的功耗水平。
2、本发明的基于自学习负载预测的集群按需启动方法,在任务部署之前准确地预测任务的负载,能更有效、平衡地将任务部署到合适的位置。在每个任务运行完后,将计算结果和任务的负载信息返回给管理节点存入负载信息表,负载信息表中的历史负载信息不断更新,随着任务的运行,预测的精度也不断提高。
3、本发明的基于自学习负载预测的集群按需启动方法,计算负载时便使用多个负载采样值计算得到一个综合值,更为准确地获得节点的负载状态,进而可提高负载预测的精度。
附图说明
图1是集群系统的典型结构示意图。
图2是本发明的总流程示意图。
图3是任务接收的步骤流程示意图。
图4是任务队列表结构示意图。
图5是任务队列表中的表项结构示意图。
图6是自学习负载预测模块流程示意图。
图7是负载信息表结构示意图。
图8是负载信息表中的表项结构示意图。
图9是按需启动的步骤流程示意图。
图10是节点状态表结构示意图。
图11是节点状态表中的表项结构示意图。
图12是频率调节的步骤流程示意图。
图13是休眠节点管理的步骤流程示意图。
图14是任务执行的步骤流程示意图。
具体实施方式
以下将结合说明书附图和具体实施方式对本发明作进一步详细说明。
如图1所示,本发明的基于自学习负载预测的集群按需启动方法,是通过以下步骤:
本实施例中,本发明的步骤通过在管理节点和计算节点中设置相应的软件或硬件模块来执行。如图2所示,在管理节点中设置任务接收模块、负载预测模块和按需启动模块;在计算节点中设置任务运行模块和频率调节模块。通过模块化来执行和实现以下步骤:
1、任务接收:管理节点接收来自用户的任务。本实施例中,此步骤由驻留在管理节点上的任务接收模块实现,具体如下:
如图3所示,管理节点中维护有一先入先出(First In First Out,FIFO)结构的任务队列表,管理节点上的任务接收模块接收到来自用户的任务后,为任务分配一个ID号,并将任务存入任务队列表(见图4)中。如图5所示,任务队列表的每个表项记录有一个任务的ID号、用户名、接收时间和优先级,相应字段长度分别设置为4字节、32字节、4字节以及1字节。
2、负载预测:管理节点根据历史负载信息,对任务的负载进行预测。如图6所示,本实施例中,此步骤由驻留在管理节点上的负载预测模块实现,具体如下:
管理节点中的负载预测模块按照先入先出(FIFO)结构维护有一负载信息表,负载信息表中存储有历史负载信息,历史负载信息包括历史加载的任务负载及其ID号。
2.1负载预测模块将任务ID号与负载信息表中的表项进行匹配,如果匹配成功,则直接获取任务的负载λ,结束预测;若匹配不成功,则转入步骤2.2;
2.2从负载信息表中取出最近完成的L个任务的负载,按前后顺序排列为λ1、λ2、…、λL,转入步骤2.3;
2.3若负载信息表中的负载数M=0,则不进行预测,转入步骤2.5;若负载信息表中的负载数M=1,则直接将该任务负载作为预测得到的任务负载,转到步骤2.5;若负载信息表中负载数M满足1<M<L,则将L设为表中的任务数目(如果负载信息表中任务数量不足L,也可以只选择现有的任务计算),并转入步骤2.4;
2.4按照以下公式(1)预测任务的负载λ:
λ = Σ i = 1 L w i · λ i - - - ( 1 )
其中,wi为负载计算的加权系数,且满足
Figure BDA0000137909550000062
其中i取1,2,…,L。
在具体实施时,我们一般可以:
a.选取L=16;
b.wi满足Zipf分布,越近任务的权值越大。
负载预测模块按照先入先出结构维护一个负载信息表,使用历史负载信息对任务的负载进行预测,可随着任务的运行不断提高预测的精度。如图7所示,负载信息表中的历史负载信息根据任务的实际执行结果不断更新。如图8所示,负载信息表中每个表项记录了任务负载的若干属性,包括任务的ID号、负载、执行时间、CPU负载、内存负载和网络负载等信息。所有字段长度均设置为4字节。
作业的ID、执行时间、CPU负载、内存负载、网络负载都是依据作业的实际运行情况而采集获得。本实施例中,负载信息中的负载λ是依据系统的调度策略依据作业的执行时间、CPU负载、内存负载、网络负载等多方面信息综合计算而得。设归一化后的执行时间、CPU负载、内存负载和网络负载分别为Ldtime,Ldcpu,Ldmem以及Ldnet,则依据下式(2)计算
λ=ε1Ldtime2Ldcpu3Ldmem4Ldnet     (2)
其中,ε1234=1,具体的取值主要依赖于调度策略和预测策略。最简单的,可以直接取值为ε2=1以及ε1=ε3=ε4=0,即只考虑CPU负载。
部署于计算节点的任务执行模块在每个任务运行完后,将计算结果和任务的负载信息返回给管理节点,负载预测模块将任务的负载信息存入负载信息表。在任务部署之前准确地预测任务的负载,能更有效、平衡地将任务部署到合适的位置。由于使用的是历史负载信息,故随着任务的运行,预测的精度也不断提高。
3、按需启动:管理节点根据预测得到的任务负载,计算该任务部署到任一计算节点后增加的CPU利用率;在计算节点中查找并选择一轻载的计算节点;若未找到,则选择一休眠的计算节点并唤醒;将任务部署到被选中的计算节点上。本实施例中,如图9所示,此步骤由驻留在管理节点上的按需启动模块实现,具体如下:
3.1计算CPU利用率:
a.管理节点在预测得到任务的负载λ后,通过公式(3)计算得到该任务部署到某节点后增加的CPU利用率ΔU:
ΔU = λ n · f - - - ( 3 )
其中,n为节点的处理器核的数目,f为处理器的最大频率;
b.根据预测得到的任务的负载和节点状态表中的信息,计算出任务部署到每个节点后的CPU利用率,设第i个节点的利用率为Ui′,且Ui′=Ui+ΔUi,其中Ui是第i个节点的当前CPU利用率,转入步骤(3.2);
(3.2)寻找计算节点集
Figure BDA0000137909550000072
中的Ui′最小的计算节点,若找到则转入步骤(3.5);否则,转入步骤(3.3),其中Udt为所实现给定的CPU利用率的下限值,而Uut为实现给定的CPU利用率上限值;
(3.3)寻找满足
Figure BDA0000137909550000081
Udt的计算节点中CPU利用率最高的计算节点,如果找到,则转入步骤(3.5);否则转入步骤(3.4);
(3.4)选择并唤醒一休眠节点,转入步骤(3.5);若未找到休眠节点,则任务等待,直至找到合适的休眠节点;
(3.5)将任务部署到选中的计算节点上。
管理节点中维护有一节点状态表,如图10所示,节点状态表中存储有节点状态。表中表项的数量和集群系统中的节点数量相等。节点状态表中每个表项包括对应节点的任务数和频率。如图11所示,每个字段长度均为4个字节。若频率为0,则表示该节点为休眠。
4、任务执行:计算节点收到任务后,建立一个新线程执行该任务,并将执行结果与该任务的负载信息返回给管理节点;管理节点将返回的负载信息存入历史负载信息。本实施例中,如图14所示,此步骤由驻留在计算节点上的任务执行模块实现,具体如下:
4.1计算节点上任务执行模块包含监听程序,监听程序不断监听新任务直至收到任务,转入步骤4.2;
4.2监听程序建立一个新线程处理到来的任务请求。任务完成后,将任务的执行结果返回给管理节点,并将任务的负载信息返回给管理节点以存入历史负载信息。
每个计算节点中维护有一节点任务表,记载了本计算节点中加载的任务数目。任务部署到选中的计算节点后,计算节点将节点任务表中的运行任务数目加1;计算节点完成一个任务后,将节点任务表中的运行任务数目减1;运行任务数目为0时,表示该计算节点处于空闲。
5、休眠节点管理:在上述步骤中,管理节点定期将在一段时间内未加载任务的计算节点置为休眠。本实施例中,如图13所示,此步骤由驻留在管理节点上的休眠节点管理模块实现,具体如下:
5.1每隔时间Tsl查询各计算节点的节点任务表,获取任务数,若找到任务数目为0的计算节点,转入步骤5.2;否则转入步骤5.3;
5.2判断当前计算节点的状态:
a.若当前计算节点为活跃状态,则发送休眠命令,将其置入休眠状态;
b.若当前计算节点为休眠状态,则将其置入更深层的休眠状态;
c.若当前计算节点为更深层的休眠状态,则将其置入最深层休眠状态;
此处将休眠状态分为3种层次:休眠状态、更深层次的休眠状态、最深休眠状态;
5.3结束。
在实际应用中,Tsl可以设置为分钟级别,例如可以选取3、5或10分钟。休眠节点管理定时将空闲的节点置入休眠状态,能在不影响集群计算连贯性的前提下降低集群的功耗。
6、节点频率调节:节点频率调节模块驻留在每个计算节点上,自行依据负载情况,自适应的调节本节点的处理器工作频率。本实施例中,如图12所示,此步骤由驻留在计算节点上的节点频率调节模块实现,具体如下:
目前主流的处理器都具有动态调频(Dynamic Voltage and Frequency Scaling,DVFS)的功能,即计算节点的处理器可工作在离散的频率f1,f2,...,fk,设
Figure BDA0000137909550000091
且fk为最高工作频率;从而得到序列[δ1,δ2,...,δk],其中
Figure BDA0000137909550000092
δk=1。
6.1设置一循环定时器,每计时Tvf,执行一次步骤6.2到步骤6.4;
6.2查阅节点状态表,获得当前计算节点的主要负载情况,根据公式(2)计算得到当前计算节点的负载λ;
6.3判断,
Figure BDA0000137909550000093
转入步骤6.4;
6.4将当前计算节点的所有处理器的工作频率均设置为fi+1
其中,步骤6.2中获得的负载是定时器触发时的当前状态。考虑到负载的动态性,可以进一步考虑采用更精细的负载采样周期。这样在计算负载时便可以使用多个负载采样值计算得到一个综合值,以此更为准确地获得节点的负载状态。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (10)

1.一种基于自学习负载预测的集群按需启动方法,其特征在于包括以下步骤:
(1)任务接收:管理节点接收来自用户的任务;
(2)负载预测:管理节点根据历史负载信息,对所述任务的负载进行预测;
(3)按需启动:管理节点根据预测得到的任务负载,计算该任务部署到任一计算节点后增加的CPU利用率;在计算节点中查找并选择一轻载的计算节点;若未找到,则选择一休眠的计算节点并唤醒;将所述任务部署到被选中的计算节点上;
(4)任务执行:计算节点收到任务后,建立一个新线程执行该任务,任务完成后,将任务的执行结果返回给管理节点,并将任务的负载信息返回给管理节点以存入历史负载信息;
在上述步骤中,管理节点定期将在一段时间内未加载任务的计算节点置为休眠。
2.根据权利要求1所述的基于自学习负载预测的集群按需启动方法,其特征在于,所述管理节点中维护有一任务队列表,所述管理节点接收来自用户的任务后,为任务分配一个ID号,并将任务存入任务队列表中,所述任务队列表的每个表项记录有一个任务的ID号、用户名、接收时间和优先级。
3.根据权利要求1所述的基于自学习负载预测的集群按需启动方法,其特征在于,所述管理节点中维护有一负载信息表,负载信息表中存储有历史负载信息,历史负载信息包括历史加载的任务的负载及ID号;所述管理节点中还维护有一节点状态表,节点状态表中表项的数量和集群系统中的节点数量相等,节点状态表中每个表项包括对应节点的任务数和频率。
4.根据权利要求3所述的基于自学习负载预测的集群按需启动方法,其特征在于,所述步骤(2)具体包括以下步骤:
(2.1)管理节点将任务的ID号与负载信息表中的表项进行匹配,如果匹配成功,则直接获取任务的负载λ,结束预测;若匹配不成功,则转入步骤(2.2);
(2.2)从负载信息表中取出最近完成的L个任务负载,按前后顺序排列为λ1、λ2、…、λL,转入步骤(2.3);
(2.3)若所述负载信息表中的任务负载数M=0,则不进行预测,转入步骤(2.5);若负载信息表中的任务负载数M=1,则直接将该任务负载作为预测得到的任务负载,转到步骤(2.5);若负载信息表中任务负载的数目M满足1<M≤L,则转入步骤(2.4);
(2.4)按照以下公式(1)预测任务的负载λ:
λ = Σ i = 1 L w i · λ i - - - ( 1 )
其中,wi为负载计算的加权系数,且满足
Figure FDA0000137909540000012
其中i取1,2,…,L。
5.根据权利要求4所述的基于自学习负载预测的集群按需启动方法,其特征在于,所述L取值为16。
6.根据权利要求3或4或5所述的基于自学习负载预测的集群按需启动方法,其特征在于,所述负载信息表中存储的任务的负载λ是根据下式(2)计算得到的:
λ=ε1Ldtime2Ldcpu3Ldmem4Ldnet        (2)
其中,Ldtime为任务的执行时间,Ldcpu为任务的CPU负载,Ldmem为任务的内存负载,Ldnet为任务的网络负载;且ε1234=1。
7.根据权利要求3所述的基于自学习负载预测的集群按需启动方法,其特征在于,所述步骤(3)具体包括以下步骤:
(3.1)a.根据预测得到的任务的负载λ,按照下式(3)计算任务部署到节点后增加的CPU利用率ΔU:
ΔU = λ n · f - - - ( 3 )
其中,n为节点的处理器核的数目,f为处理器的最大频率;
b.根据预测得到的任务的负载和节点状态表,计算出任务部署到每个节点后的CPU利用率,设第i个节点的利用率为Ui′,且Ui′=Ui+ΔUi,其中Ui是第i个节点的当前CPU利用率,转入步骤(3.2);
(3.2)寻找计算节点集
Figure FDA0000137909540000022
中的Ui′最小的计算节点,若找到则转入步骤(3.5);否则,转入步骤(3.3);其中Udt为所实现给定的CPU利用率的下限值,而Uut为实现给定的CPU利用率上限值;
(3.3)寻找满足Udt的计算节点中CPU利用率最高的计算节点,如果找到,则转入步骤(3.5);否则转入步骤(3.4);
(3.4)选择并唤醒一休眠节点,转入步骤(3.5);若未找到休眠节点,则任务等待,直至找到合适的休眠节点;
(3.5)将任务部署到选中的计算节点上。
8.根据权利要求1~5中任一项所述的基于自学习负载预测的集群按需启动方法,其特征在于,所述每个计算节点中维护有一节点任务表,记载了本计算节点中加载的任务数目,任务部署到选中的计算节点后,将该计算节点的节点任务表中的运行任务数目加1;计算节点完成一个任务后,将节点任务表中的运行任务数目减1。
9.根据权利要求8所述的基于自学习负载预测的集群按需启动方法,其特征在于,所述管理节点定期将在一段时间内未加载任务的计算节点置为休眠状态,具体包括以下步骤:
(5.1)查询各计算节点的节点任务表,获取任务数,若找到任务数目为0的计算节点,转入步骤(5.2);否则转入步骤(5.3);
(5.2)判断当前计算节点的状态:
a.若当前计算节点为活跃状态,则发送休眠命令,将其置入休眠状态;
b.若当前计算节点为休眠状态,则将其置入更深层的休眠状态;
c.若当前计算节点为更深层的休眠状态,则将其置入最深层休眠状态;
(5.3)结束。
10.根据权利要求3所述的基于自学习负载预测的集群按需启动方法,其特征在于,所述计算节点定期根据本节点的负载情况,自适应调节本节点的处理器工作频率;具体步骤如下:
(6.1)设置一循环定时器,每计时Tvf,执行一次步骤(6.2)到步骤(6.4);
(6.2)查阅节点状态表,获得当前计算节点的主要负载情况,根据公式(2)计算得到当前计算节点的负载λ;
(6.3)判断,
Figure FDA0000137909540000031
转入步骤(6.4)
(6.4)将当前计算节点的所有处理器的工作频率均设置为fi+1
其中,计算节点的处理器可工作在离散的频率f1,f2,...,fk,设
Figure FDA0000137909540000032
且fk为最高工作频率;从而得到序列[δ1,δ2,...,δk],其中
Figure FDA0000137909540000033
CN201210040945.7A 2012-02-23 2012-02-23 基于自学习负载预测的集群按需启动方法 Active CN102622273B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210040945.7A CN102622273B (zh) 2012-02-23 2012-02-23 基于自学习负载预测的集群按需启动方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210040945.7A CN102622273B (zh) 2012-02-23 2012-02-23 基于自学习负载预测的集群按需启动方法

Publications (2)

Publication Number Publication Date
CN102622273A true CN102622273A (zh) 2012-08-01
CN102622273B CN102622273B (zh) 2015-04-15

Family

ID=46562201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210040945.7A Active CN102622273B (zh) 2012-02-23 2012-02-23 基于自学习负载预测的集群按需启动方法

Country Status (1)

Country Link
CN (1) CN102622273B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164267A (zh) * 2013-03-29 2013-06-19 汉柏科技有限公司 无锁消息队列实现方法
CN103309431A (zh) * 2012-03-07 2013-09-18 台湾积体电路制造股份有限公司 动态频率调整
CN103645956A (zh) * 2013-12-18 2014-03-19 浪潮电子信息产业股份有限公司 一种集群智能负载管理的方法
CN103885820A (zh) * 2012-12-19 2014-06-25 国际商业机器公司 信息处理装置和信息处理方法
CN104750541A (zh) * 2015-04-22 2015-07-01 成都睿峰科技有限公司 一种虚拟机迁移方法
CN104809052A (zh) * 2014-01-29 2015-07-29 西门子公司 用于对系统资源利用率进行预测的方法和装置
CN104935610A (zh) * 2014-03-17 2015-09-23 北京学之途网络科技有限公司 一种服务器集群的控制方法和控制装置
CN108200473A (zh) * 2018-02-01 2018-06-22 深圳创维-Rgb电子有限公司 Cpu功率控制方法、智能电视机及存储介质
CN108701060A (zh) * 2016-02-22 2018-10-23 以色列理工学院-康奈尔大学琼·雅各布斯与欧文·雅各布斯研究院 用于计算系统自动调整的方法
CN109408236A (zh) * 2018-10-22 2019-03-01 福建南威软件有限公司 一种etl在集群上的任务负载均衡方法
CN109669775A (zh) * 2018-12-10 2019-04-23 平安科技(深圳)有限公司 分布式任务调度方法、系统及存储介质
CN109960610A (zh) * 2019-02-27 2019-07-02 上海爱数信息技术股份有限公司 一种基于策略分流的数据备份方法
CN112087504A (zh) * 2020-08-31 2020-12-15 浪潮通用软件有限公司 一种基于工作负载特性的动态负载均衡的方法及装置
CN112131007A (zh) * 2020-09-28 2020-12-25 济南浪潮高新科技投资发展有限公司 基于ai平台的gpu资源调度方法、装置及介质
CN113297027A (zh) * 2020-08-31 2021-08-24 阿里巴巴集团控股有限公司 选择计算节点的方法、装置以及数据库
US11757790B2 (en) 2020-09-02 2023-09-12 Samsung Electronics Co., Ltd. Method and server for adjusting allocation of computing resources to plurality of virtualized network functions (VNFs)
CN117707741A (zh) * 2024-02-05 2024-03-15 山东省计算中心(国家超级计算济南中心) 基于空间位置的能耗均衡调度方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1228660A (zh) * 1998-03-06 1999-09-15 富士通株式会社 采用负载预测的系统优化装置
CN101820384A (zh) * 2010-02-05 2010-09-01 浪潮(北京)电子信息产业有限公司 一种集群服务动态分配方法及装置
CN102232282A (zh) * 2010-10-29 2011-11-02 华为技术有限公司 一种实现数据中心资源负载均衡的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1228660A (zh) * 1998-03-06 1999-09-15 富士通株式会社 采用负载预测的系统优化装置
CN101820384A (zh) * 2010-02-05 2010-09-01 浪潮(北京)电子信息产业有限公司 一种集群服务动态分配方法及装置
CN102232282A (zh) * 2010-10-29 2011-11-02 华为技术有限公司 一种实现数据中心资源负载均衡的方法及装置

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309431A (zh) * 2012-03-07 2013-09-18 台湾积体电路制造股份有限公司 动态频率调整
CN103309431B (zh) * 2012-03-07 2017-03-01 台湾积体电路制造股份有限公司 动态频率调整
CN103885820A (zh) * 2012-12-19 2014-06-25 国际商业机器公司 信息处理装置和信息处理方法
CN103885820B (zh) * 2012-12-19 2018-01-02 国际商业机器公司 信息处理装置和信息处理方法
US10826980B2 (en) 2012-12-19 2020-11-03 International Business Machines Corporation Command process load balancing system
US10348815B2 (en) 2012-12-19 2019-07-09 International Business Machines Corporation Command process load balancing system
CN103164267A (zh) * 2013-03-29 2013-06-19 汉柏科技有限公司 无锁消息队列实现方法
CN103645956A (zh) * 2013-12-18 2014-03-19 浪潮电子信息产业股份有限公司 一种集群智能负载管理的方法
CN104809052A (zh) * 2014-01-29 2015-07-29 西门子公司 用于对系统资源利用率进行预测的方法和装置
CN104935610B (zh) * 2014-03-17 2019-03-01 北京学之途网络科技有限公司 一种服务器集群的控制方法和控制装置
CN104935610A (zh) * 2014-03-17 2015-09-23 北京学之途网络科技有限公司 一种服务器集群的控制方法和控制装置
CN104750541A (zh) * 2015-04-22 2015-07-01 成都睿峰科技有限公司 一种虚拟机迁移方法
US11429181B2 (en) 2016-02-22 2022-08-30 Synopsys, Inc. Techniques for self-tuning of computing systems
US10606337B2 (en) 2016-02-22 2020-03-31 The Joan and Irwin Jacobs Technion-Cornell Institute Techniques for self-tuning of computing systems
CN116737256A (zh) * 2016-02-22 2023-09-12 斯诺普西斯公司 自动调整计算系统的方法、计算系统和计算机可读介质
CN108701060A (zh) * 2016-02-22 2018-10-23 以色列理工学院-康奈尔大学琼·雅各布斯与欧文·雅各布斯研究院 用于计算系统自动调整的方法
CN108200473A (zh) * 2018-02-01 2018-06-22 深圳创维-Rgb电子有限公司 Cpu功率控制方法、智能电视机及存储介质
CN109408236A (zh) * 2018-10-22 2019-03-01 福建南威软件有限公司 一种etl在集群上的任务负载均衡方法
CN109669775A (zh) * 2018-12-10 2019-04-23 平安科技(深圳)有限公司 分布式任务调度方法、系统及存储介质
CN109669775B (zh) * 2018-12-10 2024-06-25 平安科技(深圳)有限公司 分布式任务调度方法、系统及存储介质
CN109960610B (zh) * 2019-02-27 2023-06-06 上海爱数信息技术股份有限公司 一种基于策略分流的数据备份方法
CN109960610A (zh) * 2019-02-27 2019-07-02 上海爱数信息技术股份有限公司 一种基于策略分流的数据备份方法
CN112087504A (zh) * 2020-08-31 2020-12-15 浪潮通用软件有限公司 一种基于工作负载特性的动态负载均衡的方法及装置
CN113297027A (zh) * 2020-08-31 2021-08-24 阿里巴巴集团控股有限公司 选择计算节点的方法、装置以及数据库
US11757790B2 (en) 2020-09-02 2023-09-12 Samsung Electronics Co., Ltd. Method and server for adjusting allocation of computing resources to plurality of virtualized network functions (VNFs)
CN112131007A (zh) * 2020-09-28 2020-12-25 济南浪潮高新科技投资发展有限公司 基于ai平台的gpu资源调度方法、装置及介质
CN112131007B (zh) * 2020-09-28 2023-02-21 山东浪潮科学研究院有限公司 基于ai平台的gpu资源调度方法、装置及介质
CN117707741A (zh) * 2024-02-05 2024-03-15 山东省计算中心(国家超级计算济南中心) 基于空间位置的能耗均衡调度方法及系统
CN117707741B (zh) * 2024-02-05 2024-05-24 山东省计算中心(国家超级计算济南中心) 基于空间位置的能耗均衡调度方法及系统

Also Published As

Publication number Publication date
CN102622273B (zh) 2015-04-15

Similar Documents

Publication Publication Date Title
CN102622273A (zh) 基于自学习负载预测的集群按需启动方法
Goiri et al. Matching renewable energy supply and demand in green datacenters
Liu et al. Harvesting-aware power management for real-time systems with renewable energy
Ghor et al. A real-time scheduling framework for embedded systems with environmental energy harvesting
CN102326134B (zh) 能量感知服务器管理
CN102063336B (zh) 一种分布式计算多应用功能异步并发调度方法
CN102932422B (zh) 基于改进蚁群算法的云环境任务调度方法
CN100416463C (zh) 面向嵌入式系统低功耗实时任务参数模型调度方法
CN102171627A (zh) 对在异构计算系统中执行的应用的调度
EP3221666B1 (en) Automatic system for monitoring electric power consumption
Zhang et al. Deadline-aware task scheduling for solar-powered nonvolatile sensor nodes with global energy migration
CN103823541A (zh) 虚拟数据中心节能调度方法和设备
Qazi et al. Workload prediction of virtual machines for harnessing data center resources
CN103823545A (zh) 一种云计算系统的服务器唤醒方法
KR101770736B1 (ko) 응용프로그램의 질의 스케쥴링을 이용한 시스템의 소모전력 절감 방법 및 그 방법을 이용하여 소모전력을 절감하는 휴대단말기
CN110830560A (zh) 一种基于强化学习的多用户移动边缘计算迁移方法
Kuehn et al. DVFS-power management and performance engineering of data center server clusters
CN108241526B (zh) 基于模式预测的自适应控制策略
US10739835B2 (en) Power management for electronic devices
CN109298918A (zh) 一种基于线性规划的并行任务节能调度方法
CN103023802A (zh) 一种面向web集群的低能耗调度系统和方法
CN101685335A (zh) 基于seda的应用服务器及其节能装置和方法
Ghadaksaz et al. Storage capacity for EDF–ASAP algorithm in energy-harvesting systems with periodic implicit deadline hard real-time tasks
Cui et al. Shadows on the Cloud: An Energy-aware, Profit Maximizing Resilience Framework for Cloud Computing.
Deng et al. Self-similarity: Behind workload reshaping and prediction

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