公开/公告号CN115617526A
专利类型发明专利
公开/公告日2023-01-17
原文格式PDF
申请/专利权人 重庆锦禹云能源科技有限公司;重庆大学;
申请/专利号CN202211386286.2
申请日2022-11-07
分类号G06F9/50(2006.01);G06N3/04(2006.01);G06N3/08(2006.01);
代理机构重庆天成卓越专利代理事务所(普通合伙) 50240;
代理人王宏松
地址 400060 重庆市南岸区南坪西路73号21-办公30
入库时间 2023-06-19 18:21:03
法律状态公告日
法律状态信息
法律状态
2023-02-10
实质审查的生效 IPC(主分类):G06F 9/50 专利申请号:2022113862862 申请日:20221107
实质审查的生效
2023-01-17
公开
发明专利申请公布
技术领域
本发明涉及云计算能耗领域,特别是涉及一种基于云数据中心构建和虚拟机整合的云数据中心节能方法。
背景技术
云计算作为一种逐步发展成熟的服务计算模式具有重要的实际应用意义。近年来,云计算技术架构和商业模式越来越成熟,其对众多类型的应用程序和计算场景展现出的良好的兼容性使得其服务范围涵盖了企业单位,政府机关,科研院校等各个行业。云计算技术为人们的日常工作和生活提供了便捷,其用户群体也愈发庞大,云数据中心的用户需求也愈发密集。为了应对庞大的用户需求量,云提供商需建立大体量的云数据中心。如今大规模的数据中心都配备了数千甚至上万台物理机,这些物理机会产生资源利用率低、能源消耗量大等问题。
用户请求通常会以虚拟机或容器的方式部署在宿主机上,当一台宿主机搭载多台不同的虚拟机时,很容易出现由于某种硬件资源数量限制而使其他硬件资源无法被使用的情况,这种资源闲置会导致数据中心产生不必要的资源碎片。资源碎片的产生的重要原因是宿主机和虚拟机资源量的亲和性,即虚拟机的资源需求量和宿主机的资源拥有量并不总是完全匹配。在实际工业生产条件下,构成云数据中心物理机的型号及资源量等指标往往不同,云提供商对外租售的虚拟机类型,每种类型虚拟机保有的资源量也有所差异。在云数据中心集群运行过程中,选用何种类型的物理机来承载虚拟机和系统产生资源碎片的数量有联系密切。
现有商业模式下,用户多以租约的形式向云提供商的请求服务,宿主机上运行的虚拟机在用户请求到期后会被释放,宿主机出现空闲资源;云数据中心内的宿主机在运行过程中需要大量的能耗开销,资源碎片和空闲资源都会增加非必要的电力消耗,造成电能浪费。将不同宿主机上的虚拟机进行动态整合可以减少空闲资源,关闭部分低负载物理机,降低能源消耗量。
经过广泛而深入的调研后,我们发现目前云环境下有关减少资源碎片和降低空闲资源的研究还存在了一些不足:
(1)现有的云数据中心优化策略,多数将研究对象设定为了静态云数据中心,较少研究将研究对象设置资源保有量和承载量不断变化的动态云数据中心。
(2)现有的方法没有考虑在云数据中心建立过程中用户资源需求对物理机选型策略的影响,没有对优化云数据中心资源碎片这一问题进行深入研究。
(3)现有的虚拟机整合策略,多数只考虑单一资源限制(例如:CPU核心数量或内存大小)而未对多种资源限制综合考虑。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于云数据中心构建和虚拟机整合的云数据中心节能方法。
为了实现本发明的上述目的,本发明提供了一种基于云数据中心构建和虚拟机整合的云数据中心节能方法,包括以下步骤:
S1,建立云数据中心资源模型;
S2,若数据中心资源不足,使用DQN模型选择物理机扩容数据中心;若数据中心资源充足,则执行下一步骤;
S3,进行虚拟机整合以优化空闲资源,降低云数据中心的能耗。
进一步地,所述S1包括以下步骤:
S1-1,设定云提供商提供L种不同类型的虚拟机出租给用户,用户的资源请求序列定义为:R={r
S1-2,共有K种拥有不同资源量的物理机可以用来构建云数据中心,每种类型的物理机都具有的不同的CPU核心数量、内存资源量以及单日最大能耗量;
S1-3,通过约束条件建立云数据中心资源模型:
构建组成云数据中心的物理机序列:
所有的用户请求都通过虚拟机的方式部署在对应的物理机上,所以用于构建云数据中心的物理机所拥有的资源量总要满足以下约束条件:
其中m表示物理机的总数;
n表示用户提出的请求的数量;
上述约束的作用在于,保证目标物理机拥有的资源量大于虚拟机的申请资源量,否则,当前物理机不能满足组成云数据中心基础设施的条件。
物理机和其负载的虚拟机具有一一对应的关系,这种映射关系在整个数据中心集群中具有唯一性,使用一个布尔变量f
其中,r
该约束的作用在于,规定单台物理机的每种资源阈值,约束模型中的单台物理机资源上限。
进一步地,所述S2包括以下步骤:
S2-1,确定DQN模型中的智能体状态集、动作集、奖励值;
S2-2,使用DQN模型进行物理机选型,选型问题视作一个马尔科夫决策过程。
进一步地,所述S2-1包括以下步骤:
(1)获取云数据中心中物理机在t时刻的系统状态,状态集
(2)设置动作集覆盖所有K个类型的待选择物理机,动作a∈A,其中a包含一维两种状态{add,pass},即要或不要向集群中添加该种类型的物理机;A为所有型号的物理机的动作集合,即为动作集;
(3)得到与状态集和动作集相关的奖励函数:
首先,分别求取已加入集群的每台物理机产生的空闲资源量,其计算方式如下:
其中,
然后,计算某时刻该物理机产生的资源碎片量CPU碎片量和内存碎片量分别记:
DQN模型优化的目标是为了减小资源碎片的总量,为了降低算法的计算度模型,将它们做归一化处理:
其中
α为调节CPU和内存之间单位价值的参数;
型号为k的物理机的奖励值R按如下设定,即产生碎片资源越小的物理机可以获得越高的奖励:
其中,
进一步地,所述选型过程中Q值表的更新规则如下:
S2-2-1,当前状态s进行一次前馈,可获得所有动作预测的Q值:
max
S2-2-2,对下一个状态s'进行一次前馈,计算整个网络最大的输出值:
其中
S2-2-3,为动作目标设置Q值;
S2-2-4,利用深度卷积神经网络逼近值函数;
S2-2-5,利用经验回放训练强化学习的学习过程。
进一步地,所述S3包括以下步骤:
S3-1,确定待迁出虚拟机的源主机列表;
S3-1-1,建立迁出算子池D={d
所述迁出算子包括:
算子d
算子d
算子d
算子d
S3-1-2,给每个算子赋予权重,分别记作:{w
S3-1-3,根据每天的虚拟机迁移数量上限以及每个算子的权重确定每种算子可以分配到的虚拟机迁移台数;
S3-1-4,每个算子的权重值更新;
S3-1-5,计算每个算子以新权重w
S3-2,确定待迁入虚拟机的目标主机列表;
S3-2-1,获取步骤S5-1中输出的已迁出的虚拟机列表L作为本步骤的输入;
S3-2-2,建立迁入算子池R={r
所述迁入算子包括:算子r
算子r
算子r
S3-2-3,保存集群当前状态,分别使用每个迁入算子进行预迁入,并计算其增加的能耗成本;
S3-2-4,选择增加能耗成本最少的算子,并完成迁入操作。
进一步地,所述每天的虚拟机迁移数量上限为:
其中,u是每日可以迁移的虚拟机数量;
m表示物理机的总数;
n表示用户提出的请求的数量;
f
nav为整个数据中心中虚拟机的数量。
进一步地,所述每个算子的权重值更新包括以下步骤:
(1)为每种算子分配可迁移虚拟机台数,进行虚拟机预迁出并将已完成预迁出的虚拟机加入迁出列表L,计算预迁出完成后节约的总能耗成本E;
(2)算子权重由基础权重和临时权重两部分组成,每次预迁移后会更新算子临时权重;
(3)计算每种算子节省的能耗成本e,挑选出其中节省成本最多的算子记作
其中,
e'
z表示迁出算子池中算子的总数量;
(4)按照如下公式,更新其他算子临时权重:
其中,w
e'
z表示迁出算子池中算子的总数量;
(5)按照如下公式,更新算子权重:
w
其中,w
w
λ∈(0,1)为一个参数,使用二分法调节更新时算子基础权重和临时权重加权求和时的权重比例至最优权重。
综上所述,由于采用了上述技术方案,本发明能够通过对物理机的选型从而减少虚拟机和系统产生资源碎片的数量;以及将不同宿主机上的虚拟机进行动态整合,关闭部分低负载物理机,从而减少空闲资源,降低能源消耗量。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
具体实施方式
下面详细描述本发明的实施例,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
S1,建立云数据中心资源模型。
S1-1,设定云提供商提供L种不同类型的虚拟机出租给用户。用户的资源请求序列定义为:R={r
S1-2,设定共有K种拥有不同资源量的物理机可以用来构建云数据中心。每种类型的物理机都具有的不同的CPU核心数量、内存资源量以及单日最大能耗量。
S1-3,通过约束条件建立云数据中心资源模型。
构建组成云数据中心的物理机序列:
所有的用户请求都通过虚拟机的方式部署在对应的物理机上,所以用于构建云数据中心的物理机所拥有的资源量总要满足以下约束条件:
其中m表示物理机的总数;
n表示用户提出的请求的数量;
上述约束的作用在于,保证目标物理机拥有的资源量大于虚拟机的申请资源量,否则,当前物理机不能满足组成云数据中心基础设施的条件。
物理机和其负载的虚拟机具有一一对应的关系,这种映射关系在整个数据中心集群中具有唯一性,使用一个布尔变量f
该约束的作用在于,规定单台物理机的每种资源阈值,约束模型中的单台物理机资源上限。
S2,使用DQN模型选择物理机扩容数据中心,所述DQN模型即深度强化学习模型。
我们将云数据中心数量不足的资源定义为短板资源。对数据中心资源扩容时,需要根据用户对不同类型的虚拟机请求量和当前云数据中心中各种资源的剩余状态来动态进行物理机选择。在虚拟机DQN的核心思想是确定模型中的智能体,使其执行动作序列来与周围环境交互来获得奖励,并根据奖励值优化动作序列直至完成模型结果收敛。在本模型中将物理机资源碎片量做为学习智能体,与云数据中心资源量、负载变化、用户请求情况等指标进行交互来进行优化学习。
S2-1,确定DQN模型中的智能体状态集、动作集、奖励值以及系统环境。
(1)获取云数据中心中物理机在t时刻的系统状态,状态集
(2)设置动作集覆盖所有K个类型的待选择物理机,动作a∈A,其中a包含一维两种状态{add,pass},即要或不要向集群中添加该种类型的物理机;A为所有型号的物理机的动作集合,即为动作集。
(3)得到与状态集和动作集相关的奖励函数
首先,分别求取已加入集群的每台物理机产生的空闲资源量,其计算方式如下:
其中,
然后,计算某时刻该物理机产生的资源碎片量CPU碎片量和内存碎片量分别记:
DQN模型优化的目标是为了减小资源碎片的总量,为了降低算法的计算度模型,将它们做归一化处理:
其中
型号为k的物理机的奖励值R按如下设定,即产生碎片资源越小的物理机可以获得越高的奖励:
其中,
每个状态下的动作数量会和k值大小与采样时刻t的多少相关,为了节约内存空间,使用神经网络来表示Q值函数,每层网络的权重就是对应的Q值函数。
例:假设k=100,读取的时刻数取10,则每组状态下就会生成2000个Q值,利用神经网络来决策具有最高Q值的动作,使用简单平方差作为损失函数来优化神经网络:
其中s'表示s状态之后的下一个状态;
a'表示s'状态下要执行的动作;
对Q值函数使用如下更新规则:
S2-2,物理机的选型问题可以视作一个马尔科夫决策过程,使用来表示这一过程。对于给定的马尔科夫决策过程,基于DQN模型的物理机选型步骤中Q值表的更新规则如下:
S2-2-1,当前状态s进行一次前馈,可获得所有动作预测的Q值:
max
S2-2-2,对下一个状态s'进行一次前馈,计算整个网络最大的输出值:
其中
S2-2-3,为动作目标设置Q值;
S2-2-4,利用深度卷积神经网络逼近值函数;
S2-2-5,利用经验回放训练强化学习的学习过程;
具体执行过程实施如下:
1.初始化经验池D,容量为N;
2.初始化估值Q网络:Q(s,a),其中θ为神经网络的参数;
3.初始化目标Q网络:Q
4.初始化起始状态s;
5.在状态s,利用概率ε随机选择动作a∈A;若小概率事件没有发生,贪婪选择当前状态下值函数最大的那个动作;
6.得到即使奖励r和新的状态s';
7.将s,a,r,s'放入经验池D中,D会随着程序的运行而不断扩容;
8.从D中采样得到ss,aa,rr,ss';
9.按照如下方式计算采样动作在目标Q网络中的奖励值;
这里的ss'是否为终止态,即为学习过程中允许循环的最大次数。
10.以[y-Q(ss,aa)]
11.将状态s更新至s'
12.每隔C步将,估值Q网络中的θ参数值赋值给目标Q网络中的参数θ
13.重复步骤5-12直至s为终止状态(即资源碎片量数量最低)
14.重复步骤4-13直至估值Q网络收敛。
15.输出估值Q网络Q(s,a)
16.根据输出的结果贪心选择Q值最大的物理机。
S3,进行虚拟机整合以优化空闲资源,降低云数据中心的能耗。
本步骤主要内用是根据云数据中心中物理机的资源剩余情况进行虚拟机整合,搜索目标解集空间领域中的近似最优解,得到使空闲资源量最少的虚拟机部署方式,以降低云数据中心的能耗量。物理机的负载状态会影响其电能消耗量,在空负载情况下,云提供商通常会将物理机切换至待机或关机状态来节约电能。这里使用一个布尔变量b
其中Y表示连续Y天内的数据中心的总能耗成本。
在实际场景下,为了缩减系统能耗成本,通常会将集群内部的虚拟机进行整合,但进行虚拟机整合工作会带来时间成本的开销,即每天可以迁移的最大虚拟机台数是固定的,于是每日的数据中心虚拟机迁移数量上限为:
其中,u是每日可以迁移的虚拟机数量;
f
nav为整个数据中心中虚拟机的数量;
因此得到问题的优化总目标为:
min tec
s.t.:
u≤nav*5%
其中,tec为数据中心在连续一段时间内的总能耗成本。
在虚拟机首次部署时,由于为了尽快的相应用户需求以保证服务质量,采用首次适应的贪心算法将虚拟机部署到数据中心集群中。该算法会不可避免的使云数据中心产生空闲资源。
虚拟机整合可以很大程度上减少空闲资源带来的能耗开销,其的目标是为了降低能耗成本,主要思想是将资源利用率低或者资源利用严重不平衡的物理机上的负载迁移到其他物理机上以关闭低负载物理机并实现物理机的负载均衡以节省能耗开销。虚拟机整合策略中关键的步骤是确定哪些物理机为需要迁出虚拟机的源主机和哪些物理机为接收虚拟机的目标主机。由于组成云数据中心的物理机种类并不单一,具体的迁移策略会受到每台物理机资源使用情况、总资源量等指标的影响,所以确定源主机和目标主机的参考指标也应动态变化,其具体步骤如下:
S3-1,确定待迁出虚拟机的源主机列表;
S3-1-1,建立迁出算子池D={d
为了便于理解,这里列举一些算子实例:
算子d
算子d
算子d
算子d
S3-1-2,给每个算子赋予权重,分别记作:{w
S3-1-3,根据每天的虚拟机迁移数量上限以及每个算子的权重确定每种算子可以分配到的虚拟机迁移台数。(初始每个算子权重值相同)
S3-1-4,按照下面公式进行每个算子的权重值更新;
(1)为每种算子分配可迁移虚拟机台数,进行虚拟机预迁出并将已完成预迁出的虚拟机加入迁出列表L,计算预迁出完成后节约的总能耗成本E;
(2)算子权重由基础权重和临时权重两部分组成,每次预迁移后会更新算子临时权重;
(3)计算每种算子节省的能耗成本e,挑选出其中节省成本最多的算子记作
其中,
e'
z表示迁出算子池中算子的总数量。
(4)按照如下公式,更新其他算子临时权重:
其中,w
e'
z表示迁出算子池中算子的总数量。
(5)按照如下公式,更新算子权重:
w
其中,w
w
λ∈(0,1)为一个参数,使用二分法调节更新时算子基础权重和临时权重加权求和时的权重比例至最优权重。
S3-1-5,计算每个算子以新权重w
S3-2,确定待迁入虚拟机的目标主机列表;
S3-2-1,获取步骤S5-1中输出的已迁出的虚拟机列表L作为本步骤的输入;
S3-2-2,建立迁入算子池R={r
为了便于理解,下面列举了一些算子实例:
算子r
算子r
算子r
S3-2-3,保存集群当前状态,分别使用每个迁入算子进行预迁入,并计算其增加的能耗成本;
S3-2-4,选择增加能耗成本最少的算子,并完成迁入操作。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
机译: 虚拟私有云和非公共云数据中心通信方法,虚拟私有云和非公共云数据中心通信配置方法,以及相关设备
机译: 基于滚动灰色预测模型的云数据中心节能调度实现方法
机译: 地理分布云数据中心中虚拟机的最佳动态位置