CN115617526A - 基于云数据中心构建和虚拟机整合的云数据中心节能方法 - Google Patents

基于云数据中心构建和虚拟机整合的云数据中心节能方法 Download PDF

Info

Publication number
CN115617526A
CN115617526A CN202211386286.2A CN202211386286A CN115617526A CN 115617526 A CN115617526 A CN 115617526A CN 202211386286 A CN202211386286 A CN 202211386286A CN 115617526 A CN115617526 A CN 115617526A
Authority
CN
China
Prior art keywords
data center
operator
cloud data
physical
virtual machine
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
CN202211386286.2A
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.)
Chongqing Jinyuyun Energy Technology Co ltd
Chongqing University
Original Assignee
Chongqing Jinyuyun Energy Technology Co ltd
Chongqing 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 Chongqing Jinyuyun Energy Technology Co ltd, Chongqing University filed Critical Chongqing Jinyuyun Energy Technology Co ltd
Priority to CN202211386286.2A priority Critical patent/CN115617526A/zh
Publication of CN115617526A publication Critical patent/CN115617526A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提出了一种基于云数据中心构建和虚拟机整合的云数据中心节能方法,包括以下步骤:S1,建立云数据中心资源模型;S2,若数据中心资源不足,使用DQN模型选择物理机扩容数据中心;若数据中心资源充足,则执行下一步骤;S3,进行虚拟机整合以优化空闲资源,降低云数据中心的能耗。本发明能够通过对物理机的选型从而减少虚拟机和***产生资源碎片的数量;以及将不同宿主机上的虚拟机进行动态整合,关闭部分低负载物理机,从而减少空闲资源,降低能源消耗量。

Description

基于云数据中心构建和虚拟机整合的云数据中心节能方法
技术领域
本发明涉及云计算能耗领域,特别是涉及一种基于云数据中心构建和虚拟机整合的云数据中心节能方法。
背景技术
云计算作为一种逐步发展成熟的服务计算模式具有重要的实际应用意义。近年来,云计算技术架构和商业模式越来越成熟,其对众多类型的应用程序和计算场景展现出的良好的兼容性使得其服务范围涵盖了企业单位,政府机关,科研院校等各个行业。云计算技术为人们的日常工作和生活提供了便捷,其用户群体也愈发庞大,云数据中心的用户需求也愈发密集。为了应对庞大的用户需求量,云提供商需建立大体量的云数据中心。如今大规模的数据中心都配备了数千甚至上万台物理机,这些物理机会产生资源利用率低、能源消耗量大等问题。
用户请求通常会以虚拟机或容器的方式部署在宿主机上,当一台宿主机搭载多台不同的虚拟机时,很容易出现由于某种硬件资源数量限制而使其他硬件资源无法被使用的情况,这种资源闲置会导致数据中心产生不必要的资源碎片。资源碎片的产生的重要原因是宿主机和虚拟机资源量的亲和性,即虚拟机的资源需求量和宿主机的资源拥有量并不总是完全匹配。在实际工业生产条件下,构成云数据中心物理机的型号及资源量等指标往往不同,云提供商对外租售的虚拟机类型,每种类型虚拟机保有的资源量也有所差异。在云数据中心集群运行过程中,选用何种类型的物理机来承载虚拟机和***产生资源碎片的数量有联系密切。
现有商业模式下,用户多以租约的形式向云提供商的请求服务,宿主机上运行的虚拟机在用户请求到期后会被释放,宿主机出现空闲资源;云数据中心内的宿主机在运行过程中需要大量的能耗开销,资源碎片和空闲资源都会增加非必要的电力消耗,造成电能浪费。将不同宿主机上的虚拟机进行动态整合可以减少空闲资源,关闭部分低负载物理机,降低能源消耗量。
经过广泛而深入的调研后,我们发现目前云环境下有关减少资源碎片和降低空闲资源的研究还存在了一些不足:
(1)现有的云数据中心优化策略,多数将研究对象设定为了静态云数据中心,较少研究将研究对象设置资源保有量和承载量不断变化的动态云数据中心。
(2)现有的方法没有考虑在云数据中心建立过程中用户资源需求对物理机选型策略的影响,没有对优化云数据中心资源碎片这一问题进行深入研究。
(3)现有的虚拟机整合策略,多数只考虑单一资源限制(例如:CPU核心数量或内存大小)而未对多种资源限制综合考虑。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于云数据中心构建和虚拟机整合的云数据中心节能方法。
为了实现本发明的上述目的,本发明提供了一种基于云数据中心构建和虚拟机整合的云数据中心节能方法,包括以下步骤:
S1,建立云数据中心资源模型;
S2,若数据中心资源不足,使用DQN模型选择物理机扩容数据中心;若数据中心资源充足,则执行下一步骤;
S3,进行虚拟机整合以优化空闲资源,降低云数据中心的能耗。
进一步地,所述S1包括以下步骤:
S1-1,设定云提供商提供L种不同类型的虚拟机出租给用户,用户的资源请求序列定义为:R={r1,r2,r3,...},rj∈R,j=(1,2,3,...,n),其中rj表示请求序列中的第j个资源请求;每个用户请求对应一台虚拟机
Figure BDA0003929937060000031
其中虚拟机
Figure BDA0003929937060000032
的资源量为
Figure BDA0003929937060000033
Figure BDA0003929937060000034
表示请求rj请求的CPU数量,
Figure BDA0003929937060000035
表示请求rj请求的内存数量;
S1-2,共有K种拥有不同资源量的物理机可以用来构建云数据中心,每种类型的物理机都具有的不同的CPU核心数量、内存资源量以及单日最大能耗量;
S1-3,通过约束条件建立云数据中心资源模型:
构建组成云数据中心的物理机序列:
Figure BDA0003929937060000036
Figure BDA0003929937060000037
其中
Figure BDA0003929937060000038
代表类型为k的第i台物理机,每台物理机包含三个属性
Figure BDA0003929937060000039
其中
Figure BDA00039299370600000310
表示该物理机的cpu数量,
Figure BDA00039299370600000311
表示该物理机的内存数量,
Figure BDA00039299370600000312
表示该物理机的单日能耗;
所有的用户请求都通过虚拟机的方式部署在对应的物理机上,所以用于构建云数据中心的物理机所拥有的资源量总要满足以下约束条件:
Figure BDA00039299370600000313
Figure BDA00039299370600000314
其中m表示物理机的总数;
n表示用户提出的请求的数量;
Figure BDA00039299370600000315
表示位于物理机
Figure BDA00039299370600000316
的虚拟机
Figure BDA00039299370600000317
的cpu核心数;
Figure BDA00039299370600000318
表示位于物理机
Figure BDA00039299370600000319
的虚拟机
Figure BDA00039299370600000320
的内存大小;
上述约束的作用在于,保证目标物理机拥有的资源量大于虚拟机的申请资源量,否则,当前物理机不能满足组成云数据中心基础设施的条件。
物理机和其负载的虚拟机具有一一对应的关系,这种映射关系在整个数据中心集群中具有唯一性,使用一个布尔变量fi,j={0,1}标识用户请求rj和物理机
Figure BDA00039299370600000321
的映射关系。且每台物理机
Figure BDA00039299370600000322
和其负载的虚拟机
Figure BDA00039299370600000323
是一对多的关系,对于给定的第i台物理机
Figure BDA00039299370600000324
的其负载情况均应满足:
Figure BDA0003929937060000041
Figure BDA0003929937060000042
其中,rj表示请求序列中的第j个用户请求;
Figure BDA0003929937060000043
代表类型为k的第i台物理机。
该约束的作用在于,规定单台物理机的每种资源阈值,约束模型中的单台物理机资源上限。
进一步地,所述S2包括以下步骤:
S2-1,确定DQN模型中的智能体状态集、动作集、奖励值;
S2-2,使用DQN模型进行物理机选型,选型问题视作一个马尔科夫决策过程。
进一步地,所述S2-1包括以下步骤:
(1)获取云数据中心中物理机在t时刻的***状态,状态集
Figure BDA0003929937060000044
其中,
Figure BDA0003929937060000045
代表集群中类型k的物理机的平均CPU利用率,
Figure BDA0003929937060000046
代表集群中类型k的物理机的平均内存利用率;
(2)设置动作集覆盖所有K个类型的待选择物理机,动作a∈A,其中a包含一维两种状态{add,pass},即要或不要向集群中添加该种类型的物理机;A为所有型号的物理机的动作集合,即为动作集;
(3)得到与状态集和动作集相关的奖励函数:
首先,分别求取已加入集群的每台物理机产生的空闲资源量,其计算方式如下:
Figure BDA0003929937060000047
Figure BDA0003929937060000048
其中,
Figure BDA0003929937060000049
表示该台物理机空闲的CPU数量;
Figure BDA00039299370600000410
表示类型为k的物理机空闲的内存数量;
Figure BDA00039299370600000411
表示位于物理机
Figure BDA00039299370600000412
的虚拟机
Figure BDA00039299370600000413
的cpu核心数;
Figure BDA00039299370600000414
表示位于物理机
Figure BDA00039299370600000415
的虚拟机
Figure BDA00039299370600000416
的内存大小。
然后,计算某时刻该物理机产生的资源碎片量CPU碎片量和内存碎片量分别记:
Figure BDA0003929937060000051
DQN模型优化的目标是为了减小资源碎片的总量,为了降低算法的计算度模型,将它们做归一化处理:
Figure BDA0003929937060000052
其中
Figure BDA0003929937060000053
为资源碎片量;
α为调节CPU和内存之间单位价值的参数;
型号为k的物理机的奖励值R按如下设定,即产生碎片资源越小的物理机可以获得越高的奖励:
Figure BDA0003929937060000054
其中,
Figure BDA0003929937060000055
表示型号为k的物理机在t时刻的奖励值。
进一步地,所述选型过程中Q值表的更新规则如下:
S2-2-1,当前状态s进行一次前馈,可获得所有动作预测的Q值:
maxa'Q(s',a')
S2-2-2,对下一个状态s'进行一次前馈,计算整个网络最大的输出值:
Figure BDA0003929937060000056
其中
Figure BDA0003929937060000057
表示型号为k的物理机在t+1时刻的奖励值;
S2-2-3,为动作目标设置Q值;
S2-2-4,利用深度卷积神经网络逼近值函数;
S2-2-5,利用经验回放训练强化学习的学习过程。
进一步地,所述S3包括以下步骤:
S3-1,确定待迁出虚拟机的源主机列表;
S3-1-1,建立迁出算子池D={d1,d2,d3,...,dz},dp∈dz,其中dp代表不同的迁出算子,每种算子代表了不同的物理机迁移优先级确定策略;
所述迁出算子包括:
算子d1按照集群中物理机负载量高低确定其迁移优先级,负载量低的物理机优先迁移;
算子d2按照集群中物理机CPU资源利用率确定其迁移优先级,资源利用率的物理机优先迁移;
算子d3按照集群中物理机内存资源利用率确定其迁移优先级,内存利用率低的物理机优先迁移;
算子d4按照集群中物理机CPU利用率和内存利用率之差确定其迁移优先级,利用率差值大的物理机优先迁移。
S3-1-2,给每个算子赋予权重,分别记作:{w1,w2,w3,...,wp},其中wp对应算子dp的权重;
S3-1-3,根据每天的虚拟机迁移数量上限以及每个算子的权重确定每种算子可以分配到的虚拟机迁移台数;
S3-1-4,每个算子的权重值更新;
S3-1-5,计算每个算子以新权重wn分配迁移次数后的***新的总能耗成本En与E的大小,E表示预迁出完成后的总能耗成本;如果E>En,则输出迁移序列L;如果E<En,则返回步骤S3-1-4,再次进行权重更新;
S3-2,确定待迁入虚拟机的目标主机列表;
S3-2-1,获取步骤S5-1中输出的已迁出的虚拟机列表L作为本步骤的输入;
S3-2-2,建立迁入算子池R={r1,r2,r3,...,rP},rp∈rP,其中rp代表不同的迁入算子,每种算子代表了不同的虚拟机迁入优先级确定策略;
所述迁入算子包括:算子r1:目标物理机按照CPU资源量优先排序,优先将虚拟机迁入CPU空闲率高的物理机;
算子r2:目标物理机按照内存资源量优先排序,优先将虚拟机迁入内存空闲率高的物理机;
算子r3:目标物理机按照综合资源量优先排序,优先将虚拟机迁入总资源空闲率高的物理机。
S3-2-3,保存集群当前状态,分别使用每个迁入算子进行预迁入,并计算其增加的能耗成本;
S3-2-4,选择增加能耗成本最少的算子,并完成迁入操作。
进一步地,所述每天的虚拟机迁移数量上限为:
Figure BDA0003929937060000071
其中,u是每日可以迁移的虚拟机数量;
m表示物理机的总数;
n表示用户提出的请求的数量;
fi,j={0,1}表示用户请求rj和物理机si的映射关系;
Figure BDA0003929937060000072
表示虚拟机迁移完成后,用户请求rj和新的物理机之间的映射情况;
nav为整个数据中心中虚拟机的数量。
进一步地,所述每个算子的权重值更新包括以下步骤:
(1)为每种算子分配可迁移虚拟机台数,进行虚拟机预迁出并将已完成预迁出的虚拟机加入迁出列表L,计算预迁出完成后节约的总能耗成本E;
(2)算子权重由基础权重和临时权重两部分组成,每次预迁移后会更新算子临时权重;
(3)计算每种算子节省的能耗成本e,挑选出其中节省成本最多的算子记作
Figure BDA0003929937060000073
按照下面公式更新其临时权重:
Figure BDA0003929937060000081
其中,
Figure BDA0003929937060000082
表示算子
Figure BDA0003929937060000083
的临时权重;
Figure BDA0003929937060000084
表示算子
Figure BDA0003929937060000085
的起始权重;
Figure BDA0003929937060000086
表示该算子
Figure BDA0003929937060000087
在预迁移之后减少的能耗开销;
e'p指算子dp在预迁移之后减少的能耗开销;
z表示迁出算子池中算子的总数量;
(4)按照如下公式,更新其他算子临时权重:
Figure BDA0003929937060000088
其中,wt表示该算子dp的起始权重;
Figure BDA0003929937060000089
为算子的临时权重;
e'p表示该算子dp在预迁移之后减少的能耗开销;
z表示迁出算子池中算子的总数量;
(5)按照如下公式,更新算子权重:
wn=λwp+(1+λ)w
其中,wn是算子更新后的权重值;
wp是算子dp未更时候的基础权重;
Figure BDA00039299370600000810
为算子的临时权重;
λ∈(0,1)为一个参数,使用二分法调节更新时算子基础权重和临时权重加权求和时的权重比例至最优权重。
综上所述,由于采用了上述技术方案,本发明能够通过对物理机的选型从而减少虚拟机和***产生资源碎片的数量;以及将不同宿主机上的虚拟机进行动态整合,关闭部分低负载物理机,从而减少空闲资源,降低能源消耗量。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
具体实施方式
下面详细描述本发明的实施例,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
S1,建立云数据中心资源模型。
S1-1,设定云提供商提供L种不同类型的虚拟机出租给用户。用户的资源请求序列定义为:R={r1,r2,r3,...},rj∈R,j=(1,2,3,...,n),其中rj表示请求序列中的第j个资源请求。每个用户请求对应一台虚拟机
Figure BDA0003929937060000091
其中虚拟机
Figure BDA0003929937060000092
的资源量为
Figure BDA0003929937060000093
Figure BDA0003929937060000094
表示请求rj请求的CPU数量(单位:核),
Figure BDA0003929937060000095
表示请求rj请求的内存数量(单位:GB)。
S1-2,设定共有K种拥有不同资源量的物理机可以用来构建云数据中心。每种类型的物理机都具有的不同的CPU核心数量、内存资源量以及单日最大能耗量。
S1-3,通过约束条件建立云数据中心资源模型。
构建组成云数据中心的物理机序列:
Figure BDA0003929937060000096
其中
Figure BDA0003929937060000097
代表类型为k的第i台物理机,每台物理机包含三个属性
Figure BDA0003929937060000098
其中
Figure BDA0003929937060000099
表示该物理机的cpu数量(单位:核),
Figure BDA00039299370600000910
表示该物理机的内存数量(单位:GB),
Figure BDA00039299370600000913
表示该物理机的单日能耗(单位:kw/h)。
所有的用户请求都通过虚拟机的方式部署在对应的物理机上,所以用于构建云数据中心的物理机所拥有的资源量总要满足以下约束条件:
Figure BDA00039299370600000911
Figure BDA00039299370600000912
其中m表示物理机的总数;
n表示用户提出的请求的数量;
Figure BDA0003929937060000101
表示位于物理机
Figure BDA0003929937060000102
的虚拟机
Figure BDA0003929937060000103
的cpu核心数;
Figure BDA0003929937060000104
表示位于物理机
Figure BDA0003929937060000105
的虚拟机
Figure BDA0003929937060000106
的内存大小;
上述约束的作用在于,保证目标物理机拥有的资源量大于虚拟机的申请资源量,否则,当前物理机不能满足组成云数据中心基础设施的条件。
物理机和其负载的虚拟机具有一一对应的关系,这种映射关系在整个数据中心集群中具有唯一性,使用一个布尔变量fi,j={0,1}标识用户请求rj和物理机
Figure BDA0003929937060000107
的映射关系。且每台物理机
Figure BDA0003929937060000108
和其负载的虚拟机
Figure BDA0003929937060000109
是一对多的关系,对于给定的第i台物理机
Figure BDA00039299370600001010
的其负载情况均应满足:
Figure BDA00039299370600001011
Figure BDA00039299370600001012
该约束的作用在于,规定单台物理机的每种资源阈值,约束模型中的单台物理机资源上限。
S2,使用DQN模型选择物理机扩容数据中心,所述DQN模型即深度强化学习模型。
我们将云数据中心数量不足的资源定义为短板资源。对数据中心资源扩容时,需要根据用户对不同类型的虚拟机请求量和当前云数据中心中各种资源的剩余状态来动态进行物理机选择。在虚拟机DQN的核心思想是确定模型中的智能体,使其执行动作序列来与周围环境交互来获得奖励,并根据奖励值优化动作序列直至完成模型结果收敛。在本模型中将物理机资源碎片量做为学习智能体,与云数据中心资源量、负载变化、用户请求情况等指标进行交互来进行优化学习。
S2-1,确定DQN模型中的智能体状态集、动作集、奖励值以及***环境。
(1)获取云数据中心中物理机在t时刻的***状态,状态集
Figure BDA00039299370600001013
其中,
Figure BDA00039299370600001014
代表集群中类型k的物理机的平均CPU利用率,
Figure BDA00039299370600001015
代表集群中类型k的物理机的平均内存利用率;
(2)设置动作集覆盖所有K个类型的待选择物理机,动作a∈A,其中a包含一维两种状态{add,pass},即要或不要向集群中添加该种类型的物理机;A为所有型号的物理机的动作集合,即为动作集。
(3)得到与状态集和动作集相关的奖励函数
首先,分别求取已加入集群的每台物理机产生的空闲资源量,其计算方式如下:
Figure BDA0003929937060000111
其中,
Figure BDA0003929937060000112
表示该台物理机空闲的CPU数量,
Figure BDA0003929937060000113
表示类型为k的物理机空闲的内存数量;
然后,计算某时刻该物理机产生的资源碎片量CPU碎片量和内存碎片量分别记:
Figure BDA0003929937060000114
DQN模型优化的目标是为了减小资源碎片的总量,为了降低算法的计算度模型,将它们做归一化处理:
Figure BDA0003929937060000115
其中
Figure BDA0003929937060000116
为资源碎片量,α为调节CPU和内存之间单位价值的参数。
型号为k的物理机的奖励值R按如下设定,即产生碎片资源越小的物理机可以获得越高的奖励:
Figure BDA0003929937060000117
其中,
Figure BDA0003929937060000118
表示型号为k的物理机在t时刻的奖励值;
每个状态下的动作数量会和k值大小与采样时刻t的多少相关,为了节约内存空间,使用神经网络来表示Q值函数,每层网络的权重就是对应的Q值函数。
例:假设k=100,读取的时刻数取10,则每组状态下就会生成2000个Q值,利用神经网络来决策具有最高Q值的动作,使用简单平方差作为损失函数来优化神经网络:
Figure BDA0003929937060000121
其中s'表示s状态之后的下一个状态;
a'表示s'状态下要执行的动作;
对Q值函数使用如下更新规则:
S2-2,物理机的选型问题可以视作一个马尔科夫决策过程,使用<s,a,r,s'>来表示这一过程。对于给定的马尔科夫决策过程,基于DQN模型的物理机选型步骤中Q值表的更新规则如下:
S2-2-1,当前状态s进行一次前馈,可获得所有动作预测的Q值:
maxa'Q(s',a')
S2-2-2,对下一个状态s'进行一次前馈,计算整个网络最大的输出值:
Figure BDA0003929937060000122
其中
Figure BDA0003929937060000123
表示型号为k的物理机在t+1时刻的奖励值;
S2-2-3,为动作目标设置Q值;
S2-2-4,利用深度卷积神经网络逼近值函数;
S2-2-5,利用经验回放训练强化学习的学习过程;
具体执行过程实施如下:
1.初始化经验池D,容量为N;
2.初始化估值Q网络:Q(s,a),其中θ为神经网络的参数;
3.初始化目标Q网络:Qπ(s,a),其中θ-为目标网络的参数;
4.初始化起始状态s;
5.在状态s,利用概率ε随机选择动作a∈A;若小概率事件没有发生,贪婪选择当前状态下值函数最大的那个动作;
6.得到即使奖励r和新的状态s';
7.将s,a,r,s'放入经验池D中,D会随着程序的运行而不断扩容;
8.从D中采样得到ss,aa,rr,ss';
9.按照如下方式计算采样动作在目标Q网络中的奖励值;
Figure BDA0003929937060000131
这里的ss'是否为终止态,即为学习过程中允许循环的最大次数。
10.以[y-Q(ss,aa)]2作为损失函数来训练估值Q网络;
11.将状态s更新至s'
12.每隔C步将,估值Q网络中的θ参数值赋值给目标Q网络中的参数θ-
13.重复步骤5-12直至s为终止状态(即资源碎片量数量最低)
14.重复步骤4-13直至估值Q网络收敛。
15.输出估值Q网络Q(s,a)
16.根据输出的结果贪心选择Q值最大的物理机。
S3,进行虚拟机整合以优化空闲资源,降低云数据中心的能耗。
本步骤主要内用是根据云数据中心中物理机的资源剩余情况进行虚拟机整合,搜索目标解集空间领域中的近似最优解,得到使空闲资源量最少的虚拟机部署方式,以降低云数据中心的能耗量。物理机的负载状态会影响其电能消耗量,在空负载情况下,云提供商通常会将物理机切换至待机或关机状态来节约电能。这里使用一个布尔变量bi={0,1}标识物理机
Figure BDA0003929937060000132
的开关机状态。在统计整个数据中心的能耗成本时,可以忽略处于关机态的物理机产生的能耗开销,数据中心一段时间内总能耗成本ecd计算方式如下:
Figure BDA0003929937060000133
Figure BDA0003929937060000134
表示第i台物理机的单日能耗。
其中Y表示连续Y天内的数据中心的总能耗成本。
在实际场景下,为了缩减***能耗成本,通常会将集群内部的虚拟机进行整合,但进行虚拟机整合工作会带来时间成本的开销,即每天可以迁移的最大虚拟机台数是固定的,于是每日的数据中心虚拟机迁移数量上限为:
Figure BDA0003929937060000141
其中,u是每日可以迁移的虚拟机数量;
fi,j={0,1}表示用户请求rj和物理机si的映射关系;
Figure BDA0003929937060000142
表示虚拟机迁移完成后,用户请求rj和新的物理机之间的映射情况。
nav为整个数据中心中虚拟机的数量;
因此得到问题的优化总目标为:
min tec
s.t.:
Figure BDA0003929937060000143
Figure BDA0003929937060000144
u≤nav*5%
其中,tec为数据中心在连续一段时间内的总能耗成本。
在虚拟机首次部署时,由于为了尽快的相应用户需求以保证服务质量,采用首次适应的贪心算法将虚拟机部署到数据中心集群中。该算法会不可避免的使云数据中心产生空闲资源。
虚拟机整合可以很大程度上减少空闲资源带来的能耗开销,其的目标是为了降低能耗成本,主要思想是将资源利用率低或者资源利用严重不平衡的物理机上的负载迁移到其他物理机上以关闭低负载物理机并实现物理机的负载均衡以节省能耗开销。虚拟机整合策略中关键的步骤是确定哪些物理机为需要迁出虚拟机的源主机和哪些物理机为接收虚拟机的目标主机。由于组成云数据中心的物理机种类并不单一,具体的迁移策略会受到每台物理机资源使用情况、总资源量等指标的影响,所以确定源主机和目标主机的参考指标也应动态变化,其具体步骤如下:
S3-1,确定待迁出虚拟机的源主机列表;
S3-1-1,建立迁出算子池D={d1,d2,d3,...,dz},dp∈dz,其中dp代表不同的迁出算子,每种算子代表了不同的物理机迁移优先级确定策略。
为了便于理解,这里列举一些算子实例:
算子d1按照集群中物理机负载量高低确定其迁移优先级,负载量低的物理机优先迁移;
算子d2按照集群中物理机CPU资源利用率确定其迁移优先级,资源利用率的物理机优先迁移;
算子d3按照集群中物理机内存资源利用率确定其迁移优先级,内存利用率低的物理机优先迁移;
算子d4按照集群中物理机CPU利用率和内存利用率之差确定其迁移优先级,利用率差值大的物理机优先迁移;
S3-1-2,给每个算子赋予权重,分别记作:{w1,w2,w3,...,wp},其中wp对应算子dp的权重;
S3-1-3,根据每天的虚拟机迁移数量上限以及每个算子的权重确定每种算子可以分配到的虚拟机迁移台数。(初始每个算子权重值相同)
S3-1-4,按照下面公式进行每个算子的权重值更新;
(1)为每种算子分配可迁移虚拟机台数,进行虚拟机预迁出并将已完成预迁出的虚拟机加入迁出列表L,计算预迁出完成后节约的总能耗成本E;
(2)算子权重由基础权重和临时权重两部分组成,每次预迁移后会更新算子临时权重;
(3)计算每种算子节省的能耗成本e,挑选出其中节省成本最多的算子记作
Figure BDA0003929937060000161
按照下面公式更新其临时权重:
Figure BDA0003929937060000162
其中,
Figure BDA0003929937060000163
表示算子
Figure BDA0003929937060000164
的临时权重;
Figure BDA0003929937060000165
表示算子
Figure BDA0003929937060000166
的起始权重;
Figure BDA0003929937060000167
表示该算子
Figure BDA0003929937060000168
在预迁移之后减少的能耗开销;
e'p指算子dp在预迁移之后减少的能耗开销;
z表示迁出算子池中算子的总数量。
(4)按照如下公式,更新其他算子临时权重:
Figure BDA0003929937060000169
其中,wt表示该算子dp的起始权重;
Figure BDA00039299370600001610
为算子的临时权重;
e'p表示该算子dp在预迁移之后减少的能耗开销;
z表示迁出算子池中算子的总数量。
(5)按照如下公式,更新算子权重:
wn=λwp+(1+λ)w
其中,wn是算子更新后的权重值;
wp是算子dp未更时候的基础权重;
Figure BDA00039299370600001611
为算子的临时权重;
λ∈(0,1)为一个参数,使用二分法调节更新时算子基础权重和临时权重加权求和时的权重比例至最优权重。
S3-1-5,计算每个算子以新权重wn分配迁移次数后的***新的总能耗成本En与E的大小,E表示预迁出完成后的总能耗成本;如果E>En,则输出迁移序列L;如果E<En,则返回步骤S3-1-4,再次进行权重更新。
S3-2,确定待迁入虚拟机的目标主机列表;
S3-2-1,获取步骤S5-1中输出的已迁出的虚拟机列表L作为本步骤的输入;
S3-2-2,建立迁入算子池R={r1,r2,r3,...,rP},rp∈rP,其中rp代表不同的迁入算子,每种算子代表了不同的虚拟机迁入优先级确定策略;
为了便于理解,下面列举了一些算子实例:
算子r1:目标物理机按照CPU资源量优先排序,优先将虚拟机迁入CPU空闲率高的物理机;
算子r2:目标物理机按照内存资源量优先排序,优先将虚拟机迁入内存空闲率高的物理机;
算子r3:目标物理机按照综合资源量优先排序,优先将虚拟机迁入总资源空闲率高的物理机;
S3-2-3,保存集群当前状态,分别使用每个迁入算子进行预迁入,并计算其增加的能耗成本;
S3-2-4,选择增加能耗成本最少的算子,并完成迁入操作。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (8)

1.一种基于云数据中心构建和虚拟机整合的云数据中心节能方法,其特征在于,包括以下步骤:
S1,建立云数据中心资源模型;
S2,若数据中心资源不足,使用DQN模型选择物理机扩容数据中心;若数据中心资源充足,则执行下一步骤;
S3,进行虚拟机整合以优化空闲资源,降低云数据中心的能耗。
2.根据权利要求1所述的一种基于云数据中心构建和虚拟机整合的云数据中心节能方法,其特征在于,所述S1包括以下步骤:
S1-1,设定云提供商提供L种不同类型的虚拟机出租给用户,用户的资源请求序列定义为:R={r1,r2,r3,...},rj∈R,j=(1,2,3,...,n),其中rj表示请求序列中的第j个资源请求;每个用户请求对应一台虚拟机
Figure FDA0003929937050000011
其中虚拟机
Figure FDA0003929937050000012
的资源量为
Figure FDA0003929937050000013
Figure FDA0003929937050000014
表示请求rj请求的CPU数量,
Figure FDA0003929937050000015
表示请求rj请求的内存数量;
S1-2,共有K种拥有不同资源量的物理机可以用来构建云数据中心,每种类型的物理机都具有的不同的CPU核心数量、内存资源量以及单日最大能耗量;
S1-3,通过约束条件建立云数据中心资源模型:
构建组成云数据中心的物理机序列:
Figure FDA0003929937050000016
Figure FDA0003929937050000017
其中
Figure FDA0003929937050000018
代表类型为k的第i台物理机,每台物理机包含三个属性
Figure FDA0003929937050000019
其中
Figure FDA00039299370500000110
表示该物理机的cpu数量,
Figure FDA00039299370500000111
表示该物理机的内存数量,
Figure FDA00039299370500000112
表示该物理机的单日能耗;
所有的用户请求都通过虚拟机的方式部署在对应的物理机上,所以用于构建云数据中心的物理机所拥有的资源量总要满足以下约束条件:
Figure FDA00039299370500000113
Figure FDA0003929937050000021
其中m表示物理机的总数;
n表示用户提出的请求的数量;
Figure FDA0003929937050000022
表示位于物理机
Figure FDA0003929937050000023
的虚拟机
Figure FDA0003929937050000024
的cpu核心数;
Figure FDA0003929937050000025
表示位于物理机
Figure FDA0003929937050000026
的虚拟机
Figure FDA0003929937050000027
的内存大小;
每台物理机
Figure FDA0003929937050000028
和其负载的虚拟机
Figure FDA0003929937050000029
是一对多的关系,对于给定的第i台物理机
Figure FDA00039299370500000210
的其负载情况均应满足:
Figure FDA00039299370500000211
Figure FDA00039299370500000212
其中,rj表示请求序列中的第j个用户请求;
Figure FDA00039299370500000213
代表类型为k的第i台物理机。
3.根据权利要求1所述的一种基于云数据中心构建和虚拟机整合的云数据中心节能方法,其特征在于,所述S2包括以下步骤:
S2-1,确定DQN模型中的智能体状态集、动作集、奖励值;
S2-2,使用DQN模型进行物理机选型,选型问题视作一个马尔科夫决策过程。
4.根据权利要求3所述的一种基于云数据中心构建和虚拟机整合的云数据中心节能方法,其特征在于,所述S2-1包括以下步骤:
(1)获取云数据中心中物理机在t时刻的***状态,状态集
Figure FDA00039299370500000214
其中,
Figure FDA00039299370500000215
代表集群中类型k的物理机的平均CPU利用率,
Figure FDA00039299370500000216
代表集群中类型k的物理机的平均内存利用率;
(2)设置动作集覆盖所有K个类型的待选择物理机,动作a∈A,其中a包含一维两种状态{add,pass},即要或不要向集群中添加该种类型的物理机;A为所有型号的物理机的动作集合,即为动作集;
(3)得到与状态集和动作集相关的奖励函数:
首先,分别求取已加入集群的每台物理机产生的空闲资源量,其计算方式如下:
Figure FDA0003929937050000031
Figure FDA0003929937050000032
其中,
Figure FDA0003929937050000033
表示该台物理机空闲的CPU数量;
Figure FDA0003929937050000034
表示类型为k的物理机空闲的内存数量;
Figure FDA0003929937050000035
表示位于物理机
Figure FDA0003929937050000036
的虚拟机
Figure FDA0003929937050000037
的cpu核心数;
Figure FDA0003929937050000038
表示位于物理机
Figure FDA0003929937050000039
的虚拟机
Figure FDA00039299370500000310
的内存大小;
然后,计算某时刻该物理机产生的资源碎片量CPU碎片量和内存碎片量分别记:
Figure FDA00039299370500000311
DQN模型优化的目标是为了减小资源碎片的总量,为了降低算法的计算度模型,将它们做归一化处理:
Figure FDA00039299370500000312
其中
Figure FDA00039299370500000313
为资源碎片量;
α为调节CPU和内存之间单位价值的参数;
型号为k的物理机的奖励值R按如下设定,即产生碎片资源越小的物理机可以获得越高的奖励:
Figure FDA00039299370500000314
其中,
Figure FDA00039299370500000315
表示型号为k的物理机在t时刻的奖励值。
5.根据权利要求3所述的一种基于云数据中心构建和虚拟机整合的云数据中心节能方法,其特征在于,所述选型过程中Q值表的更新规则如下:
S2-2-1,当前状态s进行一次前馈,可获得所有动作预测的Q值:
maxa'Q(s',a')
S2-2-2,对下一个状态s'进行一次前馈,计算整个网络最大的输出值:
Figure FDA0003929937050000041
其中
Figure FDA0003929937050000042
表示型号为k的物理机在t+1时刻的奖励值;
S2-2-3,为动作目标设置Q值;
S2-2-4,利用深度卷积神经网络逼近值函数;
S2-2-5,利用经验回放训练强化学习的学习过程。
6.根据权利要求3所述的一种基于云数据中心构建和虚拟机整合的云数据中心节能方法,其特征在于,所述S3包括以下步骤:
S3-1,确定待迁出虚拟机的源主机列表;
S3-1-1,建立迁出算子池D={d1,d2,d3,...,dz},dp∈dz,其中dp代表不同的迁出算子,每种算子代表了不同的物理机迁移优先级确定策略;
S3-1-2,给每个算子赋予权重,分别记作:{w1,w2,w3,...,wp},其中wp对应算子dp的权重;
S3-1-3,根据每天的虚拟机迁移数量上限以及每个算子的权重确定每种算子可以分配到的虚拟机迁移台数;
S3-1-4,每个算子的权重值更新;
S3-1-5,计算每个算子以新权重wn分配迁移次数后的***新的总能耗成本En与E的大小,E表示预迁出完成后的总能耗成本;如果E>En,则输出迁移序列L;如果E<En,则返回步骤S3-1-4,再次进行权重更新;
S3-2,确定待迁入虚拟机的目标主机列表;
S3-2-1,获取步骤S5-1中输出的已迁出的虚拟机列表L作为本步骤的输入;
S3-2-2,建立迁入算子池R={r1,r2,r3,...,rP},rp∈rP,其中rp代表不同的迁入算子,每种算子代表了不同的虚拟机迁入优先级确定策略;
S3-2-3,保存集群当前状态,分别使用每个迁入算子进行预迁入,并计算其增加的能耗成本;
S3-2-4,选择增加能耗成本最少的算子,并完成迁入操作。
7.根据权利要求6所述的一种基于云数据中心构建和虚拟机整合的云数据中心节能方法,其特征在于,所述每天的虚拟机迁移数量上限为:
Figure FDA0003929937050000051
其中,u是每日可以迁移的虚拟机数量;
m表示物理机的总数;
n表示用户提出的请求的数量;
fi,j={0,1}表示用户请求rj和物理机si的映射关系;
Figure FDA0003929937050000052
表示虚拟机迁移完成后,用户请求rj和新的物理机之间的映射情况;
nav为整个数据中心中虚拟机的数量。
8.根据权利要求6所述的一种基于云数据中心构建和虚拟机整合的云数据中心节能方法,其特征在于,所述每个算子的权重值更新包括以下步骤:
(1)为每种算子分配可迁移虚拟机台数,进行虚拟机预迁出并将已完成预迁出的虚拟机加入迁出列表L,计算预迁出完成后节约的总能耗成本E;
(2)算子权重由基础权重和临时权重两部分组成,每次预迁移后会更新算子临时权重;
(3)计算每种算子节省的能耗成本e,挑选出其中节省成本最多的算子记作
Figure FDA0003929937050000053
按照下面公式更新其临时权重:
Figure FDA0003929937050000054
其中,
Figure FDA0003929937050000055
表示算子
Figure FDA0003929937050000056
的临时权重;
Figure FDA0003929937050000061
表示算子
Figure FDA0003929937050000062
的起始权重;
Figure FDA0003929937050000063
表示该算子
Figure FDA0003929937050000064
在预迁移之后减少的能耗开销;
e'p指算子dp在预迁移之后减少的能耗开销;
z表示迁出算子池中算子的总数量;
(4)按照如下公式,更新其他算子临时权重:
Figure FDA0003929937050000065
其中,wt表示该算子dp的起始权重;
Figure FDA0003929937050000066
为算子的临时权重;
e'p表示该算子dp在预迁移之后减少的能耗开销;
z表示迁出算子池中算子的总数量;
(5)按照如下公式,更新算子权重:
wn=λwp+(1+λ)w
其中,wn是算子更新后的权重值;
wp是算子dp未更时候的基础权重;
Figure FDA0003929937050000067
为算子的临时权重;
λ∈(0,1)为一个参数,使用二分法调节更新时算子基础权重和临时权重加权求和时的权重比例至最优权重。
CN202211386286.2A 2022-11-07 2022-11-07 基于云数据中心构建和虚拟机整合的云数据中心节能方法 Pending CN115617526A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211386286.2A CN115617526A (zh) 2022-11-07 2022-11-07 基于云数据中心构建和虚拟机整合的云数据中心节能方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211386286.2A CN115617526A (zh) 2022-11-07 2022-11-07 基于云数据中心构建和虚拟机整合的云数据中心节能方法

Publications (1)

Publication Number Publication Date
CN115617526A true CN115617526A (zh) 2023-01-17

Family

ID=84878407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211386286.2A Pending CN115617526A (zh) 2022-11-07 2022-11-07 基于云数据中心构建和虚拟机整合的云数据中心节能方法

Country Status (1)

Country Link
CN (1) CN115617526A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116627240A (zh) * 2023-07-25 2023-08-22 腾讯科技(深圳)有限公司 功耗调节方法、装置、电子设备、存储介质及程序产品

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116627240A (zh) * 2023-07-25 2023-08-22 腾讯科技(深圳)有限公司 功耗调节方法、装置、电子设备、存储介质及程序产品
CN116627240B (zh) * 2023-07-25 2024-01-26 腾讯科技(深圳)有限公司 功耗调节方法、装置、电子设备、存储介质及程序产品

Similar Documents

Publication Publication Date Title
Wang et al. Task scheduling algorithm based on improved firework algorithm in fog computing
CN110489229B (zh) 一种多目标任务调度方法及***
CN110058924B (zh) 一种多目标优化的容器调度方法
Shan et al. A survey on computation offloading for mobile edge computing information
CN110069341B (zh) 边缘计算中结合功能按需配置的有依赖关系任务的调度方法
CN104619029B (zh) 一种集中式蜂窝网络架构下的基带池资源分配方法和装置
Dong et al. A ‘joint-me’task deployment strategy for load balancing in edge computing
CN113778683B (zh) 一种基于神经网络的Handle标识体系解析负载均衡方法
CN113076177B (zh) 一种边缘计算环境下的虚拟机动态迁移方法
Gu et al. A multi-objective fog computing task scheduling strategy based on ant colony algorithm
CN113806018A (zh) 基于神经网络和分布式缓存的Kubernetes集群资源混合调度方法
Dai et al. A learning algorithm for real-time service in vehicular networks with mobile-edge computing
Liu et al. A data placement strategy for scientific workflow in hybrid cloud
CN112187535A (zh) 雾计算环境下服务器部署方法及装置
CN115617526A (zh) 基于云数据中心构建和虚拟机整合的云数据中心节能方法
CN111176784A (zh) 一种基于极限学习机和蚁群***的虚拟机整合方法
KR20230035024A (ko) 클라우드 무선 접속 네트워크의 동적 리소스를 할당하는 장치 및 방법
Fu et al. An efficient VNF deployment scheme for cloud networks
CN113360245A (zh) 基于移动云计算深度强化学习的物联网设备任务下载方法
CN109857562A (zh) 一种众核处理器上访存距离优化的方法
CN115086249B (zh) 一种基于深度强化学习的云数据中心资源分配方法
CN113296893B (zh) 一种基于混合正弦余弦粒子群优化算法的云平台低资源损耗虚拟机放置方法
Swarnakar et al. A novel improved hybrid model for load balancing in cloud environment
He et al. A survey of task migration strategies in mobile edge computing
Zhu et al. Balanced Cloud Edge resource allocation based on conflict conditions

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