虚拟化数据中心调度方法及系统转让专利

申请号 : CN201010592150.8

文献号 : CN102043676B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 沃天宇胡春明衣敏李博

申请人 : 北京航空航天大学

摘要 :

本发明提供一种虚拟化数据中心调度方法及系统,该方法包括:根据数据中心的当前阶段的系统状态信息和应用性能信息,预测当前阶段之后第[1,H]个阶段的各阶段的系统状态信息,其中H为自然数,且H>1;根据各阶段的系统状态信息确定包括至少两个阶段的最优路径;产生调度指令,以指示数据中心根据调度指令中的最优路径中的第1个阶段的系统状态信息执行数据中心下一个阶段的状态切换。该系统包括调度模块,调度模块包括:系统状态预测模块、系统状态优化模块和调度指令产生模块。本发明提供的虚拟化数据中心调度方法及系统,通过预测当前阶段之后几个阶段的系统状态信息来确定下一阶段的系统状态,避免了因频繁操作造成的资源浪费。

权利要求 :

1.一种虚拟化数据中心调度方法,其特征在于,包括:

根据数据中心的当前阶段的系统状态信息和应用性能信息,预测当前阶段之后第[1,H]个阶段的各阶段系统状态信息,其中所述H为自然数,且H>1,其中,所述第[1,H]个阶段是指1到H个阶段;

根据所述各阶段的系统状态信息确定包括至少两个阶段的最优路径;

产生调度指令,以指示所述数据中心根据所述调度指令中的所述最优路径中的第1个阶段的系统状态信息执行数据中心下一个阶段的状态切换。

2.根据权利要求1所述的虚拟化数据中心调度方法,其特征在于,当前阶段为第1个阶段,所述根据数据中心的当前阶段的系统状态信息和应用性能信息,预测当前阶段之后第[1,H]个阶段的各阶段系统状态信息包括:根据数据中心第i个阶段的系统状态信息与预设系统条件来确定第i个阶段的各控制输入信息;

根据所述第i个阶段的系统状态信息、各控制输入信息和数据中心的第i个阶段的应用性能信息,分别获得数据中心第i+1个阶段的一个或多个系统状态信息;

根据数据中心的第i个阶段的应用性能信息预测第i+1个阶段的应用性能信息;

其中,i为自然数,且1≤i≤H,按照i从1到H的顺序,重复执行上述操作。

3.根据权利要求1所述的虚拟化数据中心调度方法,其特征在于,根据所述各阶段的系统状态信息确定包括至少两个阶段的最优路径包括:根据各阶段的电能消耗量,确定连续的至少两个阶段的电能消耗量之和最少的路径为最优路径。

4.根据权利要求1所述的虚拟化数据中心调度方法,其特征在于,根据所述各阶段的系统状态信息确定包括至少两个阶段的最优路径具体为:根据所述各阶段的系统状态信息建立数据中心各阶段的状态树,依据所述状态树 来确定所述最优路径。

5.根据权利要求1所述的虚拟化数据中心调度方法,其特征在于,所述根据数据中心的当前阶段的系统状态信息和应用性能信息,预测当前阶段之后第[1,H]个阶段的各阶段系统状态信息之前,还包括:获得所述数据中心的当前阶段的系统状态信息和应用性能信息。

6.根据权利要求2所述的虚拟化数据中心调度方法,其特征在于:

所述应用性能信息包括应用的请求速率。

7.根据权利要求2所述的虚拟化数据中心调度方法,其特征在于,根据数据中心的第i个阶段的应用性能信息预测第i+1个阶段的应用性能信息具体为:通过应用自回归移动平均模型来预测所述第i+1个阶段的应用性能信息。

8.一种虚拟化数据中心调度系统,包括调度模块,其特征在于,所述调度模块包括:系统状态预测模块,用于根据数据中心当前阶段的系统状态预测当前阶段之后第[1,H]个阶段的各阶段系统状态,其中所述H为自然数,且H>1,其中,所述第[1,H]个阶段是指1到H个阶段;

系统状态优化模块,用于根据所述各阶段的系统状态信息确定包括至少两个阶段的最优路径;

调度指令产生模块,用于产生调度指令,以指示所述数据中心根据所述调度指令中的所述最优路径中的第1个阶段的系统状态信息执行数据中心下一个阶段的状态切换。

9.根据权利要求8所述的虚拟化数据中心调度系统,当前阶段为第1个阶段,其特征在于,所述系统状态预测模块包括:参数预测模块,用于根据数据中心的当前阶段的应用性能信息预测当前阶段之后第[1,H]个阶段的各阶段的应用性能信息;

控制调整模块,用于根据数据中心第i个阶段的系统状态信息与预设系统条件来确定第i个阶段的各控制输入信息;

模型管理模块,用于根据所述第i个阶段的系统状态信息、各控制输入信息和数据中心的第i个阶段的应用性能信息,分别获得数据中心第i+1个阶段的一个或多个系统状态信息;

其中,i为自然数,且1≤i≤H。

10.根据权利要求9所述的虚拟化数据中心调度系统,其特征在于,还包括:监控模块,所述监控模块包括应用信息监控单元和物理节点监控单元,所述应用信息监控单元用于获得所述当前阶段的应用性能信息,并发送至所述参数预测模块,所述物理节点监控单元用于获得所述当前阶段的系统状态信息;

执行模块,所述执行模块包括虚拟机执行单元和物理机执行单元,所述虚拟机执行单元用于根据所述调度指令执行虚拟机操作,所述物理机执行单元用于根据所述调度指令执行物理机操作。

说明书 :

虚拟化数据中心调度方法及系统

技术领域

[0001] 本发明涉及数据中心调度技术,尤其涉及一种虚拟化数据中心调度方法及系统。 背景技术
[0002] 数据中心是指由多个异构的、由网络连接在一起的服务器所组成的用于承载提供在线服务的企业级应用的分布式计算系统。在数据中心中,将大量的服务器进行集中统一管理,可以保障服务器运行所需要的稳定电源环境,适宜的温湿度控制以及网络带宽条件。 [0003] 传统的服务器应用部署往往采取专用服务器(Dedicated server)的方式,在这种方式下,一般一个物理节点只部署单个应用或者应用的一个组件,以避免多个应用部署在同一个物理节点上彼此间相互影响。但这种方式必然导致硬件资源的利用率过低,购买硬件资源的开销过大,当然还有本身物理节点空转及空调设备所带来的电源损耗,同时管理维护的成本也增加。
[0004] 虚拟化技术的出现为数据中心的节能调度机制研究提供了新的契机,虚拟化技术为多种在线服务聚合到少量的服务器上运行服务聚合提供了一种可行方案。虚拟化技术能够将单一的服务器转变成多个彼此之间拥有性能隔离性的虚拟机,进而让各个虚拟机来承载web应用。虚拟化技术还能够实现资源的按需分配,通过动态地增加或减少虚拟机、聚合工作负载以及开启/关闭服务器,数据中心能够有效地进行节能调度,进而提高自身的资源利用率以及能源使用效率。
[0005] 图1为现有技术的虚拟化数据中心调度系统的工作原理框图,如图1所示,数据中心的调度系统200获取数据中心当前的系统状态S,并根据当前的系统状态S对下一阶段的输入参数进行预测,根据预测得出的输入参数以及系统当前的系统状态S计算出系统下一阶段的系统状态,并产生相应的控制命令C交由数据中心100执行改变系统的状态。 [0006] 但是在实际应用过程中,现有技术的虚拟化数据中心调度系统存在的主要问题是执行状态转移的时间间隔难以确定:如果执行状态转移的时间间隔过长,则会降低调度机制的节能效果;如果执行状态转移的时间过短,则会引发大量的管理操作。大量的管理操作在虚拟化数据中心运行过程中至少产生以下问题:
[0007] 一、过于频繁的管理操作不仅可能会占用大量的计算资源,不利于数据中心的稳定运行,如大量的虚拟机迁移操作会占用大量的网络带宽和中央处理器(Central Processing Unit,简称CPU)资源,而且由于开启/关闭物理机过程中的电功率峰值要大于物理机CPU使用率100%时的峰值电功率,这种过于频繁的管理操作会增加数据中心的电能消耗。
[0008] 二、一般的管理操作都需要操作时间,如开启/关闭物理服务器所需的时间,不当的管理操作同时也有可能使应用违反自身的服务等级协议(Service-Level Agreement,简称SLA)。假设数据中心刚刚根据上一阶段较低的工作负载需求关闭了一台服务器,而下一阶段工作负载却显著增加了,重新开启服务器又需要一定的时间,无法及时地为工作负载服务。
[0009] 发明内容
[0010] 本发明提供一种虚拟化数据中心调度方法及系统,以避免资源浪费。 [0011] 本发明提供一种虚拟化数据中心调度方法,包括:
[0012] 根据数据中心的当前阶段的系统状态信息和应用性能信息,预测当前阶段之后第[1,H]个阶段的各阶段系统状态信息,其中所述H为自然数,且H>1,其中,所述第[1,H]个阶段是指1到H个阶段;
[0013] 根据所述各阶段的系统状态信息确定包括至少两个阶段的最优路径; [0014] 产生调度指令,以指示所述数据中心根据所述调度指令中的所述最优路径中的第1个阶段的系统状态信息执行数据中心下一个阶段的状态切换。
[0015] 如上所述的虚拟化数据中心调度方法,其中,当前阶段为第1个阶段,所述根据数据中心的当前阶段的系统状态信息和应用性能信息,预测当前阶段之后第[1,H]个阶段的各阶段系统状态信息包括:
[0016] 根据数据中心第i个阶段的系统状态信息与预设系统条件来确定第i个阶段的各控制输入信息;
[0017] 根据所述第i个阶段的系统状态信息、各控制输入信息和数据中心的第i个阶段的应用性能信息,分别获得数据中心第i+1个阶段的一个或多个系统状态信息; [0018] 根据数据中心的第i个阶段的应用性能信息预测第i+1个阶段的应用性能信息; [0019] 其中,i为自然数,且1≤i≤H,按照i从1到H的顺序,重复执行上述操作。 [0020] 如上所述的虚拟化数据中心调度方法,其中,根据所述各阶段的系统状态信息确定包括至少两个阶段的最优路径包括:
[0021] 根据各阶段的电能消耗量,确定连续的至少两个阶段的电能消耗量之和最少的路径为最优路径。
[0022] 如上所述的虚拟化数据中心调度方法,其中,根据所述各阶段的系统状态信息确定包括至少两个阶段的最优路径具体为:根据所述各阶段的系统状态信息建立数据中心各阶段的状态树,依据所述状态树来确定所述最优路径。
[0023] 如上所述的虚拟化数据中心调度方法,其中,所述根据数据中心的当前阶段的系统状态信息和应用性能信息,预测当前阶段之后第[1,H]个阶段的各阶段系统状态信息之前,还包括:获得所述数据中心的当前阶段的系统状态信息和应用性能信息。 [0024] 如上所述的虚拟化数据中心调度方法,其中,
[0025] 所述应用性能信息包括应用的请求速率。
[0026] 如上所述的虚拟化数据中心调度方法,其中,根据数据中心的第i个阶段的应用性能信息预测第i+1个阶段的应用性能信息具体为:通过应用自回归移动平均模型来预测所述第i+1个阶段的应用性能信息。
[0027] 本发明提供一种虚拟化数据中心调度系统,包括调度模块,所述调度模块包括: [0028] 系统状态预测模块,用于根据数据中心当前阶段的系统状态预测当前阶段之后第[1,H]个阶段的各阶段系统状态,其中所述H为自然数,且H>1,其中,所述第[1,H]个阶段是指1到H个阶段;
[0029] 系统状态优化模块,用于根据所述各阶段的系统状态信息确定包括至少两个阶段的最优路径;
[0030] 调度指令产生模块,用于产生调度指令,以指示所述数据中心根据所述调度指令中的所述最优路径中的第1个阶段的系统状态信息执行数据中心下一个阶段的状态切换。 [0031] 如上所述的虚拟化数据中心调度系统,当前阶段为第1个阶段,其中,所述系统状态预测模块包括:
[0032] 参数预测模块,用于根据数据中心的当前阶段的应用性能信息预测当前阶段之后第[1,H]个阶段的各阶段的应用性能信息;
[0033] 控制调整模块,用于根据数据中心第i个阶段的系统状态信息与预设系统条件来确定第i个阶段的各控制输入信息;
[0034] 模型管理模块,用于根据所述第i个阶段的系统状态信息、各控制输入信息和数据中心的第i个阶段的应用性能信息,分别获得数据中心第i+1个阶段的一个或多个系统状态信息;
[0035] 其中,i为自然数,且1≤i≤H。
[0036] 如上所述的虚拟化数据中心调度系统,还包括:
[0037] 监控模块,所述监控模块包括应用信息监控单元和物理节点监控单元,所述应用信息监控单元用于获得所述当前阶段的应用性能信息,并发送至所述参数预测模块,所述物理节点监控单元用于获得所述当前阶段的系统状态信息;
[0038] 执行模块,所述执行模块包括虚拟机执行单元和物理机执行单元,所述虚拟机执行单元用于根据所述调度指令执行虚拟机操作,所述物理机执行单元用于根据所述调度指令执行物理机操作。
[0039] 由上述技术方案可知,本发明提供的虚拟化数据中心调度方法及系统,通过预测数据中心当前阶段之后至少两个阶段的系统状态信息来确定数据中心的下一阶段的系统状态信息,可以按需、动态地为数据中心的各个应用分配资源,减少了不必要的管理操作,避免了资源的浪费。

附图说明

[0040] 图1为现有技术的虚拟化数据中心调度系统的工作原理框图;
[0041] 图2为本发明实施例一提供的虚拟化数据中心调度方法的流程图; [0042] 图3为本发明实施例二提供的预测系统状态信息的方法的流程图; [0043] 图4为本发明实施例二提供的数据中心状态树的结构示意图;
[0044] 图5为本发明实施例三提供的虚拟化数据中心调度系统结构示意图。 [0045] 附图标记:
[0046] 10~30、110~130-步骤; 40-监控模块;
[0047] 50-调度模块; 60-执行模块;
[0048] 510-系统状态预测模块; 520-系统状态优化模块;
[0049] 530-调度指令产生模块; 5101-参数预测模块;
[0050] 5102-控制调整模块; 5103-模型管理模块;
[0051] 410-应用信息监控单元; 420-物理节点监控单元;
[0052] 610-虚拟机执行单元; 620-物理机执行单元;
[0053] 100-数据中心; 200-调度系统;
[0054] S-当前的系统状态; C-控制命令。

具体实施方式

[0055] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述。需要说明的是,在附图或说明书中,相似或相同的元件皆使用相同的附图标记。
[0056] 实施例一
[0057] 图2为本发明实施例一提供的虚拟化数据中心调度方法的流程图,如图2所示,在本实施例中,虚拟化数据中心调度方法包括:
[0058] 步骤10、根据数据中心的当前阶段的系统状态信息和应用性能信息,预测当前阶段之后第[1,H]个阶段的各阶段系统状态信息,其中H为自然数,且H>1; [0059] 步骤20、根据各阶段的系统状态信息确定包括至少两个阶段的最优路径; [0060] 步骤30、产生调度指令,以指示数据中心根据调度指令中的最优路径中的第1个阶段的系统状态信息执行数据中心下一个阶段的状态切换。
[0061] 本实施例的技术方案通过预测多个阶段系统状态信息来寻找最优路径,该最优路径包括至少两个阶段的系统状态信息,即该系统沿着该最优路径顺序执行至少两个阶段的状态是最优的。最优化参数指标可根据具体需要来设定,有多种实现方式。 [0062] 在本实施例中,数据中心的系统状态信息可以反映数据中心电能消耗量,通过预测自当前阶段之后至少两个阶段的系统状态信息,确定一条最优路径,将最优路径中的第一个阶段的系统状态信息作为数据中心下一个阶段的系统状态信息,可以综合考虑数据中心自当前阶段起多个阶段的系统状态来确定下一个阶段的系统状态再进行管理操作,避免了因频繁的管理操作造成的数据中心的不稳定,以及由于频繁地开启物理机而造成的电能的浪费,提高了资源的利用率。
[0063] 实施例二
[0064] 图3为本发明实施例二提供的预测系统状态信息的方法的流程图,如图 3所示,实施例二所提供的虚拟化数据中心调度方法是以实施例一为基础的,若系统中心的当前阶段为第1个阶段,具体可以通过以下方式来实现步骤10。
[0065] 步骤110、根据数据中心第i个阶段的系统状态信息与预设系统条件来确定第i个阶段的各控制输入信息;
[0066] 步骤120、根据第i个阶段的系统状态信息、各控制输入信息和数据中心的第i个阶段的应用性能信息,分别获得数据中心第i+1个阶段的一个或多个系统状态信息; [0067] 步骤130、根据数据中心的第i个阶段的应用性能信息预测第i+1个阶段的应用性能信息;
[0068] 其中,i为自然数,且1≤i≤H,按照i从1到H的顺序,重复执行上述操作。当i>H时,执行步骤20。
[0069] 在本实施例中,上述技术方案中的一次循环的具体实现方法可以为:数据中心第k个阶段的系统状态信息具体可以用x(k)来表示,将数据中心的第k个阶段作为当前阶段,数据中心第k+1个阶段的系统状态信息即为x(k+1)。具体的x(k+1)=Φ(x(k),λ(k),u(k)),其中,λ(k)为数据中心第k个阶段的应用性能信息,即环境输入信息,u(k)为数据中心第k个阶段的控制输入信息。通过获知的数据中心第k个阶段的系统状态信息x(k)与预设系统条件可以获得达到预设系统条件的所有可能的控制输入信息u(k)。函数Φ为数据中心的行为模型。通过数据中心第k个阶段的应用性能信息λ(k),可以预测数据中心k+1个阶段的应用性能信息λ(k+1),优选地,可以通过应用自回归移动平均(Autoregressive Integrated Moving Average Model,简称ARIMA)模型来进行预测,ARIMA模型为有限向前预测控制机制,具体可以通过ARIMA模型根据数据中心当前阶段的应用性能信息预测出数据中心当前阶段之后第[1,H]个阶段的各阶段的应用性能信息。应用ARIMA模型进行预测,操作步骤规范,且分析结果易于解释。本领域的技术人员也可以采用其他预测算法对应用性能信息进行预测,如神经网络 法,并不以本实施例所提供的算法为限。
[0070] 在本实施例中,最优路径为各阶段的电能消耗量之和最少的路径。即根据各阶段的系统状态信息确定包括至少两个阶段的最优路径包括:根据各阶段的电能消耗量,确定连续的至少两个阶段的电能消耗量之和最少的路径为最优路径。
[0071] 优选地,可以根据各阶段的系统状态信息建立数据中心各阶段的状态树,依据状态树来确定所述最优路径,如图4所示,该方法简单,易于实现。本领域技术人员也可以采用其他算法来确定最优路径,并不以本实施例所提供的算法为限。
[0072] 在本实施例中,根据数据中心的当前阶段的系统状态信息和应用性能信息,预测当前阶段之后第[1,H]个阶段各阶段的系统状态信息之前还包括:获得数据中心的当前阶段的系统状态信息和应用性能信息。数据中心的当前阶段的系统状态信息具体可以通过监测得到数据中心的参数并计算获得,参数具体可以为应用的平均响应时间和应用的等待处理的请求队列长度,应用性能信息包括应用的请求速率。
[0073] 实施例三
[0074] 图5为本发明实施例三提供的虚拟化数据中心调度系统结构示意图,如图5所示,该虚拟化数据中心调度系统可以应用本发明提供的虚拟化数据中心调度方法,但并不以此为限。该虚拟化数据中心调度系统包括调度模块50,调度模块50包括系统状态预测模块510、系统状态优化模块520和调度指令产生模块530,系统状态预测模块510用于根据数据中心当前阶段的系统状态预测当前阶段之后第[1,H]个阶段的各阶段的系统状态,其中H为自然数,且H>1;系统状态优化模块520用于根据各阶段的系统状态信息确定包括至少两个阶段的最优路径;调度指令产生模块530用于产生调度指令,以指示数据中心根据调度指令中的最优路径中的第1个阶段的系统状态信息执行数据中心下一个阶段的状态切换。通常将数据中心切换至下一阶段的状态的控 制输入信息并不能直接执行,调度指令产生模块530将其转换为可以识别并执行的调度指令,如开启/关闭物理服务器、迁移虚拟机、开启/关闭虚拟机等,以改变数据中心的运行状态。通过系统状态预测模块510的设置,可以综合考虑数据中心当前阶段之后至少两个阶段的系统状态信息,以确定数据中心下一阶段的系统状态信息,避免了因频繁管理操作造成的资源的浪费。
[0075] 在本实施例中,当前阶段为第1个阶段,系统状态预测模块510具体可以包括参数预测模块5101、控制调整模块5102和模型管理模块5103,参数预测模块5101用于根据数据中心的当前阶段的应用性能信息预测当前阶段之后第[1,H]个阶段的各阶段的应用性能信息;控制调整模块5102用于根据数据中心第i个阶段的系统状态信息与预设系统条件来确定第i个阶段的各控制输入信息;模型管理模块5103用于根据第i个阶段的系统状态信息、各控制输入信息和数据中心的第i个阶段的应用性能信息,分别获得数据中心第i+1个阶段的一个或多个系统状态信息;其中,i为自然数,且1≤i≤H。
[0076] 在本实施例中,该虚拟化数据中心调度系统还可以包括监控模块40和执行模块60,监控模块40包括应用信息监控单元410和物理节点监控单元420,应用信息监控单元
410用于获得当前阶段的应用性能信息,并发送至参数预测模块5101,物理节点监控单元
420用于获得当前阶段的系统状态信息;执行模块60包括虚拟机执行单元610和物理机执行单元620,虚拟机执行单元610用于根据调度指令执行虚拟机操作,物理机执行单元620用于根据调度指令执行物理机操作。具体的,执行模块60需要执行虚拟机的关闭/开启、虚拟机迁移以及物理机的关闭/远程唤醒等操作,这些操作可以通过简单对象访问协议(Simple Object Access Protocol,简称SOAP)来调用的。对虚拟机的相关操作调用的是libvirt提供的相应的虚拟机管理API实现;物理机关闭操作调用的是linux关机命令;物理机的远程唤醒则采用wake-on-lan协议实现的。本领域技术人员可以选择其他方法来实现调度指令的操作,并不以本实施例提供的方法为限。
[0077] 本发明提供的虚拟化数据中心调度方法及系统,通过预测数据中心当前阶段之后至少两个阶段的系统状态信息来确定数据中心的下一阶段的系统状态信息,可以对数据中心接下来几个阶段的系统状态进行综合地分析,按需、动态地为数据中心的各个应用分配资源,减少了不必要的管理操作,避免了因频繁的管理操作造成的资源浪费。 [0078] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。