CN108810109B - 一种基于能耗优化的虚拟数据中心放置方法 - Google Patents
一种基于能耗优化的虚拟数据中心放置方法 Download PDFInfo
- Publication number
- CN108810109B CN108810109B CN201810514833.8A CN201810514833A CN108810109B CN 108810109 B CN108810109 B CN 108810109B CN 201810514833 A CN201810514833 A CN 201810514833A CN 108810109 B CN108810109 B CN 108810109B
- Authority
- CN
- China
- Prior art keywords
- data center
- virtual
- server
- energy consumption
- placement
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于能耗优化的虚拟数据中心放置方法,对数据中心所包括的设备以及设备之间的连接关系进行解析;对数据中心中的虚拟数据中心所包含的虚拟机及其关系进行解析;定义虚拟数据中心的放置;设置数据中心状态;对数据中心的设备进行能耗建模与度量;定义虚拟数据中心能耗放置模型;基于虚拟数据中心配置启发式放置算法。本发明整合虚拟机来提高物理服务器的资源利用率和减少能源消耗,利用虚拟机放置提高数据中心网络资源利用率,同时考虑数据中心资源异构性特点以及外部用户与数据中心的通信需求,提出了基于能耗优化的虚拟数据中心放置问题形式化模型,为基于云计算技术的数据中心资源调度提供了理论基础和方法支撑。
Description
技术领域
本发明属于云资源调度领域,具体涉及一种基于能耗优化的虚拟数据中心放置方法。
背景技术
随着互联网、移动互联网、大数据以及人工智能等应用的快速发展,全球数据中心的建设步伐正在加快,目前总量已超过300万个。与此同时,数据中心的能源消耗问题也进一步凸显,数据中心运营者正面临着高能耗、高成本等严峻问题。例如,对于一个包含5万台服务器大型数据中心来说,其电能消耗占了整个数据中心运维成本中的40%。因此,如何有效地降低数据中心的能耗是数据中心运营者非常关切的重要问题。对于绿色数据中心的建设,除了通过技术改造和节能设备的使用外,还可以从资源调度角度来设计能耗成本管理策略。
虚拟化技术是云计算的支撑技术,所有的数据中心解决方案都是基于虚拟化技术来实现的。基于虚拟化的数据中心所采用的主要虚拟化技术为服务器虚拟化。服务器虚拟化表现为在一个给定的硬件平台上在宿主机(即服务器)上创造一个模拟的计算机环境(即虚拟机)提供给用户。虽然数据中心能耗巨大,但是通过合理的虚拟机调度策略可以有效地降低数据中心能耗。对于大型复杂企业级应用来说,部署其运行所需的虚拟机数量众多,本发明将部署一个应用所需要的虚拟机及其之间的通信关系称为一个虚拟数据中心(Virtual Data Center,VDC)。虚拟数据中心放置是指建立虚拟数据中心到物理数据中心的映射关系。虚拟数据中心放置的目标有很多,例如,最小化服务器使用、最小化网络通信开销、最小化虚拟机间平均通信时延等,本发明的主要目的是降低数据中心的能耗。
目前对于虚拟数据中心放置方法的研究有很多,这些研究要么是整合虚拟机来提高服务器的资源利用率和减少能源消耗,要么是利用虚拟机放置来提高数据中心网络资源利用率,或者优化数据中心网络流量,然而将二者结合起来的研究却很少。另外,在现实的数据中心中,尤其是中小型的数据中心或者科研机构中,由于设备购买时间的不同,数据中心会存在大量异构设备。如何能够同时优化异构服务器和网络设备能耗的映射方法,并有效地提高数据中心的资源利用率,减少数据中心的能源消耗,是当前丞待解决的技术问题。
发明内容
为了克服上述现有技术中的不足,本发明通过优化的虚拟数据中心放置策略来减少物理数据中心的服务器和网络设备的能耗,进而降低整个数据中心的运营成本,本发明提供一种基于能耗优化的虚拟数据中心放置方法,方法包括:
步骤1:对数据中心所包括的设备以及设备之间的连接关系进行解析;
步骤2:对数据中心中的虚拟数据中心所包含的虚拟机及其关系进行解析;
步骤3:定义虚拟数据中心的放置;
步骤4:设置数据中心状态;
步骤5:对数据中心的设备进行能耗建模与度量;
步骤6:定义虚拟数据中心能耗放置模型;
步骤7:基于虚拟数据中心配置启发式放置算法。
优选地,步骤1还包括:对数据中心所包含的服务器、交换机以及服务器与服务器,服务器与交换机之间的连接进行分析;将数据中心建模为图DC=(V,L),其中,V=S∪{su}∪Z为顶点的集合,S为服务器的集合,su为一个特殊的顶点,代表与数据中心通信的用户服务器,令S′=S∪SU;Z=ZToR∪ZAggre∪ZCore为交换机的集合,ZToR为边缘交换机集合,Zaggre为汇聚交换机集合,Zcore为核心交换机集合;L为边的集合,表示顶点之间通信链路的集合。
优选地,步骤2还包括:将虚拟数据中心表示为图VDC=(N,LN),其中,N=VM∪{vmu}为顶点的集合,VM为部署云应用的虚拟机集合,vmu为一个特殊的虚拟机,表示与云应用通信的用户,LN={(vm1,vm2)|vm1,vm2∈N}为虚拟机之间通信链路的集合;对于rc(vm)为vm的计算资源需求量,rm(vm)为vm的内存资源需求量,rs(vm)为vm的存储资源需求量,uc(vm)为vm的计算资源平均利用率,T(vm)为vm的运行时间,即vm的生存周期。对于rt(vm1,vm2)表示从vm1到vm2的网络带宽需求量。
优选地,步骤3还包括:从虚拟数据中心VDC=(N,LN)到物理数据中心DC=(V,L)放置可分为:虚拟机放置和通信链路放置。虚拟机的放置定义为函数:π:N→S′,对于π(vm)=s表示将虚拟机vm部署到服务器s上,用户服务器部署用户虚拟机;对于VM(s)={vm∈N|π(vm)=s}表示部署在服务器s上的虚拟机集合;通信链路的放置定义为函数:ρ:LN→PL,对于ρ(e)=pu,v表示将虚拟机vm1和vm2之间的通信链路映射到服务器u到v的路由pu,v上,其中,π(vm1)=u,π(vm2)=v。对于LN(pu,v)={e∈LN|ρ(e)=pu,v}表示映射到路由pu,v上的虚拟机通信链路的集合;对于LN(l)={e∈LN|ρ(e)=pu,v∧l∈L(pu,v)}表示映射到物理通信链路l上的虚拟机通信链路的集合。
优选地,步骤4还包括:利用四种二元决策变量ss(s)、sz(z)、sl(l)和sp(i)来分别表示服务器、交换机、通信链路和交换机端口状态;
服务状态变量:令ss(s)∈{0,1}表示服务器的状态,如果ss(s)=1,表示服务器s处于开机状态,否则,表示s处于关机状态;
交换机状态:令sz(z)∈{0,1}表示交换机的状态,如果sz(z)=1,表示交换机z处于开启状态,否则,表示交换机z处于关闭状态;
通信链路状态:令sl(l)∈{0,1}表示通信链路的状态,如果sl(l)=1,表示存在虚拟机通信链路映射到l上,此时l所连接的两个交换机端口处于活跃状态,否则,不存在虚拟机通信链路映射到l上,此时l所连接的两个交换机端口处于不活跃状态;
交换机端口状态:令sp(i)∈{0,1}表示交换机端口的状态,如果sp(i)=1,表示端口i处于开启状态,否则,表示端口i处于关闭状态。
优选地,步骤5还包括:
交换机z在时段T内的能耗计算公式为:其中,为交换机z的基准功耗,包括底架和线卡的功率;为端口i∈port(z)的功率,port(z)为交换机z的端口集合;sp(i)∈{0,1}为端口的状态,如果sp(i)=1,表示端口i在时段T内处于开启状态,否则,表示端口i在时段T内处于关闭状态。
优选地,步骤6还包括:定义虚拟数据中心能耗放置模型为:
ss(s)∈{0,1}s∈S (12)
sz(z)∈{0,1}z∈Z (13)
sl(l)∈{0,1}l∈L (14)
sp(i)∈{0,1}i∈port(z),z∈Z (15)。
优选地,步骤7还包括:
数据中心DC=(V,L),虚拟数据中心VDC=(N,LN);
虚拟机放置π,通信链路放置ρ,决策变量ss(s)、sl(l)、sp(i)和sz(z);
基于虚拟数据中心配置启发式放置算法步骤包括:
Step2:将用户虚拟机vmu加入队列QVM中,同时将vmu从集合W中取出。
Step3:从集合W中选择一个与队列QVM中的虚拟机具有最大网络通信带宽的虚拟机,如果满足该条件的虚拟机有多个,则从中任选一个虚拟机,将其加入到队列QVM中,同时将该虚拟机从集合W中取出。
Step5:从队列QVM中取出用户虚拟机vmu,令π(vmu)=su,VM(su)=VM(su)∪{vmu},W={vmu},ss(su)=1。
Step6:从队列QVM中取出一个虚拟机vm,在集合S中选择一个满足vm资源需求且到S(W)={s|π(vm)=s,vm∈W}中的所有服务器的路由跳数之和最短的服务器,如果满足该条件的服务器有多个,则从中选择一个使得放置vm后能耗增加最小的服务器,如果有多个这样的服务器,则从中任选一个服务器为s,令π(vm)=s,VM(s)=VM(s)∪{vm},W=W∪{vm},ss(s)=1。
Step8:将集合LN中的虚拟机通信链路按照网络带宽需求从大到小进行排序,然后依次加入到通信链路队列QL中。
Step9:从队列QL中取出一个通信链路e=(vm1,vm2),令u=π(vm1),v=π(vm2),从u到v的路由集合Pu,v中选择一个满足通信链路e的网络带宽需求且使得放置e后交换机能耗增加最小的路由,如果满该条件的路由有多个,则从中任选一条路由pu,v。
Step12:输出π、ρ、ss(s)、sl(l)、sp(i)和sz(z)。
从以上技术方案可以看出,本发明具有以下优点:
整合虚拟机来提高物理服务器的资源利用率和减少能源消耗,利用虚拟机放置提高数据中心网络资源利用率,同时考虑数据中心资源异构性特点以及外部用户与数据中心的通信需求,提出了基于能耗优化的虚拟数据中心放置问题形式化模型,配置了高效的求解算法,本发明的方法为基于云计算技术的数据中心资源调度提供了理论基础和方法支撑。能够同时考虑优化异构服务器和网络设备能耗的映射方法,才能有效地提高数据中心的资源利用率,减少数据中心的能源消耗。
附图说明
为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为基于能耗优化的虚拟数据中心放置方法流程图;
图2为本发明的数据中心模型示意图;
图3为本发明的虚拟数据中心模型示意图;
图4为本发明的虚拟数据中心放置示意图;
图5为本发明的虚拟机数据中心优化放置启发式算法流程图;
图6为基于能耗优化的虚拟数据中心放置方法示意图。
具体实施方式
本发明提供一种基于能耗优化的虚拟数据中心放置方法,如图1至6所示,方法包括:
步骤1:对数据中心所包括的设备以及设备之间的连接关系进行解析;
步骤2:对数据中心中的虚拟数据中心所包含的虚拟机及其关系进行解析;
步骤3:定义虚拟数据中心的放置;
步骤4:设置数据中心状态;
步骤5:对数据中心的设备进行能耗建模与度量;
步骤6:定义虚拟数据中心能耗放置模型;
步骤7:基于虚拟数据中心配置启发式放置算法。
本发明中,步骤1还包括:将数据中心表示为图DC=(V,L),其中,V=S∪{su}∪Z为顶点的集合,S为服务器的集合,su为一个特殊的顶点,代表与数据中心通信的用户(称为用户服务器),令S′=S∪SU;Z=ZToR∪ZAggre∪ZCore为交换机的集合,ZToR为边缘交换机集合,Zaggre为汇聚交换机集合,Zcore为核心交换机集合;L为边的集合,表示顶点之间通信链路的集合。
对于rc(s)=rc 0(s)+rc 1(s)为s所提供的计算资源数量,其中,rc 0(s)为已经使用的计算资源数量,rc 1(s)为可用的计算资源数量;rm(s)=rm 0(s)+rm 1(s)为s所提供的内存资源数量,其中,rm 0(s)为已经使用的内存资源数量,rm 1(s)为可用的内存资源数量;rs(s)=rs 0(s)+rs 1(s)为s所提供的存储资源数量,其中,rs 0(s)为已经使用的存储资源数量,rs 1(s)为可用的存储资源数量。对于rb(l)=rb 0(l)+rb 1(l)为l的网络带宽,其中,rb 0(l)为已经使用的网络带宽,rb 1(l)为可用的网络带宽。
设u,v∈S′为两台不同的服务器,从u到v的通信路由表示为:其中,l1,l2,…,ln为路由pu,v所经过通信链路的序列,该序列中的不存在重复的通信链路;z1,z2,…,zn-1为路由pu,v过所经过的交换机序列,该序列中不存在重复的交换机,路由的跳数为n-1;ik和jk(k=1,2,..,n-1)为分别为交换机zk与通信链路lk和通信链路lk+1的通信端口。令L(pu,v)为路由pu,v所经过的通信链路集合,Z(pu,v)为路由pu,v所经过的交换机集合,port(pu,v)为路由pu,v所经过的交换机端口集合,port(l)为通信链路l所连接的交换机端口的集合。从u到v可能存在多条路由,令Pu,v为从u到v的所有路由的集合,令PL为S′中所有服务器之间路由集合。对于每条路由pu,v∈Pu,v,pu,v的容量是L(pu,v)所包含的通信链路中网络带宽的最小值,表示为pu,v的可用容量是L(pu,v)所包含的通信链路中可用网络带宽的最小值,表示为如果u和v是同一台服务器,则从u到v的通信路由定义为:u→u。
本发明中,步骤2还包括:将虚拟数据中心表示为图VDC=(N,LN),其中,N=VM∪{vmu}为顶点的集合,VM为部署云应用的虚拟机集合,vmu为一个特殊的虚拟机,表示与云应用通信的用户,LN={(vm1,vm2)|vm1,vm2∈N}为虚拟机之间通信链路的集合;对于rc(vm)为vm的计算资源需求量,rm(vm)为vm的内存资源需求量,rs(vm)为vm的存储资源需求量,uc(vm)为vm的计算资源平均利用率,T(vm)为vm的运行时间,即vm的生存周期。对于rt(vm1,vm2)表示从vm1到vm2的网络带宽需求量。
本发明中,步骤3还包括:从虚拟数据中心VDC=(N,LN)到物理数据中心DC=(V,L)放置可分为:虚拟机放置和通信链路放置。虚拟机的放置定义为函数:π:N→S′,对于π(vm)=s表示将虚拟机vm部署到服务器s上,用户服务器部署用户虚拟机;对于VM(s)={vm∈N|π(vm)=s}表示部署在服务器s上的虚拟机集合;通信链路的放置定义为函数:ρ:LN→PL,对于ρ(e)=pu,v表示将虚拟机vm1和vm2之间的通信链路映射到服务器u到v的路由pu,v上,其中,π(vm1)=u,π(vm2)=v。对于LN(pu,v)={e∈LN|ρ(e)=pu,v}表示映射到路由pu,v上的虚拟机通信链路的集合;对于LN(l)={e∈LN|ρ(e)=pu,v∧l∈L(pu,v)}表示映射到物理通信链路l上的虚拟机通信链路的集合。
本发明中,步骤4还包括:利用四种二元决策变量ss(s)、sz(z)、sl(l)和sp(i)来分别表示服务器、交换机、通信链路和交换机端口状态;
服务状态变量:令ss(s)∈{0,1}表示服务器的状态,如果ss(s)=1,表示服务器s处于开机状态,否则,表示s处于关机状态;
交换机状态:令sz(z)∈{0,1}表示交换机的状态,如果sz(z)=1,表示交换机z处于开启状态,否则,表示交换机z处于关闭状态;
通信链路状态:令sl(l)∈{0,1}表示通信链路的状态,如果sl(l)=1,表示存在虚拟机通信链路映射到l上,此时l所连接的两个交换机端口处于活跃状态,否则,不存在虚拟机通信链路映射到l上,此时l所连接的两个交换机端口处于不活跃状态;
交换机端口状态:令sp(i)∈{0,1}表示交换机端口的状态,如果sp(i)=1,表示端口i处于开启状态,否则,表示端口i处于关闭状态。
本发明中,步骤5还包括:
交换机的能耗计算公式为:其中,Ez(z)为交换机z在时段T内的能耗总量;为交换机z的基准功耗,包括底架和线卡的功率;为交换机z的端口功率。设在时段T内交换机z的每个端口的状态是确定的,则在时段T内交换机z的能耗可定义为:其中,为端口i∈port(z)的功率,port(z)为交换机z的端口集合;sp(i)∈{0,1}为端口的状态,如果sp(i)=1,表示端口i在时段T内处于开启状态,否则,表示端口i在时段T内处于关闭状态。同类交换机具有相同的基准能耗和端口能耗,和可以根据能耗监控工具直接测量获取。
本发明中,步骤6还包括:定义虚拟数据中心能耗放置模型为:
ss(s)∈{0,1}s∈S (12)
sz(z)∈{0,1}z∈Z (13)
sl(l)∈{0,1}l∈L (14)
sp(i)∈{0,1}i∈port(z),z∈Z (15)。
在上面的形式化描述中,式(1)为问题的优化目标,即数据中心的服务器能耗和交换机能耗之和最小;式(2)表示每个虚拟机都被部署到一个服务器上;式(3)表示每个虚拟机通信链路都被映射到一条服务器通信路由上;式(4)、(5)、(6)分别表示部署到一台服务器上的所有虚拟机的计算资源总和、内存资源总、存储资源总和不能超过该服务器的相应可用资源的上限;式(7)表示经过一条物理通信链路上的所有虚拟机通信链路的网络带宽资源总和不超过该物理通信链路容量的上限;式(12)、(13)、(14)、(15)分别表示服务器的状态、交换机的状态、通信链路的状态、交换机的端口状态;式(8)是对服务器状态的设置,如果服务器上部署虚拟机,则其的状态为开机,否者为关机;式(9)是对物理通信链路状态的设置,如果存在虚拟机通信链路经过物理通信链路,则该物理通信链路状态为开启,否则为关闭;式(10)是对交换机端口状态的设置,如果存在开启状态的物理通信链路连接该端口,则端口的状态为活跃,否则为不活跃;式(11)是对交换机状态的设置,如果交换机存在活跃状态的端口,则其状态为开启,否则为关闭。
本发明中,步骤7还包括:
数据中心DC=(V,L),虚拟数据中心VDC=(N,LN);
虚拟机放置π,通信链路放置ρ,决策变量ss(s)、sl(l)、sp(i)和sz(z);
基于虚拟数据中心配置启发式放置算法步骤包括:
Step2:将用户虚拟机vmu加入队列QVM中,同时将vmu从集合W中取出。
Step3:从集合W中选择一个与队列QVM中的虚拟机具有最大网络通信带宽的虚拟机,如果满足该条件的虚拟机有多个,则从中任选一个虚拟机,将其加入到队列QVM中,同时将该虚拟机从集合W中取出。
Step5:从队列QVM中取出用户虚拟机vmu,令π(vmu)=su,VM(su)=VM(su)∪{vmu},W={vmu},ss(su)=1。
Step6:从队列QVM中取出一个虚拟机vm,在集合S中选择一个满足vm资源需求且到S(W)={s|π(vm)=s,vm∈W}中的所有服务器的路由跳数之和最短的服务器,如果满足该条件的服务器有多个,则从中选择一个使得放置vm后能耗增加最小的服务器,如果有多个这样的服务器,则从中任选一个服务器为s,令π(vm)=s,VM(s)=VM(s)∪{vm},W=W∪{vm},ss(s)=1。
Step8:将集合LN中的虚拟机通信链路按照网络带宽需求从大到小进行排序,然后依次加入到通信链路队列QL中。
Step9:从队列QL中取出一个通信链路e=(vm1,vm2),令u=π(vm1),v=π(vm2),从u到v的路由集合Pu,v中选择一个满足通信链路e的网络带宽需求且使得放置e后交换机能耗增加最小的路由,如果满该条件的路由有多个,则从中任选一条路由pu,v。
Step12:输出π、ρ、ss(s)、sl(l)、sp(i)和sz(z)。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本发明保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范围。
步骤1:对数据中心所包含的服务器、交换机以及它们之间的连接进行分析,将其表示为图DC=(V,L),其中,V=S∪{su}∪Z为顶点的集合,S为服务器的集合,su为一个特殊的顶点,代表与数据中心通信的用户(称为用户服务器),Z为交换机的集合,L为边的集合,表示顶点之间通信链路的集合。
附图2描述了一个包含8台服务器的数据中心模型,该数据中心网络采用Fat-Tree结构。根据Fat-Tree结构的规则,包含4个边缘交换机z1、z2、z3和z4,4个汇聚交换机z5、z6、z7和z8,2个核心交换机z7和z8,服务器与边缘交换机进行连接,其中,s1和s2与z1连接,s3和s4与z2连接,s5和s6与z3连接,s7和s8与z4连接。s1、s2、s3、s4、z1、z2、z5、z6组成了一个集群pod1;s5、s6、s7、s8、z3、z4、z7、z8组成了一个集群pod2。另外,我们增加了一个特殊服务器su,代表访问数据中心的外部用户,它们与核心交换机连接。集群pod1内服务器的资源配置为:36vCPU/32GB/1000GB,集群pod2中的服务器资源配置为:72vCPU/64GB/4000GB,所有通信链路的容量都为1000Mbps。
步骤2:对放置到数据中心中的虚拟数据中心所包含的虚拟机及其的关系进行分析,将其表示图VDC=(N,LN),其中,N=VM∪{vmu}为顶点的集合,VM为部署云应用的虚拟机集合,vmu为一个特殊的虚拟机,表示与虚拟机数据中心通信的用户,LN={(vm1,vm2)|vm1,vm2∈N}为虚拟机之间通信链路的集合。
附图3描述了一个虚拟数据中心模型,该虚拟数据中心包含6个虚拟机,其中,vmu为用户虚拟机,各虚拟机的资源需求如表1所示,各虚拟机之间的网络通信带宽需求标注在相关的边上,例如,vmu与vm1之间的带宽需求为30Mbps,vm1与vm2之间的带宽需求为20Mbps。设虚拟数据中心所有虚拟机的的生存周期均为100小时,每台虚拟机的计算资源平均利用率为0.7。
表1虚拟机资源需求表
步骤3:将VDC到DC的放置分为虚拟机放置和通信链路放置。虚拟机放置定义为函数:π:N→S′,对于π(vm)=s表示将虚拟机vm部署到服务器s上,用户服务器只部署用户虚拟机。通信链路放置定义为函数:ρ:LN→PL,对于ρ(e)=pu,v表示将虚拟机vm1和vm2之间的通信链路映射到服务器u到v的路由pu,v上。
附图4定义了从附图2所示的虚拟数据中心到附图1所示的数据中心的一种虚拟机放置和通信链路放置,其中,虚拟机vm1和vm2被部署到服务器s1上,虚拟机vm3和vm4被部署到服务器s2上,虚拟机vm5被部署到服务器s3上,用户虚拟机vmu被部署到用户服务器su上,因此,VM(s1)={vm1,vm2},VM(s2)={vm3,vm4},VM(s4)={vm5},VM(su)={vmu};表2描述了从虚拟机通信链路到路由的映射,在此省略了交换机的端口。
表2通信链路放置
步骤4:根据虚拟机放置π和通信链路放置ρ可以确定服务器状态、交换机状态、通信链路状态和交换机端口的状态。例如,针对附图4所示的虚拟数据中心放置,服务器su、s1、s2和s3处于开机状态,其它服务器都处于关机状态;交换机z1、z2、z5和z9处于开启状态,其它交换机都处于关闭状态;通信链路l1、l2、l3、l9、l10、117和l21处于开启状态,其它通信链路都处于关闭状态;交换机z1存在3个活跃端口,交换机z2存在2个活跃端口,交换机z5存在3个活跃端口,交换机z9存在2个活跃端口。
步骤5:设在附图4中,pod1内每台服务器的最大工作功率为450W,最小功率为315W,交换机的基准功率为36W,每个端口的功率为1W,根据服务器和交换机的能耗计算公式,则有,Es(s1)=34125,Es(s1)=35175,Es(s3)=33600,Ez(z1)=3900,Ez(z2)=3800,Ez(z5)=3900,Ez(z9)=3800,因此,总能耗为118300。
步骤6:面向能耗优化的虚拟数据中心放置的目标是在满足虚拟数据中心资源需求的条件下,最小化服务器和交换机的总能耗。虚拟机的放置要满足服务器资源供应能力的约束,即部署在一个服务器上的所有虚拟机的计算/内存/存储资源需求的总和不能超过该服务器的可用资源量。通信链路的放置要满足数据中心网络通信资源的约束,即映射到一条服务器通信路由上的所有虚拟机通信链路的网络带宽资源需求的总量不能超过该路由的可用容量。为了降低服务器的能耗,在满足虚拟机资源需求的条件下,应尽量减少服务器的使用数量,这样可以减少服务器的消耗。同时,为了降低网络的能耗,在满足虚拟机网络通信带宽需求的条件下,应尽量减少交换机的使用数量,这样可以减少网络能耗。
步骤7:针对发送到数据中心的虚拟数据中心请求,本发明提供了一种启发式放置算法,其目标通过制定最佳虚拟机和通信链路设置方案来减低数据中心服务器和交换机的能耗。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种基于能耗优化的虚拟数据中心放置方法,其特征在于,方法包括:
步骤1:对数据中心所包括的设备以及设备之间的连接关系进行解析;
对数据中心所包含的服务器、交换机以及服务器与服务器,服务器与交换机之间的连接进行分析;将数据中心建模为图DC=(V,L),其中,V=S∪{su}∪Z为顶点的集合,S为服务器的集合,su为一个特殊的顶点,代表与数据中心通信的用户服务器,令S′=S∪SU;Z=ZToR∪ZAggre∪ZCore为交换机的集合,ZToR为边缘交换机集合,Zaggre为汇聚交换机集合,Zcore为核心交换机集合;L为边的集合,表示顶点之间通信链路的集合;
步骤2:对数据中心中的虚拟数据中心所包含的虚拟机及其关系进行解析;
步骤3:定义虚拟数据中心的放置;
步骤4:设置数据中心状态;
步骤5:对数据中心的设备进行能耗建模与度量;
步骤6:定义虚拟数据中心能耗放置模型;
步骤7:基于虚拟数据中心配置启发式放置算法。
3.根据权利要求1所述的基于能耗优化的虚拟数据中心放置方法,其特征在于,
步骤3还包括:从虚拟数据中心VDC=(N,LN)到物理数据中心DC=(V,L)放置可分为:虚拟机放置和通信链路放置;虚拟机的放置定义为函数:π:N→S′,对于π(vm)=s表示将虚拟机vm部署到服务器s上,用户服务器部署用户虚拟机;对于VM(s)={vm∈N|π(vm)=s}表示部署在服务器s上的虚拟机集合;通信链路的放置定义为函数:ρ:LN→PL,对于ρ(e)=pu,v表示将虚拟机vm1和vm2之间的通信链路映射到服务器u到服务器v的路由pu,v上,其中,π(vm1)=u,π(vm2)=v;对于LN(pu,v)={e∈LN|ρ(e)=pu,v}表示映射到路由pu,v上的虚拟机通信链路的集合;对于LN(l)={e∈LN|ρ(e)=pu,v∧l∈L(pu,v)}表示映射到物理通信链路l上的虚拟机通信链路的集合。
4.根据权利要求1所述的基于能耗优化的虚拟数据中心放置方法,其特征在于,
步骤4还包括:利用四种二元决策变量ss(s)、sz(z)、sl(l)和sp(i)来分别表示服务器、交换机、通信链路和交换机端口状态;
服务状态变量:令ss(s)∈{0,1}表示服务器的状态,如果ss(s)=1,表示服务器s处于开机状态,否则,表示s处于关机状态;
交换机状态:令sz(z)∈{0,1}表示交换机的状态,如果sz(z)=1,表示交换机z处于开启状态,否则,表示交换机z处于关闭状态;
通信链路状态:令sl(l)∈{0,1}表示通信链路的状态,如果sl(l)=1,表示存在虚拟机通信链路映射到l上,此时l所连接的两个交换机端口处于活跃状态,否则,不存在虚拟机通信链路映射到l上,此时l所连接的两个交换机端口处于不活跃状态;
交换机端口状态:令sp(i)∈{0,1}表示交换机端口的状态,如果sp(i)=1,表示端口i处于开启状态,否则,表示端口i处于关闭状态。
7.根据权利要求1所述的基于能耗优化的虚拟数据中心放置方法,其特征在于,
步骤7还包括:
数据中心DC=(V,L),虚拟数据中心VDC=(N,LN);
虚拟机放置π,通信链路放置ρ,决策变量ss(s)、sl(l)、sp(i)和sz(z);
基于虚拟数据中心配置启发式放置算法步骤包括:
Step2:将用户虚拟机vmu加入队列QVM中,同时将vmu从集合W中取出;
Step3:从集合W中选择一个与队列QVM中的虚拟机具有最大网络通信带宽的虚拟机,如果满足该条件的虚拟机有多个,则从中任选一个虚拟机,将其加入到队列QVM中,同时将该虚拟机从集合W中取出;
Step5:从队列QVM中取出用户虚拟机vmu,令π(vmu)=su,VM(su)=VM(su)∪{vmu},W={vmu},ss(su)=1;
Step6:从队列QVM中取出一个虚拟机vm,在集合S中选择一个满足vm资源需求且到S(W)={s|π(vm)=s,vm∈W}中的所有服务器的路由跳数之和最短的服务器,如果满足该条件的服务器有多个,则从中选择一个使得放置vm后能耗增加最小的服务器,如果有多个这样的服务器,则从中任选一个服务器为s,令π(vm)=s,VM(s)=VM(s)∪{vm},W=W∪{vm},ss(s)=1;
Step8:将集合LN中的虚拟机通信链路按照网络带宽需求从大到小进行排序,然后依次加入到通信链路队列QL中;
Step9:从队列QL中取出一个通信链路e=(vm1,vm2),令u=π(vm1),v=π(vm2),从u到v的路由集合Pu,v中选择一个满足通信链路e的网络带宽需求且使得放置e后交换机能耗增加最小的路由,如果满该条件的路由有多个,则从中任选一条路由pu,v;
Step12:输出π、ρ、ss(s)、sl(l)、sp(i)和sz(z)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810514833.8A CN108810109B (zh) | 2018-05-25 | 2018-05-25 | 一种基于能耗优化的虚拟数据中心放置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810514833.8A CN108810109B (zh) | 2018-05-25 | 2018-05-25 | 一种基于能耗优化的虚拟数据中心放置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108810109A CN108810109A (zh) | 2018-11-13 |
CN108810109B true CN108810109B (zh) | 2020-09-08 |
Family
ID=64091858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810514833.8A Active CN108810109B (zh) | 2018-05-25 | 2018-05-25 | 一种基于能耗优化的虚拟数据中心放置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108810109B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111416737A (zh) * | 2020-03-13 | 2020-07-14 | 黄东 | 一种可编程的云资源管理机制 |
CN112433807A (zh) * | 2020-10-19 | 2021-03-02 | 暨南大学 | 面向数据中心全局能耗优化的气流感知型虚拟机调度方法 |
CN112379966B (zh) * | 2020-11-11 | 2023-07-18 | 华南理工大学 | 一种云数据中心虚拟机实时整合方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102759984A (zh) * | 2012-06-13 | 2012-10-31 | 上海交通大学 | 虚拟化服务器集群的电源和性能管理系统 |
CN103034525A (zh) * | 2012-12-07 | 2013-04-10 | 湖南工程学院 | 云计算环境中一种基于性能计数器的虚拟机功耗测量方法 |
CN103412635B (zh) * | 2013-08-02 | 2016-02-24 | 清华大学 | 数据中心节能方法及装置 |
US9712362B2 (en) * | 2014-03-20 | 2017-07-18 | Newracom, Inc. | Method for transmitting and receiving data in wireless local area network and apparatus for the same |
CN106598733A (zh) * | 2016-12-08 | 2017-04-26 | 南京航空航天大学 | 一种云计算能耗关键的三维度虚拟资源调度方法 |
-
2018
- 2018-05-25 CN CN201810514833.8A patent/CN108810109B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108810109A (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ahvar et al. | Estimating energy consumption of cloud, fog, and edge computing infrastructures | |
Su et al. | Energy-aware virtual network embedding through consolidation | |
Vu et al. | A traffic and power-aware algorithm for virtual machine placement in cloud data center | |
CN104335535B (zh) | 使用生成树和网络交换元件资源在网络中路由信息流的方法、装置及系统 | |
CN108810109B (zh) | 一种基于能耗优化的虚拟数据中心放置方法 | |
CN104038540B (zh) | 一种应用代理服务器自动选择方法及系统 | |
Portaluri et al. | A power efficient genetic algorithm for resource allocation in cloud computing data centers | |
CN108108224B (zh) | 基于蚁群优化算法的云数据中心中虚拟机放置方法 | |
Bambrik | A survey on cloud computing simulation and modeling | |
CN106027323A (zh) | 用于gpu辅助网络话务监控和分析的技术 | |
CN104503826A (zh) | 一种云计算数据中心的虚拟机映射方法及装置 | |
Rashida et al. | A memetic grouping genetic algorithm for cost efficient VM placement in multi-cloud environment | |
Zhou et al. | Goldilocks: Adaptive resource provisioning in containerized data centers | |
Ma et al. | Cost-aware multi-domain virtual data center embedding | |
Shahin | Memetic multi-objective particle swarm optimization-based energy-aware virtual network embedding | |
CN104834566B (zh) | 调整转发处理线程的交换端口的方法和相关装置 | |
Abbasi et al. | Evolutionary green computing solutions for distributed cyber physical systems | |
Giacobbe et al. | Evaluating a cloud federation ecosystem to reduce carbon footprint by moving computational resources | |
Ou et al. | Research on network performance optimization technology based on cloud-edge collaborative architecture | |
Xiong et al. | An energy aware algorithm for edge task offloading | |
Verma et al. | Energy efficient virtual machine placement in cloud data centers using modified intelligent water drop algorithm | |
Cao et al. | An efficient embedding algorithm for energy multi-domain virtual network embedding | |
Abdelghany et al. | Wholesale electricity pricing in the presence of geographical load balancing | |
Zhang et al. | A cloud data center virtual machine placement scheme based on energy optimization | |
CN104202263B (zh) | 一种多租户数据中心带宽资源公平分配方法 |
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 |