CN104536803A - 一种基于组合优化的虚拟机调度方法 - Google Patents

一种基于组合优化的虚拟机调度方法 Download PDF

Info

Publication number
CN104536803A
CN104536803A CN201410814536.7A CN201410814536A CN104536803A CN 104536803 A CN104536803 A CN 104536803A CN 201410814536 A CN201410814536 A CN 201410814536A CN 104536803 A CN104536803 A CN 104536803A
Authority
CN
China
Prior art keywords
virtual machine
resource
physical host
vector
cluster
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.)
Pending
Application number
CN201410814536.7A
Other languages
English (en)
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.)
Xidian University
Original Assignee
Xidian 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 Xidian University filed Critical Xidian University
Priority to CN201410814536.7A priority Critical patent/CN104536803A/zh
Publication of CN104536803A publication Critical patent/CN104536803A/zh
Pending legal-status Critical Current

Links

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

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于组合优化的虚拟机调度方法,该方法可用于虚拟集群中实时的虚拟机调度决策,能够根据虚拟集群当前的资源使用情况实时地决策虚拟机的开启位置,使得被占用的物理主机的数量最小,这样既可以提高资源利用率又可以减少能源的消耗。本发明所涉及的虚拟机调度方法采用简单的数学计算,可在有限次比较次数内获得调度结果,比较次数与虚拟机种类以及物理主机种类有关。与传统解决组合优化问题时所采用的人工智能算法相比,本发明所涉及的虚拟机调度方法具有较高的实时性,可以实时决策出虚拟机的放置位置,满足对虚拟机调度***高实时性的要求。

Description

一种基于组合优化的虚拟机调度方法
技术领域
本发明属于计算机科学与技术领域,涉及虚拟集群中的虚拟机调度,具体涉及一种基于组合优化的虚拟机调度方法。
背景技术
云计算作为新兴的高性能计算方式被越来越多企业的关注。云计算中的基础设施即服务(Infrastructure as a Service)模型是一种较低层的且应用很广泛的一种服务模型。2006年Amazon发布了弹性云计算(EC2)服务,开创了IaaS服务的先河,之后各个公司分别推出了各自的商用的云计算平台,例如青云、阿里云、腾讯云等。另外,Nucaluptus、OpenStack等IaaS开源平台也受到广泛的关注。IaaS服务主要是整合计算资源为用户提供计算任务所需的基础设施(CPU、内存、存储等)。在实际的云计算集群中,通常使用虚拟化技术对计算资源进行整合。这样可以统一且高效地管理大量异构的计算资源,并且可以方便地对资源进行切割和组合,从而达到弹性资源配置。在基础设施即服务模型中,多个虚拟机可以同时运行在同一物理机上。虚拟机的调度技术决定了虚拟机开启在哪一台物理主机上。虚拟机调度方法可以使用不同的策略达成相应的调度目标,例如公平性优先、吞吐量优先、利用率优先等。以资源利用率优先为调度策略的虚拟机调度方法有很高的实用价值,因为提高资源的利用率既可以减少集群的维护成本,又可以减少能源消耗。
以减少占用的物理主机数量为优化目标的虚拟机调度问题与装箱问题类似。装箱问题是组合优化问题中比较具有代表性的一类问题,这类问题可以通俗地描述为:一系列尺寸不同的货物按顺序打包装箱,货物的尺寸均不超过箱子能容纳的最大尺寸,合理地放置货物使得使用的箱子数目最少。在虚拟机调度问题中,虚拟机可以看作货物而物理主机可以看作为箱子。可以使用经典的启发式算法解决装箱问题,但这类算法不能保证能解的最优性。Jiang.J.W等人在2012年究了虚拟机调度与网络路由相结合的问题,使用虚拟机迁移来优化调度结果。由于虚拟机迁移操作的耗时较长,使得算法的时效性较差。Zhong.H等人使用遗传算法解决虚拟机调度问题,遗传算法等人工智能算法的一个特点就是计算量较大,在实时性要求比较高的***中不能满足需求。
发明内容
本发明针对上述技术的不足,提供了一种可以实时决策并且高效利用资源的基于组合优化的虚拟机调度方法,该方法可用于虚拟集群中实时的虚拟机调度决策,能够根据虚拟集群当前的资源使用情况实时地决策虚拟机的开启位置,使得被占用的物理主机的数量最小,这样既可以提高资源利用率又可以减少能源的消耗。
为实现上述目的,本发明的所采用的技术方案包括以下步骤:
1)集群状态建模
1.1)统计集群中资源种类数量N,并为每种资源编号,依次为1~N;
1.2)统计集群中物理主机的资源向量,每一台物理主机均提供N种资源供运行在该主机上的多台虚拟机共享;
1.3)对虚拟机进行分类,统计虚拟机的种类总数I,并为每一种虚拟机类型进行编号,依次为1~I;
1.4)统计每种虚拟机对资源的请求,每种虚拟机对资源的请求均为一个N维的向量,与物理主机的资源向量对应;
1.5)计算物理主机能够同时运行的虚拟机的组合种类,使用一个I维的向量k表示物理主机的负载情况;
1.6)将集群中的物理主机按资源配置向量分类,统计各种资源配置物理主机的数量;其中,资源配置为k的物理主机的数量为Xk;所有Xk组成一个|K|维的向量X,X为集群状态向量;
2)虚拟机调度
2.1)解析虚拟机请求,获得虚拟机所属的种类编号i;
2.2)构造一个权重函数:
w r ( X ) = min ( 1 , X r p )
其中r为***中虚拟机的总数,p为一常数且p∈(1/2,1);wr(X)的反导函数为:
f r ( X ) = X 2 2 r p , ifX ∈ [ 0 , r p ] ; X - r p 2 , ifX > r p .
定义近似函数Fr(X)=∑k∈Kfr(Xk),近似地表示物理主机的数量总和∑k∈KXk
2.3)k为集合K中的元素,集群中资源配置向量为k的物理主机数量为Xk;向量ei也是一个资源配置向量,是集合K中的单位向量,表示仅有一台类型为i的虚拟机;向量k-ei与向量k的分别表示物理主机在虚拟机实例开启前后的资源配置向量;集群中资源配置向量为k-ei的物理主机的数量为定义一个权重差来表示Fr(X)的一阶变化量,其中:
Δ ( k , i ) r ( X ) = w r ( X k ) - w r ( X k - e i )
Wr(Xk)为集群状态Xk的权重函数,Wr(Xk-ei)为集群状态的权重函数,Xk分别为调度操作前后的集群状态;
2.4)选取最小的值对应的k-ei值作为目标资源配置;为Fr(X)的一阶变化量,近似的表示虚拟机调度前后集群中物理主机数量的变化;
2.5)在资源配置为k-ei的物理主机中选取一台作为目标主机,在该主机上创建虚拟机实例。
所述步骤1.2)中,一台物理主机所提供的编号为n的资源数量为Bn,所有Bn组成一个N维的资源向量B,向量B用来表示物理主机的容量。
所述步骤1.4)中,编号为i的虚拟机种类对编号为n的资源需求量使用bi,n表示,所有bi,n组成一个I×N阶的资源需求矩阵b。
所述步骤1.5)中,向量的第i维元素ki为该物理主机上运行的i类型的虚拟机数量;同一物理主机上运行的所有虚拟机对资源的需求量之和不超过物理机所提供总量,即向量k满足:
Σ 1 ≤ i ≤ I k i b i , n ≤ B n
其中1≤n≤N,k为资源配置向量,所有k组成的集合为K,集合K中元素的数量为|K|。
本发明与现有技术相比有以下有益效果:
本发明所涉及的虚拟机调度方法采用简单的数学计算,可在有限次比较次数内获得调度结果,比较次数与虚拟机种类以及物理主机种类有关。与传统解决组合优化问题时所采用的人工智能算法相比,本发明所涉及的虚拟机调度方法具有较高的实时性,可以实时决策出虚拟机的放置位置,满足对虚拟机调度***高实时性的要求。
本发明所涉及的虚拟机调度方法是一种在线方法,在进行调度决策时,仅需要采集当前集群的状态及资源使用情况,而不需要记录集群的历史状态信息。
本发明所涉及的虚拟机调度方法避免使用虚拟机迁移操作来对虚拟机调度结果进行二次优化,避免了虚拟机迁移操作带来的巨大操作时延及虚拟机宕机时间。
当虚拟机请求序列服从泊松过程时,本发明所涉及的虚拟机调度方法可以证明在集群状态偏移一定距离(2D|K|rp-1)时,一定可以对目标函数进行优化,是的虚拟机占用的物理机数量仅可能少,从而提高资源利用率。
附图说明
图1为本发明对集群建模的流程图;
图2为本发明调度方法的流程图;
图3为本发明集群组织的架构示意图;
图4为本发明所述虚拟机调度算法的流程图;
图5为获得集群状态向量的数据流图;
图6为获得调度结果的数据流图。
具体实施方式
下面结合附图对本发明作进一步详细的说明:
参见图1至图6,本发明包括以下步骤:
(1)集群状态建模,如图1所示:
(1.1)统计集群中资源种类数量N,为每种资源编号,依次为1~N。
(1.2)统计集群中物理主机的资源向量,每一台物理主机均提供N种资源供运行在该主机上的多台虚拟机共享。一台物理主机所提供的编号为n的资源数量为Bn,所有Bn组成一个N维的资源向量。用来表示物理主机的容量。
(1.3)依据虚拟机对资源的需求量不同,对虚拟机进行分类。统计虚拟机的种类总数I。为了易于管理和减少资源碎片化,在集群中虚拟机的类型是有限的。为每一种虚拟机类型进行编号,依次为1~I。
(1.4)统计每种虚拟机对资源的请求,每种虚拟机对资源的请求均为一个N维的向量,与物理主机的资源向量对应。编号为i的虚拟机种类对编号为n的资源需求量使用bi,n表示。所有bi,n组成一个I×N阶的资源需求矩阵b。
(1.5)如图5所示,计算物理主机可以同时运行的虚拟机的组合种类,使用一个I维的向量k表示物理主机的负载情况。其中,向量的第i维元素ki为该物理主机上运行的i类型的虚拟机数量。同一物理主机上运行的所有虚拟机对资源的需求量之和不应超过物理机所提供总量B。即向量k应该满足:
Σ 1 ≤ i ≤ I k i b i , n ≤ B n
其中1≤n≤N,称向量k资源配置向量。所有k组成的集合为K,集合K中元素的数量为|K|。
(1.6)将集群中的物理主机按资源配置向量分类,统计各种资源配置物理主机的数量,其中资源配置为k的物理主机的数量为Xk。所有Xk组成一个|K|维的向量X,将X称为集群状态向量。
(2)虚拟机调度方法,如图2所示:
(2.1)解析虚拟机请求,获得虚拟机所属的种类编号i。
(2.2)构造一个权重函数:
w r ( X ) = min ( 1 , X r p )
其中r为***中虚拟机的总数,p为一常数且p∈(1/2,1)。wr(X)的反导函数为:
f x ( X ) = X 2 2 r p , ifX ∈ [ 0 , r p ] ; X - r p 2 , ifX > r p .
定义近似函数Fr(X)=∑k∈Kfr(Xk),可以近似地表示物理主机的数量总和∑k∈KXk
(2.3)如图6所示,遍历集合K中的元素,对集合K中的每一个元素k,集群中对应的资源配置向量为k的物理主机数量为Xk。向量ei也是一个资源配置向量,是集合K中的单位向量。它表示仅有一台类型为i的虚拟机。向量k-ei与向量k的分别表示物理主机在虚拟机实例开启前后的资源配置向量。集群中资源配置向量为k-ei的物理主机的数量为定义一个权重差来表示Fr(X)的一阶变化量,其中:
Δ ( k , i ) r ( X ) = w r ( X k ) - w r ( X k - e i )
(2.4)选取最小的值对应的k-ei值作为目标资源配置。为Fr(X)的一阶变化量,可以近似的表示虚拟机调度前后集群中物理主机数量的变化。
(2.5)在资源配置为k-ei的物理主机中选取一台作为目标主机,在该主机上创建虚拟机实例。集群中资源配置为k-ei的物理主机可能不唯一,在本发明中可以选取任意一台作为物理主机。然而可以综合其它条件(如相同类型虚拟机运行历史记录等)优化调度结果。
实施例:
集群组织形式如图3所示,将集群中的主机分为两种角色,分别为控制节点的计算节点。集群中有一个控制节点(controller node),负责接收并响应虚拟资源请求,将虚拟资源请求派发到提供计算能力的物理主机上。控制节点的功能模块主要有调度模块(scheduler)和数据收集模块(collector)。另外***有若干个计算节点(compute node),这些计算节点都是能提供计算能力的物理主机,负责创建具体的虚拟机执行计算任务。计算节点中有虚拟机管理模块(VMmanager)。控制节点和计算节点之间相互通信。计算节点上有监控模块负责采集该计算节点的资源使用情况,当进行调度决策时计算节点会向控制节点上报本节点的资源利用情况,而控制节点会将各个计算节点上报的资源利用情况进行汇总,得到当前集群总的资源利用情况并执行调度算法获得调度结果。
虚拟机调度***的模块分布如图4所示,各个模块的功能划分如下:
虚拟机管理模块(VM manager):该模块部署在每个计算节点上,用于与虚拟机进行交互。主要负责监控虚拟机状态,将物理主机资源利用情况上报控制节点,并负责创建和销毁虚拟机实例。
数据收集模块(collector):该模块位于控制节点上,负责与各个计算节点交互,收集各个计算节点上报的资源使用情况及虚拟机分布,并以此为输入数据为调度模块计算资源配置向量及当前集群的集群状态向量。
请求解析模块(parser):该模块部署在控制节点上,是虚拟机调度***的入口。负责接收虚拟机的请求序列,解析请求获得虚拟机的类型,并将虚拟机请求所对应的虚拟机类型发送给调度模块。
调度模块(scheduler):该模块位于控制节点上,负责执行虚拟机调度方法,获得调度结果,并将虚拟机的资源请求信息发送至目标物理主机的虚拟机管理模块,创建虚拟机实例。
本发明所涉及的虚拟机调度算法主要分为两部分,第一部分为对集群的数学建模,方便对组合优化的目标进行描述和推理,同时对采集到的描述集群资源使用情况的数据进行预处理,具体过程如图2所示。
S1.1位于计算节点上的虚拟机管理模块会根据配置获得物理主机所提供的资源种类,一般物理主机所提供的资源有CPU、内存、磁盘等。此时N的值为3,为每种资源编号:1表示CPU,2表示内存,3表示磁盘。
S1.2虚拟机管理模块收集物理主机的资源向量,资源向量是一个N维的向量,每一维元素对应于一种资源,其值为该物理主机所能提供的这类资源的总量。对于资源n∈{1,2,...,N},物理主机提供的资源量为Bn。一般情况下资源的数量是采用通用单位量化表示的,例如CPU的单位为个,内存和磁盘的单位为GB。
S1.3按照虚拟机对资源的需求量不同,将虚拟机进行分类。在实际的虚拟集群中,虚拟机的类型是有限的。这样既可以方便管理虚拟机,同时又可以根据物理主机的资源向量定制虚拟机类型的资源模板,使虚拟机按照模板定义的资源需求量进行资源请求。统计虚拟机的类型的数量记为I。
S1.4统计每种虚拟机对资源的请求,每种虚拟机对资源的请求均为一个N维的向量,与物理主机的资源向量对应。用户请求的虚拟机种类有I种,对于i类型的虚拟机i∈{1,2,...,I},其对资源n的请求量为bi,n。所有bi,n组成一个I×N阶的资源需求矩阵b。
虚拟机类型编号 CPU(个) 内存(GB) 磁盘(GB)
1 b1,1:1 b1,2:0.5 b1,3:5
2 b2,1:1 b2,2:1 b2,3:10
3 b3,1:2 b3,2:2 b3,3:10
4 b4,1:2 b4,2:4 b4,3:20
上表展示了一个虚拟机模板的划分,表中每一行表示一种虚拟机对各类资源的需求量。这种情况下有4种虚拟机类型,即I的值为4。
S1.5计算物理主机可以同时运行的虚拟机的组合种类,使用一个I维的向量k表示物理主机的负载情况。其中,向量的第i维元素ki为该物理主机上运行的i类型的虚拟机数量。一台物理主机上可以同时运行多个虚拟机实例,该物理主机的资源被这些虚拟机实例共享。虽然虚拟机软件大多支持超载,但是为了保证虚拟机的性能,运行在同一物理主机上虚拟机实例应该满足服务品质协议(SLA),即所有虚拟机对资源的需求量之和不应超过物理主机所提供的总量。向量k应该满足:
Σ 1 ≤ i ≤ I k i b i , n ≤ B n
其中1≤n≤N,称向量k资源配置向量。所有k组成的集合为K,集合K中元素的数量为|K|,集合K中元素均为一台物理主机的有效载荷。资源配置向量具有单调性,即如果资源配置向量k∈K,且有另一资源配置向量k’满足k’<k,则有k’∈K。资源配置向量的单调性很容易理解:如果一台物理主机的载荷为k,那么减少一个或多个虚拟机实例后物理主机的载荷k’仍为有效载荷。资源配置向量的单调性可以在求解集合K时减少计算量。
S1.6将集群中的物理主机按照资源配置向量进行分类,统计各种资源配置物理主机的数量,其中资源配置为k的物理主机的数量为Xk。所有Xk组成一个|K|维的向量X,将X称为集群状态向量。集群状态向量可以描述集群当前的资源使用情况,当新的虚拟机实例在一台物理主机上创建时,物理主机的资源配置向量由k-ei变为向量k。集群状态向量的减1,而Xk加1。
第二部分为虚拟机调度方法的主体,具体实施过程如图1所示:
S2.1位于控制节点上的请求解析模块接受虚拟机请求,解析虚拟机请求,获得虚拟机的类型记为i。将虚拟机类型发送给调度模块。
S2.2调度模块在接收到虚拟机类型后,构造一个权重函数:
w r ( X ) = min ( 1 , X r p )
其中r为***中虚拟机的总数,p为一常数且p∈(1/2,1)。wr(X)的反导函数为:
f r ( X ) = X 2 2 r p , ifX &Element; [ 0 , r p ] ; X - r p 2 , ifX > r p .
假设近似函数Fr(X)=∑k∈Kfr(Xk),用来近似表示集群中物理机的数量,可以证明:
&Sigma; k &Element; K X k - | K | r p 2 &le; F r ( X ) &le; &Sigma; k &Element; K X k
当X>rp时,显然上式成立。当X∈[0,rp]时,设在区间[0,rp]上G(X)<0,因此G(X)在区间[0,rp]上是递减的,故G(X)≤G(0)=0,因此所以
&Sigma; k &Element; K X k - | K | r p 2 &le; &Sigma; k &Element; K X k 2 2 r p &le; &Sigma; k &Element; K X k
综上所述,Fr(X)可以近似的描述物理主机的数量∑k∈KXk,描述的差值在O(rp)范围内。
S2.3遍历集合K中的元素,对集合K中的每一个元素k,集群中对应的资源配置向量为k的物理主机数量为Xk。向量ei也是一个资源配置向量,是集合K中的单位向量。它表示仅有一台类型为i的虚拟机。向量k-ei与向量k的分别表示物理主机在虚拟机实例开启前后的资源配置向量。集群中资源配置向量为k-ei的物理主机的数量为定义一个权重差来表示Fr(X)的一阶变化量,其中:
&Delta; ( k , i ) r ( X ) = w r ( X k ) - w r ( X k - e i )
所有资源配置向量k组成集合K,即K={k|∑ikibi,n≤Bn},K集合中去掉零向量得到集合设M为集合K与集合I的笛卡儿积,即M={(k,i)|k∈K,i∈I},故k-ei∈K,ei为集合K中的单位向量
S2.4选取最小的值对应的k-ei值作为目标资源配置。为Fr(X)的一阶变化量,可以近似的表示虚拟机调度前后集群中物理主机数量的变化。
S2.5在资源配置为k-ei的物理主机中选取一台作为目标主机,在该主机上创建虚拟机实例。集群中资源配置为k-ei的物理主机可能不唯一,在本发明中可以选取任意一台作为物理主机。控制节点上的调度模块会向目标主机发送虚拟机实例创建指令寄虚拟机实例的资源请求量。作为目标主机的计算节点在接收到创建虚拟机的指令后,该几点上的虚拟机管理模块会调用底层的指令完成虚拟机创建工作。
下面对本发明所涉及虚拟机调度算法的优化条件进行分析。首先引入一个算法相关的改善状态对,对优化目标的改进进行描述,称其为优化配置对(Enhancing Configuration Pair),然后提出并证明了定理1。该定理的主要内容是说明优化配置对存在的条件,即虚拟机调度方法的优化条件。
泊松过程通常用来描述服务***中顾客的到达的随机过程,例如在[0,t]时间内到达商店的顾客数,使用泊松过程来描述各类虚拟机请求到达虚拟机调度***的数量。类型为i的虚拟机请求序列使用强度为λir的泊松过程来描述,其中λi为一常数,r为一个修正因子。每种虚拟机实例的运行时间是随机的而且是相互独立的,假设每种类型的虚拟机的运行时间满足指数分布,且设类型为i的虚拟机的运行时间的均值为1/μi,因为泊松过程的强度λir表示在单位时间内类型为i的虚拟机到达的数量为λir,故当达到稳态时***中类型为i的虚拟机的平均数量Yi为:
Yi=λir/μi,设ρi=λii,则有:Yi=ρir
所有类型的虚拟机的数量Z为:Z=Σiρir=rΣiρi修改r的值,令Σiρi=1。使用随机过程Xr(·)表示跟r相关的集群状态变化。
当r趋向于无穷大时,对于类型i的虚拟机的数量有使xr(t)=Xr(t)/r,所以有,当r趋向于无穷时,有
&Sigma; k &Element; K k i x k r ( &infin; ) &DoubleRightArrow; &rho; i - - - ( 3 - 2 )
考虑如下的线性规划(LP1):
设线性规划的最优解为x*,且最小值为u*。当r趋近于无穷大时,若有则称对应的调度策略为渐进最优的。
假设 x ~ r ( t ) = X r ( t ) / r p , 权重函数变为 w ~ ( x ~ ) = min ( 1 , x ~ ) , 算法中的权重差为假设当前***为Xr,资源配置向量为k的物理机上的一个类型为i的虚拟机实例在其运行时间结束后离开***,Fr的一阶变化量为然后虚拟机实例被调度到配置为k的物理机上。在此过程之后,Fr总的一阶变化量为 &Delta; ( k &prime; , i ) r ( X r ) - &Delta; ( k , i ) r ( X r ) , 或者 &Delta; ( k &prime; , i ) r ( x ~ r ) - &Delta; ( k , i ) r ( x ~ r ) . 时,Fr是减小的,即使得目标优化。所以把{(k,i),(k′,i)}称为优化配置对,如果存在优化配置对则能对Fr进行优化。下面一个定理说明了xr离最优解的距离超过一定值时,一定有优化配置对存在。
定理1假设D>0满足D(∑k∈Kxk-u*)≥d(x,x*),当r足够大时,如果有d(x,x*)≥2D|K|rp-1,那么存在与相关的优化配置对{(k′,i),(k,i)},并且存在正的常量ε使得 x ~ k r &GreaterEqual; &epsiv; , x ~ k &prime; - e i r &GreaterEqual; &epsiv; , 并且有 &Delta; ( k &prime; , i ) r ( x ~ r ) - &Delta; ( k , i ) r ( x ~ r ) &le; - &epsiv; .
为了证明定理1,首先引入定理2和定理3。.
定理2如果序列{xr}和它相关的x为序列{xr}的极限点。如果没有优化配置对,则x为LP1的一个最优解。
定理2的证明如下:
对于任意的i∈I,设则由的定义可得ηi∈[0,1]。首先证明如下命题成立:
命题1:如果k∈K,ki≥1,意味着ηi>0,则有
假设该命题不成立,则有,ki≥1,ηi>0且
&Sigma; i &Element; I k i &eta; i &NotEqual; w ~ ( x ~ k ) - - - ( 3 - 15 )
这意味着∑i∈Iki≥2,由定义知则存在i∈I,ηi>0,k=k-ei,并且有
&Sigma; i &Element; I k i &prime; &eta; i = w ~ ( x ~ k &prime; ) - - - ( 3 - 16 )
由式(3-15)和式(3-16)得:
w ~ ( x ~ k ) - w ~ ( x ~ k &prime; ) &NotEqual; &eta; i - - - ( 3 - 17 )
时,{(k,i),(ei,i)}是一个优化配置对,而当时{(ei,i),(k,i)}是一个优化配置对。这与题设没有优化配置对不符,因此假设不成立,即有如果k∈K,ki≥1,意味着ηi>0,则有 &Sigma; i &Element; I k i &eta; i = w ~ ( x ~ k ) .
命题2:如果∑i∈Ikiηi<1,那么
假设命题2不成立,则有并且∑i∈Ikiηi<1,
首先k≠ei,因为如果ηi<1,那么与ηi的定义相矛盾,由此可得∑i∈Iki≥2。其次,如果ηi>0,ki≥1,则由命题1的证明过程可得1>因此有与假设产生矛盾,故假设有并且∑i∈Ikiηi<1不成立。命题2得证。
由命题1命题2可以容易知道x为线性规划的一个最优解。
定理3如果序列{xr}和它相关的x为序列{xr}的极限点,{rn}为{r}的子序列,当n足够大时,如果那么一定有优化配置对。
可以使用反证法证明定理3,假设当n足够大且满足时,没有优化配置对。则可根据定理2得到x为线性规划LP1的最优解。且有定理2的证明过程可知η={ηi}i∈I为LP1的对偶解,考虑于下列线性规划(LP2):
上述线性规划的最优解为r1-px*,根据性质1可得:
&Sigma; k &Element; K x ~ k r n - r 1 - p x * = r 1 - p ( &Sigma; k &Element; K x k r n - x * ) &GreaterEqual; r 1 - p d ( x r n , x * ) / D &GreaterEqual; r 1 - p ( 2 D | K | r n p - 1 ) / D &GreaterEqual; 2 | K | - - - ( 3 - 18 )
计算LP3的拉格朗日对偶,则有:
L ( x r n , &eta; ) = &Sigma; k &Element; K x ~ k r n + &Sigma; i &Element; I &eta; i ( &rho; i r n 1 - p - &Sigma; k &Element; K k i x ~ k ) = r n 1 - p &Sigma; i &Element; I &eta; i &rho; i + &Sigma; k &Element; K ( 1 - &Sigma; i &Element; I k i &eta; i ) x ~ k r n - - - ( 3 - 19 )
因为η为LP1的对偶最优解,则有∑i∈Iηipi=u*。在定理2的证明过程中,对于任意k∈K,有∑i∈Ikiηi≤1,并且如果∑i∈Ikiηi≤1,则当n足够大时,如果∑i∈Ikiηi≤1,因此有:
&Sigma; k &Element; K ( 1 - &Sigma; i &Element; I k i &eta; i ) x ~ k r n &le; | K | - - - ( 3 - 20 )
&Sigma; k &Element; K x ~ k r n = L ( x r n , &eta; ) &le; r n 1 - p u * + | K | - - - ( 3 - 21 )
式(3-18)与式(3-21)矛盾,因此假设不成立。定理3得证。
在证明完定理2和定理3后,可以证明定理1了。假设定理1不成立,则有对于所有的ε>0,有无穷多的r和xr,使得并且对所有的优化配置对{(k′,i),(k,i)},有或者或者 因此可以找到一个{r}的子序列{rn}满足:
(I)对所有的n, d ( x r n , x * ) &GreaterEqual; 2 D | K | r n p - 1 .
(II)对所有的优化配置对{(k′,i),(k,i)},有或者或者 &Delta; ( k &prime; , i ) ( x ~ r n ) - &Delta; ( k , i ) ( x ~ r n ) > - 1 / n
根据(I)和定理3可以得出有优化配置对,而根据(II)及定理2则可以得出没有优化配置对,两者矛盾,故定理1不成立的假设是错误的。定理1得证。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

Claims (4)

1.一种基于组合优化的虚拟机调度方法,其特征在于,包括以下步骤:
1)集群状态建模
1.1)统计集群中资源种类数量N,并为每种资源编号,依次为1~N;
1.2)统计集群中物理主机的资源向量,每一台物理主机均提供N种资源供运行在该主机上的多台虚拟机共享;
1.3)对虚拟机进行分类,统计虚拟机的种类总数I,并为每一种虚拟机类型进行编号,依次为1~I;
1.4)统计每种虚拟机对资源的请求,每种虚拟机对资源的请求均为一个N维的向量,与物理主机的资源向量对应;
1.5)计算物理主机能够同时运行的虚拟机的组合种类,使用一个I维的向量k表示物理主机的负载情况;
1.6)将集群中的物理主机按资源配置向量分类,统计各种资源配置物理主机的数量;其中,资源配置为k的物理主机的数量为Xk;所有Xk组成一个|K|维的向量X,X为集群状态向量;
2)虚拟机调度
2.1)解析虚拟机请求,获得虚拟机所属的种类编号i;
2.2)构造一个权重函数:
w r ( X ) = min ( 1 , X r p )
其中r为***中虚拟机的总数,p为一常数且p∈(1/2,1);wr(X)的反导函数为:
f r ( X ) = X 2 2 r p , ifX &Element; [ 0 , r p ] ; X - r p 2 , ifX > r p .
定义近似函数Fr(X)=∑k∈Kfr(Xk),近似地表示物理主机的数量总和∑k∈KXk
2.3)k为集合K中的元素,集群中资源配置向量为k的物理主机数量为Xk;向量ei也是一个资源配置向量,是集合K中的单位向量,表示仅有一台类型为i的虚拟机;向量k-ei与向量k的分别表示物理主机在虚拟机实例开启前后的资源配置向量;集群中资源配置向量为k-ei的物理主机的数量为定义一个权重差来表示Fr(X)的一阶变化量,其中:
&Delta; ( k , i ) r ( X ) = w r ( X k ) - w r ( X k - e i )
wr(Xk)为集群状态Xk的权重函数,为集群状态的权重函数,Xk分别为调度操作前后的集群状态;
2.4)选取最小的值对应的k-ei值作为目标资源配置;为Fr(X)的一阶变化量,近似的表示虚拟机调度前后集群中物理主机数量的变化;
2.5)在资源配置为k-ei的物理主机中选取一台作为目标主机,在该主机上创建虚拟机实例。
2.根据权利要求1所述的基于组合优化的虚拟机调度方法,其特征在于:所述步骤1.2)中,一台物理主机所提供的编号为n的资源数量为Bn,所有Bn组成一个N维的资源向量B,向量B用来表示物理主机的容量。
3.根据权利要求1所述的基于组合优化的虚拟机调度方法,其特征在于:所述步骤1.4)中,编号为i的虚拟机种类对编号为n的资源需求量使用bi,n表示,所有bi,n组成一个I×N阶的资源需求矩阵b。
4.根据权利要求1所述的基于组合优化的虚拟机调度方法,其特征在于:所述步骤1.5)中,向量的第i维元素ki为该物理主机上运行的i类型的虚拟机数量;同一物理主机上运行的所有虚拟机对资源的需求量之和不超过物理机所提供总量,即向量k满足:
&Sigma; 1 &le; i &le; I k i b i , n &le; B n
其中1≤n≤N,k为资源配置向量,所有k组成的集合为K,集合K中元素的数量为|K|。
CN201410814536.7A 2014-12-23 2014-12-23 一种基于组合优化的虚拟机调度方法 Pending CN104536803A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410814536.7A CN104536803A (zh) 2014-12-23 2014-12-23 一种基于组合优化的虚拟机调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410814536.7A CN104536803A (zh) 2014-12-23 2014-12-23 一种基于组合优化的虚拟机调度方法

Publications (1)

Publication Number Publication Date
CN104536803A true CN104536803A (zh) 2015-04-22

Family

ID=52852335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410814536.7A Pending CN104536803A (zh) 2014-12-23 2014-12-23 一种基于组合优化的虚拟机调度方法

Country Status (1)

Country Link
CN (1) CN104536803A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104994136A (zh) * 2015-05-26 2015-10-21 重庆房慧科技有限公司 大规模社区的数据存储优化方法及***
CN105049499A (zh) * 2015-07-01 2015-11-11 南京邮电大学 一种基于多立方体映射的网络功能虚拟化资源分配方法
CN105049475A (zh) * 2015-05-26 2015-11-11 重庆房慧科技有限公司 大规模社区的数据高效存储优化方法及***
CN105373432A (zh) * 2015-11-06 2016-03-02 北京***工程研究所 一种基于虚拟资源状态预测的云计算资源调度方法
CN105786619A (zh) * 2016-02-24 2016-07-20 中国联合网络通信集团有限公司 虚拟机分配方法及装置
CN106412124A (zh) * 2016-12-01 2017-02-15 广州高能计算机科技有限公司 一种并序化云服务平台任务分配***及任务分配方法
CN106936905A (zh) * 2017-03-07 2017-07-07 中国联合网络通信集团有限公司 基于openstack的Nova组件虚拟机的调度方法及其调度***
CN107621980A (zh) * 2016-07-13 2018-01-23 阿里巴巴集团控股有限公司 一种虚拟机迁移方法、集群控制***和控制装置
CN108021441A (zh) * 2016-11-03 2018-05-11 ***通信集团广东有限公司 一种基于云计算的虚拟机资源配置方法及装置
CN110990156A (zh) * 2019-12-09 2020-04-10 深圳集智数字科技有限公司 一种资源自动配置方法及装置
CN110998521A (zh) * 2017-09-29 2020-04-10 甲骨文国际公司 定义线程规范的***和方法
CN111355602A (zh) * 2018-12-21 2020-06-30 华为技术有限公司 一种资源对象的管理方法及装置
CN111858031A (zh) * 2020-06-19 2020-10-30 浪潮电子信息产业股份有限公司 一种集群分布式资源调度方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102170474A (zh) * 2011-04-22 2011-08-31 广州杰赛科技股份有限公司 一种云计算网络中虚拟资源动态调度方法及***
CN102571986A (zh) * 2012-02-27 2012-07-11 浙江大学 一种基于向量映射的负载均衡方法
US20120185848A1 (en) * 2011-01-17 2012-07-19 International Business Machines Corporation Task prioritization management in a virtualized environment
CN103473139A (zh) * 2013-09-26 2013-12-25 四川中电启明星信息技术有限公司 虚拟机集群资源分配调度方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120185848A1 (en) * 2011-01-17 2012-07-19 International Business Machines Corporation Task prioritization management in a virtualized environment
CN102170474A (zh) * 2011-04-22 2011-08-31 广州杰赛科技股份有限公司 一种云计算网络中虚拟资源动态调度方法及***
CN102571986A (zh) * 2012-02-27 2012-07-11 浙江大学 一种基于向量映射的负载均衡方法
CN103473139A (zh) * 2013-09-26 2013-12-25 四川中电启明星信息技术有限公司 虚拟机集群资源分配调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡元元等: ""IaaS云中最小迁移代价的虚拟机放置算法"", 《小型微型计算机***》 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049475A (zh) * 2015-05-26 2015-11-11 重庆房慧科技有限公司 大规模社区的数据高效存储优化方法及***
CN104994136A (zh) * 2015-05-26 2015-10-21 重庆房慧科技有限公司 大规模社区的数据存储优化方法及***
CN104994136B (zh) * 2015-05-26 2018-10-09 重庆房慧科技有限公司 大规模社区的数据存储优化方法及***
CN105049475B (zh) * 2015-05-26 2018-10-30 重庆房慧科技有限公司 大规模社区的数据高效存储优化方法及***
CN105049499A (zh) * 2015-07-01 2015-11-11 南京邮电大学 一种基于多立方体映射的网络功能虚拟化资源分配方法
CN105049499B (zh) * 2015-07-01 2018-08-24 南京邮电大学 一种基于多立方体映射的网络功能虚拟化资源分配方法
CN105373432B (zh) * 2015-11-06 2019-05-14 北京***工程研究所 一种基于虚拟资源状态预测的云计算资源调度方法
CN105373432A (zh) * 2015-11-06 2016-03-02 北京***工程研究所 一种基于虚拟资源状态预测的云计算资源调度方法
CN105786619A (zh) * 2016-02-24 2016-07-20 中国联合网络通信集团有限公司 虚拟机分配方法及装置
CN105786619B (zh) * 2016-02-24 2019-08-06 中国联合网络通信集团有限公司 虚拟机分配方法及装置
CN107621980A (zh) * 2016-07-13 2018-01-23 阿里巴巴集团控股有限公司 一种虚拟机迁移方法、集群控制***和控制装置
CN108021441A (zh) * 2016-11-03 2018-05-11 ***通信集团广东有限公司 一种基于云计算的虚拟机资源配置方法及装置
CN106412124A (zh) * 2016-12-01 2017-02-15 广州高能计算机科技有限公司 一种并序化云服务平台任务分配***及任务分配方法
CN106412124B (zh) * 2016-12-01 2019-10-29 广州高能计算机科技有限公司 一种并序化云服务平台任务分配***及任务分配方法
CN106936905A (zh) * 2017-03-07 2017-07-07 中国联合网络通信集团有限公司 基于openstack的Nova组件虚拟机的调度方法及其调度***
CN110998521A (zh) * 2017-09-29 2020-04-10 甲骨文国际公司 定义线程规范的***和方法
CN110998521B (zh) * 2017-09-29 2024-04-26 甲骨文国际公司 定义线程规范的***和方法
CN111355602A (zh) * 2018-12-21 2020-06-30 华为技术有限公司 一种资源对象的管理方法及装置
CN111355602B (zh) * 2018-12-21 2021-11-30 华为技术有限公司 一种资源对象的管理方法及装置
CN110990156A (zh) * 2019-12-09 2020-04-10 深圳集智数字科技有限公司 一种资源自动配置方法及装置
CN111858031A (zh) * 2020-06-19 2020-10-30 浪潮电子信息产业股份有限公司 一种集群分布式资源调度方法、装置、设备及存储介质
CN111858031B (zh) * 2020-06-19 2022-06-07 浪潮电子信息产业股份有限公司 一种集群分布式资源调度方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN104536803A (zh) 一种基于组合优化的虚拟机调度方法
CN103927643B (zh) 一种大规模订单处理与配送路径优化的方法
EP3092779B1 (en) System and method for zoning in software defined networks
Gharehgozli et al. Polynomial time algorithms to minimize total travel time in a two-depot automated storage/retrieval system
WO2021104096A1 (zh) 容器云环境下的任务调度方法、装置、服务器及存储装置
CN111611062B (zh) 云边协同分层计算方法及云边协同分层计算***
CN102981890B (zh) 一种在虚拟化数据中心内的计算任务及虚拟机部署方法
Delavar et al. RSDC (reliable scheduling distributed in cloud computing)
KR102042318B1 (ko) 스마트 팩토리 레이아웃 설계 방법 및 시스템
CN104657221A (zh) 一种云计算中基于任务分类的多队列错峰调度模型及方法
CN109492774A (zh) 一种基于深度学习的云资源调度方法
CN105446816A (zh) 一种面向异构平台的能耗优化调度方法
CN102611622A (zh) 一种弹性云计算平台下工作负载的调度方法
CN104331321A (zh) 基于禁忌搜索和负载均衡的云计算任务调度方法
CN102571986A (zh) 一种基于向量映射的负载均衡方法
CN111221624A (zh) 一种针对基于Docker容器技术的调控云平台的容器管理方法
CN102448123A (zh) 无线传感器网络中基于节点性能的任务分配算法
CN103365727A (zh) 一种云计算环境中的主机负载预测方法
CN110134507A (zh) 一种边缘计算***下的合作计算方法
Liao et al. Energy consumption optimization scheme of cloud data center based on SDN
CN107329826A (zh) 一种基于Cloudsim平台上的启发式融合资源动态调度算法
CN105005503A (zh) 基于元胞自动机的云计算负载均衡任务调度方法
Pooranian et al. Independent task scheduling in grid computing based on queen bee algorithm
Jiao et al. Service deployment of C4ISR based on genetic simulated annealing algorithm
CN105138391B (zh) 面向广域分布云***公平的多任务虚拟机分配方法

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150422