CN107360210B - 云计算数据中心兼顾能耗与访问延迟的虚拟机分配方法 - Google Patents

云计算数据中心兼顾能耗与访问延迟的虚拟机分配方法 Download PDF

Info

Publication number
CN107360210B
CN107360210B CN201710457206.0A CN201710457206A CN107360210B CN 107360210 B CN107360210 B CN 107360210B CN 201710457206 A CN201710457206 A CN 201710457206A CN 107360210 B CN107360210 B CN 107360210B
Authority
CN
China
Prior art keywords
node
data
nodes
virtual machine
compute
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.)
Expired - Fee Related
Application number
CN201710457206.0A
Other languages
English (en)
Other versions
CN107360210A (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.)
Foshan University
Original Assignee
Foshan 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 Foshan University filed Critical Foshan University
Priority to CN201710457206.0A priority Critical patent/CN107360210B/zh
Publication of CN107360210A publication Critical patent/CN107360210A/zh
Application granted granted Critical
Publication of CN107360210B publication Critical patent/CN107360210B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了云计算数据中心兼顾能耗与访问延迟的虚拟机分配方法,包括以下步骤:(1)模型抽象;(2)数据访问延迟矩阵线性化;(3)在当前阈值约束下,寻找计算节点和数据节点的候选集,以及计算节点的实际能力;(4)在当前阈值约束下,寻找中心节点集CenterNode和邻居节点集S;(5)虚拟机分配和分配策略的更新。本发明与现有技术相比具有以下优点:能够解决目前云计算数据中心的虚拟机分配中的能耗和数据访问延迟优化的互斥性问题,同时兼顾了优化能耗和数据访问延迟。

Description

云计算数据中心兼顾能耗与访问延迟的虚拟机分配方法
技术领域
本发明涉及一种云计算数据中心技术领域,特别是虚拟机的分配方法。
背景技术
随着云计算技术的逐渐成熟,越来越多的企业将应用部署到云计算平台上,因而云计算数据中心的规模越来越大。一个云计算数据中心涉及几十万台甚至几百万台规模的物理机(服务器),这些物理机的运行需要消耗大量的能量,从而导致服务提供商的运营成本增加。面对如此规模的数据中心,如何降低数据中心的能耗,成为云服务提供商面临的一个重要挑战。随着云计算技术的快速发展,用户对云计算的服务质量要求越来越高,比如:带宽、最短响应时间以及系统延迟等等。许多对延迟敏感的应用(比如网站搜索、在线零售、广告以及推荐系统)云计算服务需要保证其较低的延迟要求。对于计算和数据分布在众多的节点(物理机)上的计算密集型和数据密集型应用来说,低延迟显得尤为重要。因此,计算服务的延迟是影响用户满意度的一个至关重要的因素。在这种情况下,如何减少数据访问延迟以满足用户需求是云服务提供商面临的另一个挑战。
用户通过云平台向云服务提供商提交资源(例如CPU、内存和带宽)需求,云服务提供商利用虚拟化技术将数据中心的资源以虚拟机的形式租售给用户,即虚拟机分配。有效的虚拟机分配可以降低数据中心的能耗和数据访问延迟。
已有的数据中心虚拟机分配方法要么关注能耗优化,要么关注数据访问延迟优化,很少有方法将两个目标同时考虑的。只考虑优化能耗,可能会带来较长的数据访问延迟。只考虑优化数据访问延迟,可能会带来较多的能耗。一种同时考虑能耗和数据访问延迟优化的虚拟机分配方法对减少能耗和降低数据访问延迟是非常重要的。值得注意的是,这两个目标可能是互斥的,已有的虚拟机分配方法不能有效同时优化能耗和数据访问延迟。例如,图1显示了一组计算节点和一组等待处理的数据节点。数据节点个数是4,计算节点个数是3,计算节点拥有的虚拟机数量分别为4,3,2。线上的数字表示计算节点和数据节点之间的数据访问延迟(为了表述清晰,图1省略了计算节点之间的数据访问延迟)。表达式Pk={ec,d,X}表示虚拟机分配策略,其中ec表示能耗,d表示最大数据访问延迟,X表示计算节点和数据节点的匹配关系(为了表述清晰,这里用匹配对表示)。仅优化能耗,可以得到一些分配策略,例如:P1={1,20,<(dn1,cn1),(dn2,cn1),(dn3,cn1),(dn4,cn1)>}。这种分配策略能耗少,而数据访问延迟很大。同样的,只优化最大数据访问延迟也会开启较多的计算节点,进而产生较多的能耗。例如:P2={3,9,<(dn1,cn3),(dn2,cn1),(dn3,cn2),(dn4,cn1)>}。这种分配策略的计算代价是3。另外,云服务提供商可以根据不同用户的需求提供不同的分配策略。如果用户的任务是实时任务并且用户愿意支付较高的费用,则可选择策略P2。如果用户的任务稍微紧急,且费用有限,则可以采用分配策略P3={2,14,<(dn1,cn3),(dn2,cn1),(dn3,cn1),(dn4,cn3)>}。很显然,在能耗和数据访问延迟之间有一个平衡问题,一个好的分配策略既要尽量减少数据中心的能耗又要满足不同用户的延迟需求。
发明内容
本发明要解决的技术问题是:本发明的目的是针对云计算数据中心的虚拟机分配问题,解决现有技术中存在的不足,提出一种基于节点实际能力的迭代贪心方法,为用户请求处理的数据节点分配虚拟机。
本发明解决其技术问题的解决方案是:云计算数据中心兼顾能耗与访问延迟的虚拟机分配方法,包括以下步骤:(1)模型抽象;(2)数据访问延迟矩阵线性化;(3)在当前阈值约束下,寻找计算节点和数据节点的候选集,以及计算计算节点的实际能力;(4)在当前阈值约束下,寻找中心节点集CenterNode和邻居节点集S;(5)虚拟机分配和分配策略的更新。
作为上述技术方案的进一步改进,所述步骤(1)中的模型抽象方法如下:(1.1)模型建立:将云计算数据中心抽象成一个由n个计算节点和m个数据节点通过网络连接构成的无向网,用四元组表示:CDC=<CN,DN,D1,D2>,其中计算节点集合和数据节点集合分别表示为CN={cn1,cn2,…,cnn}和DN={dn1,dn2,…,dnm};每个计算节点cni∈CN拥有ci个虚拟机,即计算节点cni的最大计算能力为ci,其中ci∈N;每个计算节点cni∈CN的可用虚拟机个数为ui,其中ui≤ci;用[x]代表整数集合{1,2…x};D1=[di,j]n×m表示计算节点和数据节点之间的数据访问延迟矩阵,
Figure GDA0002481670240000041
表示计算节点之间的数据访问延迟矩阵;将用户的任务表示为一组待虚拟机处理的数据节点集合DN′=<dn′1,dn′2,...,dn′j,...,dn′s>,
Figure GDA0002481670240000042
s≤m;(1.2)建立虚拟机的分配策略:当任务到达时,系统即为请求处理的每一个数据节点分配一个虚拟机,即每一个请求处理的数据节点需要一个虚拟机处理其数据;一个有效的虚拟机分配策略可以表示为P=<ec,d,X>,其中,ec表示分配策略P的能耗,
Figure GDA0002481670240000043
yi表示计算节点cni的开启状态,如果计算节点cni分配了虚拟机,yi=1,否则yi=0;d表示分配策略P的最大数据访问延迟;X=[xi,j]表示计算节点集合CN和数据节点集合DN′之间的一个映射,其中xi,j表示二进制变量;如果计算节点cni的虚拟机分配给数据节点dn′j,xi,j=1,否则xi,j=0;这个映射必须满足以下两个基本条件:
(一)、对每个计算节点cni∈CN,分配给数据节点的虚拟机不能超出计算节点cni的虚拟机总数:
Figure GDA0002481670240000044
(二)、对任意一个数据节点dn′j∈DN′,有且只有一个虚拟机来处理它的数据:
Figure GDA0002481670240000045
(1.3)建立约束条件:要保证分配策略的最大数据访问延迟为d,需要满足以下两个约束条件:
(一)、开启的计算节点和对应的分配虚拟机的数据节点之间的数据访问延迟不大于最大数据访问延迟d:
Figure GDA0002481670240000051
(二)、任意一对开启的计算节点之间的数据访问延迟不大于最大数据访问延迟d:
Figure GDA0002481670240000052
其中,二进制决策变量xi,j和yi之间的约束关系:
Figure GDA0002481670240000053
作为上述技术方案的进一步改进,所述步骤(2)中的数据访问延迟矩阵线性化过程:将计算节点和数据节点之间的数据访问延迟矩阵和计算节点之间的数据访问延迟矩阵中的元素降序排列,存储在一维数据数组中。
作为上述技术方案的进一步改进,所述步骤(3)中的在当前阈值约束下,寻找计算节点和数据节点的候选集,以及计算计算节点的实际能力过程如下:在当前阈值约束下,对于每一个计算节点cni,查找所有的数据节点;如果存在数据节点dnj和计算节点cni的数据访问延迟不大于当前阈值,就将数据节点dnj加入计算节点cni的候选集C(cni);对于每一个数据节点dnj,查找所有的计算节点;如果存在计算节点cni和数据节点dnj的数据访问延迟不大于当前阈值,就将计算节点cni加入数据节点dnj的候选集;
计算节点的实际能力rci的计算公式如下:
rci=min{ci,|C(cni)|}
其中,|·|表示集合C(cni)的基数,min{a,b}表示a和b的最小值;
作为上述技术方案的进一步改进,所述步骤(4)中的在当前阈值约束下,寻找中心节点集CenterNode和邻居节点集S步骤如下:首先将当前实际能力最大的计算节点加入中心节点集合;然后,将与该节点的数据访问延迟不大于当前阈值的计算节点加入中心节点集合;计算节点集合CN关于中心节点集CenterNode的补集即是邻居节点集S。
所述步骤(5)虚拟机分配和分配策略的更新的步骤如下:
(5.1)虚拟机的分配:对中心节点集CenterNode中的每一个计算节点执行以下操作:
(5.1.1)将中心节点集CenterNode中的当前计算节点cni加入集合V,将邻居节点集S中与计算节点cni的数据访问延迟不大于阈值的计算节点加入集合V,集合U存放所有的数据节点;
(5.1.2)当集合V和集合U都不为空时,贪心选择出实际能力最大的计算节点cnl v,将集合V中实际能力rcl v最大的计算节点cnl v的一个虚拟机分配给集合U中候选集最小的数据节点,更新集合V和集合U,重复上述过程,当集合V或集合U为空时,执行步骤(5.2),否则执行步骤(5.3);
(5.2)分配策略的评估与更新:如果经过步骤(5.1.2)所有的数据节点均获得一个虚拟机,计算当前分配策略的评估值并更新全局分配策略,评估值的计算方法如下:
(5.2.1)首先,分别将当前分配策略的能耗和最大数据访问延迟通过Max-Min标准化方法映射成在区间[0,1]中的值,其公式为:
Figure GDA0002481670240000061
其中,xmax和xmin分别表示变量x的最大值和最小值;
(5.2.2)然后,通过一个权重系数w将标准化的能耗和数据访问延迟转化为一个目标评估值,其公式为:
value=w·f(ec)+(1-w)·f(d);
(5.2.3)分配策略的更新规则为:如果当前分配策略的评估值小于全局分配策略的评估值,就用当前分配策略替换全局分配策略;
(5.3)如果经过步骤(5.1.2)存在一个数据节点没有获得虚拟机,则当前的全局分配策略即为最终求解得到的分配策略。
本发明的有益效果是:本发明与现有技术相比具有以下优点:能够解决目前云计算数据中心的虚拟机分配中的能耗和数据访问延迟优化的互斥性问题,同时兼顾了优化能耗和数据访问延迟。本发明设定最大数据访问延迟约束阈值,根据计算节点的实际能力,在满足数据访问延迟约束的情况下,寻找最小化计算节点数目的分配策略,然后不断减小阈值,迭代执行上述过程,直到当前约束阈值下不存在一种可行分配策略。将能耗和数据访问延迟两个目标值转化为一个评估值,在迭代过程中,保存评估值最小的分配策略,实现同时兼顾了优化能耗和数据访问延迟。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单说明。显然,所描述的附图只是本发明的一部分实施例,而不是全部实施例,本领域的技术人员在不付出创造性劳动的前提下,还可以根据这些附图获得其他设计方案和附图。
图1为现有的云计算数据中心网络、计算节点虚拟机数量以及计算节点和数据节点之间的数据访问延迟示意图;
图2为本发明的流程图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整地描述,以充分地理解本发明的目的、特征和效果。显然,所描述的实施例只是本发明的一部分实施例,而不是全部实施例,基于本发明的实施例,本领域的技术人员在不付出创造性劳动的前提下所获得的其他实施例,均属于本发明保护的范围。另外,文中所提到的所有联接/连接关系,并非单指构件直接相接,而是指可根据具体实施情况,通过添加或减少联接辅件,来组成更优的联接结构。本发明创造中的各个技术特征,在不互相矛盾冲突的前提下可以交互组合。
参照图2,云计算数据中心兼顾能耗与访问延迟的虚拟机分配方法,包括以下步骤:
(1)模型抽象;(2)数据访问延迟矩阵线性化;(3)在当前阈值约束下,寻找计算节点和数据节点的候选集,以及计算计算节点的实际能力;(4)在当前阈值约束下,寻找中心节点集CenterNode和邻居节点集S;(5)虚拟机分配和分配策略的更新。
进一步作为优选的实施方式,上所述步骤(1)中的模型抽象方法如下:
(1.1)将云计算数据中心抽象成一个由n个计算节点和m个数据节点通过网络连接构成的无向网,用四元组表示:CDC=<CN,DN,D1,D2>,其中计算节点集合和数据节点集合分别表示为CN={cn1,cn2,…,cnn}和DN={dn1,dn2,…,dnm}。每个计算节点cni∈CN拥有ci个虚拟机,即计算节点cni的最大计算能力为ci,其中ci∈N。每个计算节点cni∈CN的可用虚拟机个数为ui,其中ui≤ci。用[x]代表整数集合{1,2…x}。D1=[di,j]n×m表示计算节点和数据节点之间的数据访问延迟矩阵,
Figure GDA0002481670240000091
表示计算节点之间的数据访问延迟矩阵。用户提交到云计算平台的任务是各种各样的,比如查询一个网页,为了描述方便我们将用户的任务表示为一组待虚拟机处理的数据节点集合DN′=<dn′1,dn′2,…,dn′j,…,dn′s>,
Figure GDA0002481670240000094
s≤m。
(1.2)当任务到达时,系统即为请求处理的每一个数据节点分配一个虚拟机,即每一个请求处理的数据节点需要一个虚拟机处理其数据。一个有效的虚拟机分配策略可以表示为P=<ec,d,X>,其中,ec表示分配策略P的能耗,
Figure GDA0002481670240000092
yi表示计算节点cni的开启状态,如果计算节点cni分配了虚拟机,yi=1,否则yi=0;d表示分配策略P的最大数据访问延迟;X=[xi,j]表示计算节点集合CN和数据节点集合DN′之间的一个映射,其中xi,j表示二进制变量;如果计算节点cni的虚拟机分配给数据节点dn′j,xi,j=1,否则xi,j=0。这个映射必须满足以下两个基本条件:
对每个计算节点cni∈CN,分配给数据节点的虚拟机不能超出计算节点cni的虚拟机总数:
Figure GDA0002481670240000093
对任意一个数据节点dn′j∈DN′,有且只有一个虚拟机来处理它的数据:
Figure GDA0002481670240000101
(1.3)要保证所得分配策略的最大数据访问延迟为d,分配策略需要满足以下约束条件:
开启的计算节点和对应的分配虚拟机资源的数据节点之间的数据访问延迟不大于最大数据访问延迟d:
Figure GDA0002481670240000102
任意一对开启的计算节点之间的数据访问延迟不大于最大数据访问延迟d:
Figure GDA0002481670240000103
其中,二进制决策变量xi,j和yi之间的约束关系:
Figure GDA0002481670240000104
上所述步骤(2)中的数据访问延迟矩阵线性化过程:将计算节点和数据节点之间的数据访问延迟矩阵和计算节点之间的数据访问延迟矩阵中的元素降序排列,存储在一维数据数组中。
进一步作为优选的实施方式,上所述步骤(3)中的在当前阈值约束下,寻找计算节点和数据节点的候选集,以及计算计算节点的实际能力过程:在当前阈值约束下,对于每一个计算节点cni,查找所有的数据节点。如果存在数据节点dnj和计算节点cni的数据访问延迟不大于当前阈值,就将数据节点dnj加入计算节点cni的候选集C(cni)。对于每一个数据节点dnj,查找所有的计算节点。如果存在计算节点cni和数据节点dnj的数据访问延迟不大于当前阈值,就将计算节点cni加入数据节点dnj的候选集。
计算节点的实际能力rci的计算公式如下:
rci=min{ci,|C(cni)|}
其中,|·|表示集合C(cni)的基数,min{a,b}表示a和b的最小值;
进一步作为优选的实施方式,上所述步骤(4)中的在当前阈值约束下,寻找中心节点集CenterNode和邻居节点集S步骤如下:首先将当前实际能力最大的计算节点加入中心节点集合,然后,将与该节点的数据访问延迟不大于当前阈值的计算节点加入中心节点集合。计算节点集合CN关于中心节点集CenterNode的补集即是邻居节点集S。
进一步作为优选的实施方式,上所述步骤(5)虚拟机分配和分配策略的更新步骤如下:
(5.1)对中心节点集CenterNode中的每一个计算节点执行以下操作:
(5.1.1)将中心节点集CenterNode中的当前计算节点cni加入集合V,将邻居节点集S中与计算节点cni的数据访问延迟不大于阈值的计算节点加入集合V。集合U存放所有的数据节点。
(5.1.2)当集合V和集合U都不为空时,贪心选择出实际能力最大的计算节点cnl v。将集合V中实际能力rcl v最大的计算节点cnl v的一个虚拟机分配给集合U中候选集最小的数据节点。更新集合V和集合U,重复上述过程。当集合V或集合U为空时,执行步骤(5.2),否则执行步骤(5.3)。
(5.2)如果经过步骤(5.1.2)所有的数据节点均获得一个虚拟机,计算该局部分配策略的评估值并更新全局分配策略,评估值的计算方法如下:
(5.2.1)首先分别将当前分配策略的能耗和最大数据访问延迟通过Max-Min标准化方法映射成在区间[0,1]中的值,其公式为:
Figure GDA0002481670240000121
其中,xmax和xmin分别表示变量x的最大值和最小值;
(5.2.2)然后,通过一个权重系数w将标准化的能耗和数据访问延迟转化为一个目标评估值,其公式为:
value=w·f(ec)+(1-w)·f(d);
(5.2.3)分配策略的更新规则为:如果当前分配策略的评估值小于全局分配策略的评估值,就用当前分配策略替换全局分配策略。
(5.3)如果经过步骤(5.1.2)存在一个数据节点没有获得虚拟机,则当前的全局分配策略即为最终求解得到的分配策略。
以上对本发明的较佳实施方式进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变型或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。

Claims (1)

1.云计算数据中心兼顾能耗与访问延迟的虚拟机分配方法,其特征在于:包括以下步骤:
(1)模型抽象;
所述模型抽象方法如下:
(1.1)将云计算数据中心抽象成一个由n个计算节点和m个数据节点通过网络连接构成的无向网,用四元组表示:CDC=<CN,DN,D1,D2>,其中计算节点集合和数据节点集合分别表示为CN={cn1,cn2,…,cnn}和DN={dn1,dn2,…,dnm};每个计算节点cni∈CN拥有ci个虚拟机,即计算节点cni的最大计算能力为ci,其中ci∈N;每个计算节点cni∈CN的可用虚拟机个数为ui,其中ui≤ci;用[x]代表整数集合{1,2…x};D1=[di,j]n×m表示计算节点和数据节点之间的数据访问延迟矩阵,
Figure FDA0002481670230000011
表示计算节点之间的数据访问延迟矩阵;将用户的任务表示为一组待虚拟机处理的数据节点集合DN′=<dn′1,dn′2,…,dn′j,…,dn′s>,
Figure FDA0002481670230000012
s≤m;
(1.2)当任务到达时,系统即为请求处理的每一个数据节点分配一个虚拟机,即每一个请求处理的数据节点需要一个虚拟机处理其数据;一个有效的虚拟机分配策略可以表示为P=<ec,d,X>,其中,ec表示分配策略P的能耗,
Figure FDA0002481670230000013
yi表示计算节点cni的开启状态,如果计算节点cni分配了虚拟机,yi=1,否则yi=0;d表示分配策略P的最大数据访问延迟;X=[xi,j]表示计算节点集合CN和数据节点集合DN′之间的一个映射,其中xi,j表示二进制变量;如果计算节点cni的虚拟机分配给数据节点dn′j,xi,j=1,否则xi,j=0;这个映射必须满足以下两个基本条件:
对每个计算节点cni∈CN,分配给数据节点的虚拟机不能超出计算节点cni的虚拟机总数:
Figure FDA0002481670230000021
对任意一个数据节点dn′j∈DN′,有且只有一个虚拟机来处理它的数据:
Figure FDA0002481670230000022
(1.3)要保证所得分配策略的最大数据访问延迟为d,分配策略需要满足以下约束条件:
开启的计算节点和对应的分配虚拟机资源的数据节点之间的数据访问延迟不大于最大数据访问延迟d:
Figure FDA0002481670230000023
任意一对开启的计算节点之间的数据访问延迟不大于最大数据访问延迟d:
Figure FDA0002481670230000024
其中,二进制决策变量xi,j和yi之间的约束关系:
Figure FDA0002481670230000025
(2)数据访问延迟矩阵线性化;
所述数据访问延迟矩阵线性化过程如下:将计算节点和数据节点之间的数据访问延迟矩阵和计算节点之间的数据访问延迟矩阵中的元素降序排列,存储在一维数据数组中;
(3)在当前阈值约束下,寻找计算节点和数据节点的候选集,以及计算计算节点的实际能力;
在当前阈值约束下,寻找计算节点和数据节点的候选集,以及计算计算节点的实际能力过程如下:在当前阈值约束下,对于每一个计算节点cni,查找所有的数据节点;如果存在数据节点dnj和计算节点cni的数据访问延迟不大于当前阈值,就将数据节点dnj加入计算节点cni的候选集C(cni);
对于每一个数据节点dnj,查找所有的计算节点;如果存在计算节点cni和数据节点dnj的数据访问延迟不大于当前阈值,就将计算节点cni加入数据节点dnj的候选集;
计算节点的实际能力rci的计算公式如下:
rci=min{ci,|C(cni)|};
其中,|·|表示集合C(cni)的基数,min{a,b}表示a和b的最小值;
(4)在当前阈值约束下,寻找中心节点集CenterNode和邻居节点集S;
在当前阈值约束下,寻找中心节点集CenterNode和邻居节点集S步骤如下:首先将当前实际能力最大的计算节点加入中心节点集合,然后,将与该节点的数据访问延迟不大于当前阈值的计算节点加入中心节点集合;计算节点集合CN关于中心节点集CenterNode的补集即是邻居节点集S;
(5)虚拟机分配和分配策略的更新;
所述虚拟机分配和分配策略的更新步骤如下:
(5.1)对中心节点集CenterNode中的每一个计算节点执行以下操作:
(5.1.1)将中心节点集CenterNode中的当前计算节点cni加入集合V,将邻居节点集S中与计算节点cni的数据访问延迟不大于阈值的计算节点加入集合V;集合U存放所有的数据节点;
(5.1.2)当集合V和集合U都不为空时,贪心选择出实际能力最大的计算节点cnl v;将集合V中实际能力rcl v最大的计算节点cnl v的一个虚拟机分配给集合U中候选集最小的数据节点;更新集合V和集合U,重复上述过程;当集合V或集合U为空时,执行步骤(5.2),否则执行步骤(5.3);
(5.2)如果经过步骤(5.1.2)所有的数据节点均获得一个虚拟机,计算该局部分配策略的评估值并更新全局分配策略,评估值的计算方法如下:
(5.2.1)首先分别将当前分配策略的能耗和最大数据访问延迟通过Max-Min标准化方法映射成在区间[0,1]中的值,其公式为:
Figure FDA0002481670230000041
其中,xmax和xmin分别表示变量x的最大值和最小值;
(5.2.2)然后,通过一个权重系数w将标准化的能耗和数据访问延迟转化为一个目标评估值,其公式为:
value=w·f(ec)+(1-w)·f(d);
(5.2.3)分配策略的更新规则为:如果当前分配策略的评估值小于全局分配策略的评估值,就用当前分配策略替换全局分配策略;
(5.3)如果经过步骤(5.1.2)存在一个数据节点没有获得虚拟机,则当前的全局分配策略即为最终求解得到的分配策略;
其中,所述阈值为最大数据访问延迟。
CN201710457206.0A 2017-06-16 2017-06-16 云计算数据中心兼顾能耗与访问延迟的虚拟机分配方法 Expired - Fee Related CN107360210B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710457206.0A CN107360210B (zh) 2017-06-16 2017-06-16 云计算数据中心兼顾能耗与访问延迟的虚拟机分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710457206.0A CN107360210B (zh) 2017-06-16 2017-06-16 云计算数据中心兼顾能耗与访问延迟的虚拟机分配方法

Publications (2)

Publication Number Publication Date
CN107360210A CN107360210A (zh) 2017-11-17
CN107360210B true CN107360210B (zh) 2020-07-07

Family

ID=60273624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710457206.0A Expired - Fee Related CN107360210B (zh) 2017-06-16 2017-06-16 云计算数据中心兼顾能耗与访问延迟的虚拟机分配方法

Country Status (1)

Country Link
CN (1) CN107360210B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111800293B (zh) * 2020-06-05 2021-03-05 深圳库博能源科技有限公司 一种智能微电网的边缘计算控制网关

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158748A (zh) * 2014-07-21 2014-11-19 南京邮电大学 一种面向云计算网络的拓扑探测方法
CN104184806A (zh) * 2014-08-14 2014-12-03 合肥工业大学 一种均衡能耗与服务质量的iaas虚拟机动态迁移方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9929918B2 (en) * 2013-07-29 2018-03-27 Alcatel Lucent Profile-based SLA guarantees under workload migration in a distributed cloud

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158748A (zh) * 2014-07-21 2014-11-19 南京邮电大学 一种面向云计算网络的拓扑探测方法
CN104184806A (zh) * 2014-08-14 2014-12-03 合肥工业大学 一种均衡能耗与服务质量的iaas虚拟机动态迁移方法

Also Published As

Publication number Publication date
CN107360210A (zh) 2017-11-17

Similar Documents

Publication Publication Date Title
Wang et al. Resource-efficient federated learning with hierarchical aggregation in edge computing
Liu et al. A game approach to multi-servers load balancing with load-dependent server availability consideration
CN111027736B (zh) 多目标优化下的微服务组合部署与调度方法
Shabeera et al. Optimizing VM allocation and data placement for data-intensive applications in cloud using ACO metaheuristic algorithm
Li et al. An efficient and reliable approach for quality-of-service-aware service composition
CN108664330B (zh) 一种基于变邻域搜索策略的云资源分配方法
CN108616394B (zh) 一种虚拟网络功能备份和部署方法
CN113835899B (zh) 针对分布式图学习的数据融合方法及装置
CN112559135B (zh) 一种基于QoS的容器云资源的调度方法
Xia et al. Efficient data placement and replication for QoS-aware approximate query evaluation of big data analytics
CN111324429B (zh) 一种基于多代血统参考距离的微服务组合调度方法
CN110580182A (zh) 一种边缘计算中的云间计算卸载方法及装置
WO2023137858A1 (zh) 混合专家模型训练的性能优化方法和装置
He et al. Intent-based resource matching strategy in cloud
Beigrezaei et al. Minimizing data access latency in data grids by neighborhood‐based data replication and job scheduling
Jia et al. Low latency deployment of service-based data-intensive applications in cloud-edge environment
CN114816739A (zh) 针对负载均衡的片上网络增量任务映射方法
Kang et al. A multiagent brokering protocol for supporting Grid resource discovery
CN102427420B (zh) 基于图模式匹配的虚拟网络映射方法及装置
Fan et al. DRL-D: Revenue-aware online service function chain deployment via deep reinforcement learning
CN107360210B (zh) 云计算数据中心兼顾能耗与访问延迟的虚拟机分配方法
Ghebleh et al. A multi-criteria method for resource discovery in distributed systems using deductive fuzzy system
US9817807B1 (en) Selecting platform-supported services
Huang et al. Reliable and efficient big service selection
Mokdad et al. Performance evaluation of a solution for composite service selection problem with multiple consumers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200707