CN113515351B - 一种基于能耗与QoS协同优化的资源调度实现方法 - Google Patents

一种基于能耗与QoS协同优化的资源调度实现方法 Download PDF

Info

Publication number
CN113515351B
CN113515351B CN202111041530.7A CN202111041530A CN113515351B CN 113515351 B CN113515351 B CN 113515351B CN 202111041530 A CN202111041530 A CN 202111041530A CN 113515351 B CN113515351 B CN 113515351B
Authority
CN
China
Prior art keywords
virtual machine
cloud
data center
cloud task
noise reduction
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
Application number
CN202111041530.7A
Other languages
English (en)
Other versions
CN113515351A (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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN202111041530.7A priority Critical patent/CN113515351B/zh
Publication of CN113515351A publication Critical patent/CN113515351A/zh
Application granted granted Critical
Publication of CN113515351B publication Critical patent/CN113515351B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/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
    • 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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于能耗与QoS协同优化的资源调度实现方法。所述方法包括:在云计算数据中心环境下构建多虚拟机的云任务到达排队模型;利用堆叠降噪自动编码器技术对数据中心的QoS特征进行提取,得到降维后描述QoS特征信息的矩阵,求得当前的虚拟机的最大响应时间,以完善协同优化目标函数的约束条件;结合云任务到达排队模型、协同优化目标函数和李雅普诺夫优化方法,得到基于李雅普诺夫优化理论的资源调度算法,采用资源调度算法实现基于能耗与QoS协同优化的资源调度。本发明在保障QoS的同时有效地降低数据中心的能耗,并克服了云计算数据中心的真实场景中云任务到达的波动性对优化问题求解的干扰。

Description

一种基于能耗与QoS协同优化的资源调度实现方法
技术领域
本发明属于云计算节能调度领域,具体涉及一种基于能耗与QoS协同优化的资源调度实现方法。
背景技术
云计算凭借其超大规模的服务能力早已成为全球IT领域热门的研究项目。随着云计算技术的不断发展,越来越多的数据中心在全球范围内涌现,基础设施产生的能耗也呈现指数级的增长态势。当前全球IT行业的碳排放量占全球碳排放总量的3-5%。根据最近的报道,Google数据中心消耗了近3亿瓦,而Facebook的数据中心消耗了6000万瓦。数据中心比高能耗制造业消耗更多的电力。国际调查机构麦肯锡对70个大型数据中心进行了调查,发现用于计算机操作的平均功耗仅占6%至12%。随着数据中心规模的不断增长,数据中心消耗的大量电能对环境的影响日益突出。
虚拟机迁移技术可以提升物理节点的资源利用率,通过关闭数据中心空闲状态的服务器可以降低云计算***的总体能耗值。传统的这类节能解决方案也会带来明显的不利影响。当CPU利用率接近100%时,虚拟机的性能会出现明显的下降,这意味着节能和保障服务质量(QoS)这两个优化目标之间不可避免地存在着冲突关系。过度追求这些指标中的任何一个都会阻碍对另一指标的优化。在实际的数据中心场景中,由于负载的波动性及不确定因素,节能和QoS保障的双重目标变得更为复杂。先前的优化方法要求所有实体(用户、云任务、服务提供商等)在整个云计算调度过程中满足单个QoS约束,这在实际的云计算环境中是不现实的。并且这些优化方法的求解过程复杂,收敛速度慢,难以满足大规模云计算数据中心的实时调度需求。
发明内容
为了实现能耗和QoS优化之间更好的权衡,本发明提出了一种基于能耗与QoS协同优化的资源调度实现方法,在保障用户QoS的前提下最小化数据中心产生的能耗。本发明构建了一个多虚拟机(VM)的云任务到达排队模型,并在此基础上构建了数据中心的能耗模型以及目标优化函数,并结合李雅普诺夫(Lyapunov)稳定性理论的优化方法,将协同优化问题具体到了每一个调度时间片内进行求解,使得虚拟机的云任务队列可达到允许的最大值,可以充分发挥虚拟机的处理能力,实现资源的利用。
本发明的目的至少通过如下技术方案之一实现。
一种基于能耗与QoS协同优化的资源调度实现方法,包括以下步骤:
S1、在云计算数据中心环境下构建多虚拟机(VM)的云任务到达排队模型;
S2、利用堆叠降噪自动编码器技术对数据中心的QoS特征进行提取,得到降维后描述QoS特征信息的矩阵,通过该矩阵求得当前的虚拟机的最大响应时间,以完善协同优化目标函数的约束条件;
S3、结合云任务到达排队模型、协同优化目标函数和李雅普诺夫(Lyapunov)优化方法,求得满足能耗与QoS优化调度的虚拟机应该具备的云任务队列长度条件,得到基于李雅普诺夫(Lyapunov)优化理论的资源调度算法,采用资源调度算法将能耗与QoS协同优化的资源调度问题具体到每一个时间片内进行求解,实现基于能耗与QoS协同优化的资源调度。
进一步地,步骤S1中,所述云任务到达排队模型由主机排队模型和虚拟机(VM)排队模型串联组成,用于优化虚拟机云任务队列积压长度与***能耗之间的关系;
主机排队模型中,云任务被提交到数据中心之后,数据中心会采用最少负载 (least loaded)准则的负载均衡策略,将云任务优先分配给云任务请求未完成数量最少的 主机,并由此构成云任务到达间隔时间为指数分布、云任务执行时间为指数分布的排队模 型(
Figure DEST_PATH_IMAGE001
排队模型);
虚拟机(VM)排队模型中,每一个虚拟机(VM)实例都构成了一个云任务到达间隔时 间为指数分布、云任务执行时间为指数分布,虚拟机数量为
Figure DEST_PATH_IMAGE002
,虚拟机容量为
Figure DEST_PATH_IMAGE003
的排队模型(
Figure DEST_PATH_IMAGE004
排队模型),云任务首先经过主机排队模型的分配后被数据中心提交至虚拟机排 队模型中,然后以先到先服务(FCFS)的方式进行处理。
进一步地,当云任务进入主机排队模型时,如果主机上至少有一个可用虚拟机(VM),数据中心则将该云任务分配至当前处于空闲状态的虚拟机(VM)上执行;当主机上所有的虚拟机都已被云任务占用满载时,新到达的云任务将会进入虚拟机排队模型的队列缓冲区内,队列缓冲区是一个专门存放等候被执行的云任务的先进先出(FIFO)队列;当有云任务执行完毕离开某个虚拟机(VM)后,数据中心会将位于队列缓冲区头部的云任务分配给此虚拟机(VM);当云任务获得对虚拟机(VM)的访问权限后,可立即向其提供云服务;
将数据中心的运行时间视为由成若干个连续时间片所组成,每个时间片的长度定 义为t;因此在时隙t内,单个虚拟机的排队模型(
Figure DEST_PATH_IMAGE005
排队模型)通过以下公式进行 定义:
Figure DEST_PATH_IMAGE006
其中,
Figure DEST_PATH_IMAGE007
Figure DEST_PATH_IMAGE008
是第j个和第j+1个时间片中第k个虚拟机(VM)的队列长 度;
Figure DEST_PATH_IMAGE009
表示在第j个时间片
Figure DEST_PATH_IMAGE010
中第k个虚拟机
Figure DEST_PATH_IMAGE011
处理的云任务数;
Figure DEST_PATH_IMAGE012
是第j个时间片
Figure DEST_PATH_IMAGE013
中 第k个虚拟机
Figure 306441DEST_PATH_IMAGE011
队列中的云任务数量;当
Figure DEST_PATH_IMAGE014
时,虚拟机(VM)中的队列长度小于其 处理能力
Figure 32821DEST_PATH_IMAGE009
,虚拟机(VM)的队列长度可以达到最小值0;
虚拟机(VM)排队模型的长度会直接影响数据中心中主机的运行状态;主机的运行状态可以分为以下两类:
1)活跃状态:主机上虚拟机(VM)的云任务队列不为空,云任务正在等待被处理;
2)空闲状态:主机上虚拟机(VM)的云任务队列为空,处于空闲状态的主机可被视为处于睡眠模式,且处于低功耗状态,通常而言,处于空闲状态下主机产生的功耗为一恒定值;
因此数据中心的功耗模型可以描述为如下形式:
Figure DEST_PATH_IMAGE015
式中,
Figure DEST_PATH_IMAGE016
表示当前数据中心的总体能源功耗量,其中能耗等式右侧的第一项表示当 前处于活动状态的物理主机产生的总功耗;p是运行中的物理主机的数量,
Figure DEST_PATH_IMAGE017
是第
Figure DEST_PATH_IMAGE018
个处于 活动状态的物理主机的功耗;q是处于空闲状态的物理主机的数量,
Figure DEST_PATH_IMAGE019
是第
Figure DEST_PATH_IMAGE020
个处于空闲状态 的物理主机的功耗;空闲状态下的功耗可以看作是一个常量;M是当前数据中心可用虚拟机 (VM)的最大数量;
当资源利用率较高时,处于空闲状态的物理主机数量较少,功耗也较小;由此公式(2)可以以如下形式表示:
Figure DEST_PATH_IMAGE021
Figure DEST_PATH_IMAGE022
其中
Figure DEST_PATH_IMAGE023
为第
Figure DEST_PATH_IMAGE024
个处于活动状态的物理主机的功耗,
Figure DEST_PATH_IMAGE025
Figure DEST_PATH_IMAGE026
为空闲状态下主机 的恒定功耗常量,
Figure DEST_PATH_IMAGE027
是第j个时间片中第
Figure DEST_PATH_IMAGE028
个虚拟机的队列长度。
进一步地,步骤S2中,利用堆叠降噪自动编码器技术对数据中心中的虚拟机的资源占用历史数据进行处理,通过堆叠降噪编码器的鲁棒性提取出影响数据中心QoS指标的特征信息;
利用由虚拟机的参数集合组成的高维矩阵作为网络输入层的数据,并构建堆叠降噪自动编码器的目标函数,通过目标函数将对所述高维矩阵进行降维与数据重构,得到优化后的特征;
在最小化编码器损失函数的过程中,同时将堆叠降噪自动编码器的复杂度也作为 其中一项指标参与到训练的过程中,作为损失函数的约束项;在损失函数后加入了基于权 重衰减的正则项,以提升堆叠降噪自动编码器的泛化效果以避免过拟合,并采用
Figure DEST_PATH_IMAGE029
Figure DEST_PATH_IMAGE030
的交 叉熵
Figure DEST_PATH_IMAGE031
作为损失函数,进一步增强堆叠降噪自动编码器的鲁棒性。
进一步地,在云环境中,不同的用户提交的任务的要求也各不相同,有的倾向于在最短时间内完成,有的只需要保障任务在一段时间内完成即可。针对完成期限比较长的任务,可以考虑将它们分配到性能较弱的虚拟机上去执行,性能较强的虚拟机优先保障完成时限短的任务,这样可以尽可能地保障所有用户的利益。传统的调度方法要求整个云计算环境中的所有的实体满足单一的QoS约束目标,这往往无法满足真实云计算环境的需求。
本发明提出了一种基于堆叠降噪自动编码器的QoS服务能力发现方法,来构建目标函数中的QoS约束条件。自动编码器是一种无监督的神经网络模型,其基本思想就是使编码层(隐藏层)学习到输入数据的隐含特征,学习到的新特征同时可以经过解码层重构出原始输入数据。因此自动编码器进行特征降维以及特征学习的工作。
堆叠降噪自动编码器(SDAE)是在自动编码器基础上做的改进,其目的是为了学习更为鲁棒的特征;除了常规的编码阶段和解码阶段外,降噪自动编码器在编码之前先对数据信息进行随机的损坏处理,而损坏处理的主要是向原始输入数据中加入噪声;通过向训练数据中加入噪声,并使得编码器学会去除这种噪声来获得未被污染过的真实输入;因此,这就迫使编码器学习并提取到输入数据中鲁棒性更强的特征。
在云任务执行的过程中,当云任务的响应时间
Figure DEST_PATH_IMAGE032
过长时,会造成SLA violation的现象;在训练堆叠降噪自动编码器的过程中,将虚拟机的参数集合组成的高维 矩阵作为堆叠降噪自动编码器网络输入层的数据,并通过堆叠降噪自动编码器将对高维矩 阵进行降维与数据重构,得到优化后的QoS特征信息;
虚拟机的参数集合包括云任务响应时间、队列长度、虚拟机CPU利用率、带宽、CPU 数量、内存大小、内存占用率、虚拟机迁移次数、虚拟机迁移时间开销、虚拟机上一时刻的 SLA违反率;当数据中心内有
Figure DEST_PATH_IMAGE033
台虚拟机处于启动状态时,在每一个调度周期间隔内,虚拟机 的参数集合会构成
Figure DEST_PATH_IMAGE034
的高维矩阵
Figure DEST_PATH_IMAGE035
堆叠降噪自动编码器的网络结构包括输入层、损坏输入层、隐藏层以及输出层;除 了传统的编码阶段和解码阶段,堆叠降噪自动编码器在对编码之前的数据执行随机损坏处 理,目的是将噪声添加到训练数据中,从而迫使编码器从输入层数据中学习并提取更好的 QoS特征信息;令
Figure DEST_PATH_IMAGE036
表示原始输入数据样本,
Figure DEST_PATH_IMAGE037
表示加入了高斯噪声之后的损坏数据,
Figure DEST_PATH_IMAGE038
Figure DEST_PATH_IMAGE039
分别代表编码器和解码器的权重,
Figure DEST_PATH_IMAGE040
Figure DEST_PATH_IMAGE041
代表偏置项,堆叠降噪自动编码器(SDAE)的 编码函数对原始输入进行编码,得到新的特征表征
Figure DEST_PATH_IMAGE042
,编码过程如下所示:
Figure DEST_PATH_IMAGE043
其中
Figure DEST_PATH_IMAGE044
是sigmoid函数,
Figure DEST_PATH_IMAGE045
,它被用来作为非 线性确定性的映射;类似地,解码函数将来自隐藏层的表征
Figure DEST_PATH_IMAGE046
输入重构为原始输入
Figure DEST_PATH_IMAGE047
,解码过程如下所示:
Figure DEST_PATH_IMAGE048
训练堆叠降噪自动编码器的目的是优化参数集合
Figure DEST_PATH_IMAGE049
以最小化
Figure DEST_PATH_IMAGE050
之间的重构误差;令
Figure DEST_PATH_IMAGE051
代表堆叠降噪自动编码器(SDAE)的损失函数,降噪自动编码 器的优化目标函数
Figure DEST_PATH_IMAGE052
可以表示为:
Figure DEST_PATH_IMAGE053
在最小化损失函数的过程中,同时需要考虑到堆叠降噪自动编码器的复杂度,过于复杂的模型容易导致过拟合,因此将模型的复杂度也作为其中一项指标参与到训练的过程中,进而约束模型;在损失函数后加入基于权重衰减的正则项(L2 Norm),以提升模型的泛化效果以避免过拟合;权重衰减是放在正则项前的系数,可以调节模型复杂度对损失函数的影响;
采用
Figure DEST_PATH_IMAGE054
Figure DEST_PATH_IMAGE055
的交叉熵
Figure DEST_PATH_IMAGE056
作为损失函数;
Figure DEST_PATH_IMAGE057
;其中
Figure DEST_PATH_IMAGE058
为堆叠降噪 自动编码器在第j个时间片时,第i个样本的权重向量的平方损失函数值,其中,
Figure DEST_PATH_IMAGE059
T为时间片的总数;
Figure DEST_PATH_IMAGE060
,D为堆叠降噪自动编码器输入层的样本总数;
Figure DEST_PATH_IMAGE061
是正则项的 权重调节系数;
Figure DEST_PATH_IMAGE062
;由此得到最终的损失函数如下所示:
Figure DEST_PATH_IMAGE063
其中交叉熵损失函数
Figure DEST_PATH_IMAGE064
可表示为:
Figure DEST_PATH_IMAGE065
根据上式,堆叠降噪自动编码器的损失优化函数可表示为:
Figure DEST_PATH_IMAGE066
上述目标函数的优化可以通过使用拟牛顿法进行求解,用于估计参数
Figure DEST_PATH_IMAGE067
, 通过使用求得的估计参数作为堆叠降噪自动编码器网络模型的参数,可以得到反应虚拟机 QoS特征信息的低维矩阵
Figure DEST_PATH_IMAGE068
以云任务的最大响应时间
Figure DEST_PATH_IMAGE069
作为数据中心服务质量的评估标准;令
Figure DEST_PATH_IMAGE070
表 示虚拟机(VM)的最大响应时间;
Figure DEST_PATH_IMAGE071
表示服务水平协议(SLA)指定的最大响应时间;
Figure DEST_PATH_IMAGE072
表 示堆叠降噪自动编码器(SDAE)通过当前虚拟机(VM)的QoS特征信息矩阵
Figure 663342DEST_PATH_IMAGE068
Figure DEST_PATH_IMAGE073
的余弦相 似度计算出在该虚拟机上的云任务最大响应时间;为了确保云任务的服务质量,
Figure DEST_PATH_IMAGE074
应 该小于
Figure DEST_PATH_IMAGE075
Figure 803121DEST_PATH_IMAGE073
之间的最小值;因此,总体的协同优化目标函数可以写为:
Figure DEST_PATH_IMAGE076
Figure DEST_PATH_IMAGE077
Figure DEST_PATH_IMAGE078
Figure DEST_PATH_IMAGE079
进一步地,步骤S3中,利用李雅普诺夫(Lyapunov)优化理论对云任务到达排队模型的队列长度进行分析,并利用QoS特征信息对当前时刻的云任务执行时间进行拟合,改善数据中心资源调度的时间约束条件;
Figure DEST_PATH_IMAGE080
时,资源调度算法应最大程度地减少虚拟机(VM)的非空任务队列的数 量,以减少数据中心产生的能耗;与此同时,当
Figure DEST_PATH_IMAGE081
时,云任务队列 的长度应保持足够地大,优先使得虚拟机的利用率尽可能地处于满载状态,优先使得虚拟 机的利用率尽可能地处于满载状态,以便使得虚拟机的处理能力得到充分的释放。
进一步地,李雅普诺夫(Lyapunov)方程常用来分析排队模型的稳定性,李雅普诺夫(Lyapunov)方程表达式可表达为如下的形式:
Figure DEST_PATH_IMAGE082
其中
Figure DEST_PATH_IMAGE083
是第j个时间片中第k个虚拟机的队列长度,
Figure DEST_PATH_IMAGE085
是第j个时间片中堆 叠降噪自动编码器的优化目标函数的取值;
Figure DEST_PATH_IMAGE087
为在第j个时间片中堆叠降噪自动编码器 的优化目标函数的李雅普诺夫方程取值,
Figure DEST_PATH_IMAGE088
T为时间片的总数,
Figure DEST_PATH_IMAGE089
N为当前数据中心可用虚拟机的最大数量,在每个时间片
Figure DEST_PATH_IMAGE090
内,李雅普诺夫漂移函数定义为 如下形式:
Figure DEST_PATH_IMAGE091
为了能够在云计算波动的环境下依然保持云任务队列的稳定性,公式(12)的结果 应收敛,漂移值
Figure DEST_PATH_IMAGE092
的最终结果取值越小便说明云任务队列越稳定;
在保证云任务服务质量的前提下,为了使物理主机的能源消耗得到进一步地降低,也就是令虚拟机排队模型中运行的虚拟机数量降至最低;协同优化问题的目标函数可以重写为:
Figure DEST_PATH_IMAGE093
其中V是单位转换系数,其作用是将能源消耗量转换为相应的云任务队列长度单位;根据李雅普诺夫优化方法,数据中心的资源调度协同优化目标函数从公式(13)中得到:
Figure DEST_PATH_IMAGE094
该函数的求解过程如下所示:
Figure DEST_PATH_IMAGE095
对公式(15)进行变形转换,得到如下形式的等效公式:
Figure DEST_PATH_IMAGE096
其中
Figure DEST_PATH_IMAGE097
是第
Figure DEST_PATH_IMAGE098
个虚拟机的李雅普诺夫漂移加罚函数的惩罚值,公式(16)的第一个 解为:
Figure DEST_PATH_IMAGE099
Figure DEST_PATH_IMAGE100
时,公式(16)通过一元二次方程式求解得结果:
Figure DEST_PATH_IMAGE101
如公式(18)所示,
Figure DEST_PATH_IMAGE102
;当
Figure 208904DEST_PATH_IMAGE100
时,资源调度算法 必须要满足如下条件:
Figure DEST_PATH_IMAGE103
;因此当
Figure DEST_PATH_IMAGE104
时,资源调度算法应最大 程度地减少VM的非空任务队列的数量;与此同时,当
Figure DEST_PATH_IMAGE105
时,资源 调度算法将优先使得虚拟机地利用率趋于或处于满载状态,以便使得虚拟机的处理能力得 到充分的释放。
进一步地,基于李雅普诺夫(Lyapunov)优化理论的资源调度算法在云环境的每个预设调度周期由数据中心执行,资源调度算法的执行过程如下:
若有
Figure DEST_PATH_IMAGE106
个云任务在该周期内到达数据中心,
Figure DEST_PATH_IMAGE107
为云任务的最大响应时间,
Figure DEST_PATH_IMAGE108
虚拟机
Figure DEST_PATH_IMAGE109
的处理能力,
Figure DEST_PATH_IMAGE110
为虚拟机
Figure 729561DEST_PATH_IMAGE109
的当前云任务排队队列长度;首先针对当前的 云任务排队队列
Figure DEST_PATH_IMAGE111
,找到队列长度最短的队列
Figure 240696DEST_PATH_IMAGE110
;如果
Figure DEST_PATH_IMAGE112
,则:
Figure DEST_PATH_IMAGE113
Figure DEST_PATH_IMAGE114
其中
Figure DEST_PATH_IMAGE115
为当前待处理的云任务数目,
Figure DEST_PATH_IMAGE116
为可由虚拟机
Figure DEST_PATH_IMAGE117
进行处理的云任 务数目;
如果
Figure DEST_PATH_IMAGE118
,则令
Figure DEST_PATH_IMAGE119
;并将已被分配给虚拟 机的队列从
Figure DEST_PATH_IMAGE120
中移除,并重复上述步骤直至云任务排队队列长 度为0;资源调度算法是将具有非空队列的虚拟机的资源利用率按升序排列,以便在具有非 空队列的虚拟机中,选择满足李雅普诺夫优化条件的队列的虚拟机进行迁移,使得利用率 最低的虚拟机达到最大资源利用率极限,资源调度算法可以实现资源的平衡利用并减少超 载主机的数量。
与现有技术相比,本发明具有如下的优点与技术效果:
1.提出了一种云计算环境下能耗与QoS协同优化的资源调度框架,能够在保障用户QoS的前提下最小化数据中心产生的能耗,并将协同优化问题的求解具体到了每一个时间片内,可以更为高效地应对云任务到达的波动性引发的能效问题。
2.构建了一个多虚拟机的云任务到达排队模型,该模型将主机排队模型与虚拟机排队模型以M/M/∞ + M/M/C/N的排队结构串联在一起,可以提升云任务到达数据中心后进行调度分配的效率。
3.提出了高效的数据中心QoS特征提取方法,通过堆叠降噪编码器的鲁棒性挖掘出更多影响数据中心QoS的特征信息,并拟合得到当前时刻的云任务执行时间,完全数据中心资源调度的时间约束条件。
4.提出了一种可以充分发挥虚拟机的处理能力的李雅普诺夫优化方法,该方法结合排队模型、深度降噪自动编码器网络与李雅普诺夫(Lyapunov)稳定性理论相结合,并给出了基于李雅普诺夫(Lyapunov)优化理论的资源调度算法,可以在保障QoS的同时有效地降低数据中心的能耗,并大幅优化数据中心调度的总时间开销。
附图说明
图1为本发明实施例中云计算平台协同优化框架图;
图2为本发明实施例中数据中心基于降噪自动编码器的QoS特征提取框架图。
具体实施方式
在下面的描述中结合具体图示阐述了技术方案以便充分理解本发明申请。但是本发申请能够以很多不同于在此描述的的其他方法来实施,本领域普通技术人员在没有作出创造性劳动前提下所做的类似实施例,都属于本发明保护的范围。
在本说明书中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语,这些术语仅用与区别类似的对象,不必用于本说明书一个或多个实施例所描述特征的先后顺序或次序。此外,术语“具备”、“包含”以此相似表达,意图在于说明覆盖不排它的一个范围,例如,包含了一系列的步骤或者模块的过程、方法、***、产品或设备不必限于详细列出的内容,而是可包括没有列出的对于这些步骤或模块所涉及的固有内容。
实施例:
一种基于能耗与QoS协同优化的资源调度实现方法,包括以下步骤:
S1、在云计算数据中心环境下构建多虚拟机(VM)的云任务到达排队模型;
如图1所示,所述云任务到达排队模型由主机排队模型和虚拟机(VM)排队模型串联组成,用于优化虚拟机云任务队列积压长度与***能耗之间的关系;
主机排队模型中,云任务被提交到数据中心之后,数据中心会采用最少负载 (least loaded)准则的负载均衡策略,将云任务优先分配给云任务请求未完成数量最少的 主机,并由此构成云任务到达间隔时间为指数分布、云任务执行时间为指数分布的排队模 型(
Figure DEST_PATH_IMAGE121
排队模型);
虚拟机(VM)排队模型中,每一个虚拟机(VM)实例都构成了一个云任务到达间隔时 间为指数分布、云任务执行时间为指数分布,虚拟机数量为
Figure DEST_PATH_IMAGE122
,虚拟机容量为
Figure DEST_PATH_IMAGE123
的排队模型(
Figure DEST_PATH_IMAGE124
排队模型),云任务首先经过主机排队模型的分配后被数据中心提交至虚拟机排 队模型中,然后以先到先服务(FCFS)的方式进行处理。
当云任务进入主机排队模型时,如果主机上至少有一个可用虚拟机(VM),数据中心则将该云任务分配至当前处于空闲状态的虚拟机(VM)上执行;当主机上所有的虚拟机都已被云任务占用满载时,新到达的云任务将会进入虚拟机排队模型的队列缓冲区内,队列缓冲区是一个专门存放等候被执行的云任务的先进先出(FIFO)队列;当有云任务执行完毕离开某个虚拟机(VM)后,数据中心会将位于队列缓冲区头部的云任务分配给此虚拟机(VM);当云任务获得对虚拟机(VM)的访问权限后,可立即向其提供云服务;
将数据中心的运行时间视为由成若干个连续时间片所组成,每个时间片的长度定 义为t;因此在时隙t内,单个虚拟机的排队模型(
Figure 792938DEST_PATH_IMAGE124
排队模型)通过以下公式进行定 义:
Figure DEST_PATH_IMAGE125
其中,
Figure DEST_PATH_IMAGE126
Figure DEST_PATH_IMAGE127
是第j个和第j+1个时间片中第k个虚拟机(VM)的队列长度;
Figure DEST_PATH_IMAGE128
表示在第j个时间片
Figure 954740DEST_PATH_IMAGE010
中第k个虚拟机
Figure DEST_PATH_IMAGE129
处理的云任务数;
Figure DEST_PATH_IMAGE130
是第j个时间片
Figure 684544DEST_PATH_IMAGE010
中第k个 虚拟机
Figure DEST_PATH_IMAGE131
队列中的云任务数量;当
Figure DEST_PATH_IMAGE132
时,虚拟机(VM)中的队列长度小于其处理 能力
Figure 575881DEST_PATH_IMAGE128
,虚拟机(VM)的队列长度可以达到最小值0;
虚拟机(VM)排队模型的长度会直接影响数据中心中主机的运行状态;主机的运行状态可以分为以下两类:
1)活跃状态:主机上虚拟机(VM)的云任务队列不为空,云任务正在等待被处理;
2)空闲状态:主机上虚拟机(VM)的云任务队列为空,处于空闲状态的主机可被视为处于睡眠模式,且处于低功耗状态,通常而言,处于空闲状态下主机产生的功耗为一恒定值;
因此数据中心的功耗模型可以描述为如下形式:
Figure DEST_PATH_IMAGE133
式中,
Figure DEST_PATH_IMAGE134
表示当前数据中心的总体能源功耗量,其中能耗等式右侧的第一项表示当 前处于活动状态的物理主机产生的总功耗;p是运行中的物理主机的数量,
Figure DEST_PATH_IMAGE135
是第
Figure DEST_PATH_IMAGE136
个处于 活动状态的物理主机的功耗;q是处于空闲状态的物理主机的数量,
Figure DEST_PATH_IMAGE137
是第
Figure DEST_PATH_IMAGE138
个处于空闲状态 的物理主机的功耗;空闲状态下的功耗可以看作是一个常量;M是当前数据中心可用虚拟机 (VM)的最大数量;
当资源利用率较高时,处于空闲状态的物理主机数量较少,功耗也较小;由此公式(2)可以以如下形式表示:
Figure DEST_PATH_IMAGE139
Figure 957228DEST_PATH_IMAGE022
其中
Figure DEST_PATH_IMAGE140
为第
Figure DEST_PATH_IMAGE141
个处于活动状态的物理主机的功耗,
Figure DEST_PATH_IMAGE142
Figure DEST_PATH_IMAGE143
为空闲状态下主 机的恒定功耗常量。
S2、利用堆叠降噪自动编码器技术对数据中心的QoS特征进行提取,得到降维后描述QoS特征信息的矩阵,通过该矩阵求得当前的虚拟机的最大响应时间,以完善协同优化目标函数的约束条件;
利用堆叠降噪自动编码器技术对数据中心中的虚拟机的资源占用历史数据进行处理,通过堆叠降噪编码器的鲁棒性提取出影响数据中心QoS指标的特征信息;
利用由虚拟机的参数集合组成的高维矩阵作为网络输入层的数据,并构建堆叠降噪自动编码器的目标函数,通过目标函数将对所述高维矩阵进行降维与数据重构,得到优化后的特征;
在最小化编码器损失函数的过程中,同时将堆叠降噪自动编码器的复杂度也作为 其中一项指标参与到训练的过程中,作为损失函数的约束项;在损失函数后加入了基于权 重衰减的正则项,以提升堆叠降噪自动编码器的泛化效果以避免过拟合,并采用
Figure 74847DEST_PATH_IMAGE029
Figure DEST_PATH_IMAGE144
的交 叉熵
Figure DEST_PATH_IMAGE145
作为损失函数,进一步增强堆叠降噪自动编码器的鲁棒性。
在云任务执行的过程中,当云任务的响应时间
Figure 914616DEST_PATH_IMAGE032
过长时,会造成SLA violation的现象;在训练堆叠降噪自动编码器的过程中,将虚拟机的参数集合组成的高维 矩阵作为堆叠降噪自动编码器网络输入层的数据,并通过堆叠降噪自动编码器将对高维矩 阵进行降维与数据重构,得到优化后的QoS特征信息;
虚拟机的参数集合包括云任务响应时间、队列长度、虚拟机CPU利用率、带宽、CPU 数量、内存大小、内存占用率、虚拟机迁移次数、虚拟机迁移时间开销、虚拟机上一时刻的 SLA违反率;当数据中心内有
Figure 159392DEST_PATH_IMAGE033
台虚拟机处于启动状态时,在每一个调度周期间隔内,虚拟机 的参数集合会构成
Figure DEST_PATH_IMAGE146
的高维矩阵
Figure DEST_PATH_IMAGE147
堆叠降噪自动编码器的结构如图2所示,该编码器的网络结构包括输入层、损坏输 入层、隐藏层以及输出层;除了传统的编码阶段和解码阶段,堆叠降噪自动编码器在对编码 之前的数据执行随机损坏处理,目的是将噪声添加到训练数据中,从而迫使编码器从输入 层数据中学习并提取更好的QoS特征信息;令
Figure DEST_PATH_IMAGE148
表示原始输入数据样本,
Figure DEST_PATH_IMAGE149
表示加入了高斯 噪声之后的损坏数据,W1和W2分别代表编码器和解码器的权重,
Figure DEST_PATH_IMAGE150
Figure DEST_PATH_IMAGE151
代表偏置项,堆叠降 噪自动编码器(SDAE)的编码函数对原始输入进行编码,得到新的特征表征,编码过程如下 所示:
Figure 634903DEST_PATH_IMAGE043
其中
Figure DEST_PATH_IMAGE152
是sigmoid函数,
Figure DEST_PATH_IMAGE153
,它被用来作为非线 性确定性的映射;类似地,解码函数将来自隐藏层的表征输入重构为原始输入,解码过程如 下所示:
Figure 625835DEST_PATH_IMAGE048
训练堆叠降噪自动编码器的目的是优化参数集合
Figure DEST_PATH_IMAGE154
以最小化
Figure DEST_PATH_IMAGE155
之间的重构误差;令
Figure DEST_PATH_IMAGE156
代表堆叠降噪自动编码器(SDAE)的损失函数,降噪自动编 码器的优化目标函数
Figure DEST_PATH_IMAGE157
可以表示为:
Figure 783150DEST_PATH_IMAGE053
在最小化损失函数的过程中,同时需要考虑到堆叠降噪自动编码器的复杂度,过于复杂的模型容易导致过拟合,因此将模型的复杂度也作为其中一项指标参与到训练的过程中,进而约束模型;在损失函数后加入基于权重衰减的正则项(L2 Norm),以提升模型的泛化效果以避免过拟合;权重衰减是放在正则项前的系数,可以调节模型复杂度对损失函数的影响;
采用
Figure DEST_PATH_IMAGE158
Figure DEST_PATH_IMAGE159
的交叉熵
Figure DEST_PATH_IMAGE160
作为损失函数;
Figure DEST_PATH_IMAGE161
Figure DEST_PATH_IMAGE162
是正则项的权重调 节系数;
Figure DEST_PATH_IMAGE163
;由此可以得到最终的损失函数如下所示:
Figure 88915DEST_PATH_IMAGE063
其中交叉熵损失函数
Figure 410834DEST_PATH_IMAGE145
可表示为:
Figure DEST_PATH_IMAGE164
根据上式,堆叠降噪自动编码器的损失优化函数可表示为:
Figure DEST_PATH_IMAGE165
上述目标函数的优化可以通过使用拟牛顿法进行求解,本实施例中,使用了基于 线性搜索的拟牛顿优化算法用于估计参数
Figure DEST_PATH_IMAGE166
,通过使用求得的估计参数 作为堆叠降噪自动编码器网络模型的参数,可以得到反应虚拟机QoS特征信息的低维矩阵
Figure 268029DEST_PATH_IMAGE068
以云任务的最大响应时间
Figure DEST_PATH_IMAGE167
作为数据中心服务质量的评估标准;令
Figure DEST_PATH_IMAGE168
表 示虚拟机(VM)的最大响应时间;
Figure DEST_PATH_IMAGE169
表示服务水平协议(SLA)指定的最大响应时间;
Figure DEST_PATH_IMAGE170
表 示堆叠降噪自动编码器(SDAE)通过当前虚拟机(VM)的QoS特征信息矩阵
Figure DEST_PATH_IMAGE171
Figure DEST_PATH_IMAGE172
的余弦相 似度计算出在该虚拟机上的云任务最大响应时间;为了确保云任务的服务质量,
Figure DEST_PATH_IMAGE173
应 该小于
Figure DEST_PATH_IMAGE174
Figure DEST_PATH_IMAGE175
之间的最小值;因此,总体的协同优化目标函数可以写为:
Figure DEST_PATH_IMAGE176
Figure 763413DEST_PATH_IMAGE077
Figure 844690DEST_PATH_IMAGE078
Figure 811020DEST_PATH_IMAGE079
S3、结合云任务到达排队模型、协同优化目标函数和李雅普诺夫(Lyapunov)优化方法,求得满足能耗与QoS优化调度的虚拟机应该具备的云任务队列长度条件,得到基于李雅普诺夫(Lyapunov)优化理论的资源调度算法,采用资源调度算法将能耗与QoS协同优化的资源调度问题具体到每一个时间片内进行求解,实现基于能耗与QoS协同优化的资源调度。
利用李雅普诺夫(Lyapunov)优化理论对云任务到达排队模型的队列长度进行分析,并利用QoS特征信息对当前时刻的云任务执行时间进行拟合,改善数据中心资源调度的时间约束条件;
Figure DEST_PATH_IMAGE177
时,资源调度算法应最大程度地减少虚拟机(VM)的非空任务队列的 数量,以减少数据中心产生的能耗;与此同时,当
Figure 172221DEST_PATH_IMAGE081
时,云任务队 列的长度应保持足够地大,优先使得虚拟机的利用率尽可能地处于满载状态,以便使得虚 拟机的处理能力得到充分的释放。
李雅普诺夫(Lyapunov)方程常用来分析排队模型的稳定性,李雅普诺夫(Lyapunov)方程表达式可表达为如下的形式:
Figure 207090DEST_PATH_IMAGE082
其中在每个时间片
Figure DEST_PATH_IMAGE178
内,李雅普诺夫(Lyapunov)漂移函数可以定义为如下形式:
Figure DEST_PATH_IMAGE179
为了能够在云计算波动的环境下依然保持云任务队列的稳定性,公式(12)的结果 应收敛,漂移值
Figure DEST_PATH_IMAGE180
的最终结果取值越小便说明云任务队列越稳定;本实施例中,首先证 明在公式(10)的条件下云任务队列模型的稳定性,即可使得公式(12)的最大值可收敛;通 过公式(12)可以得到如下表达式:
Figure DEST_PATH_IMAGE181
基于以下的不等式关系:
Figure DEST_PATH_IMAGE182
Figure DEST_PATH_IMAGE183
虚拟机可容纳的最大云任务队列长度可以表示为如下形式:
Figure DEST_PATH_IMAGE184
其中t表示单个云任务的执行时间;整合上述公式,当需满足协同优化目标函数的约束条件时,虚拟机上调度的云任务数量需满足以下条件:
Figure DEST_PATH_IMAGE185
因此,公式(13)可重写为以下的形式:
Figure DEST_PATH_IMAGE186
公式(17)不等号右边的第一项为一个常数项;第二项为凸二次函数,表示该函数可取得一个有限的最大值;因此,证明李雅普诺夫(Lyapunov)漂移函数在公式(10)的条件约束下可以令云计算环境保持稳定性。
在保证云任务服务质量的前提下,为了使物理主机的能源消耗得到进一步地降低,也就是令虚拟机排队模型中运行的虚拟机数量降至最低;协同优化问题的目标函数可以重写为:
Figure DEST_PATH_IMAGE187
Figure DEST_PATH_IMAGE188
其中V是单位转换系数,其作用是将能源消耗量转换为相应的云任务队列长度单位;根据李雅普诺夫(Lyapunov)优化方法,数据中心的资源调度目标优化函数可以从公式(18)中得到:
Figure DEST_PATH_IMAGE189
优化函数的求解过程如下所示:
Figure DEST_PATH_IMAGE190
对公式(20)进行变形转换,可以得到如下形式的等效公式:
Figure DEST_PATH_IMAGE191
其中
Figure DEST_PATH_IMAGE192
是李雅普诺夫(Lyapunov)漂移加罚函数的惩罚值,公式(21)的第一个解 为:
Figure DEST_PATH_IMAGE193
Figure DEST_PATH_IMAGE194
时,公式(21)可通过一元二次方程式求解得结果:
Figure DEST_PATH_IMAGE195
如公式(23)所示,
Figure DEST_PATH_IMAGE196
;当
Figure DEST_PATH_IMAGE197
时,资源调度算法必须 要满足如下条件:
Figure DEST_PATH_IMAGE198
;因此可得当
Figure DEST_PATH_IMAGE199
时,资源调度算法应 最大程度地减少VM的非空任务队列的数量,以减少数据中心产生的能耗;与此同时,当
Figure 745747DEST_PATH_IMAGE081
时,资源调度算法将优先使得虚拟机地利用率尽可能地处于 满载状态,,以便使得虚拟机的处理能力得到充分的释放。
基于李雅普诺夫(Lyapunov)优化理论的资源调度算法在云环境的每个预设调度周期由数据中心执行,资源调度算法的执行过程如下:
若有
Figure 911406DEST_PATH_IMAGE106
个云任务在该周期内到达数据中心,
Figure DEST_PATH_IMAGE200
为云任务的最大响应时间,
Figure DEST_PATH_IMAGE201
虚拟机
Figure DEST_PATH_IMAGE202
的处理能力,
Figure DEST_PATH_IMAGE203
为虚拟机
Figure DEST_PATH_IMAGE204
的当前云任务排队队列长度;首先针对当前的云任务 排队队列
Figure DEST_PATH_IMAGE205
,找到队列长度最短的队列
Figure DEST_PATH_IMAGE206
;如果
Figure DEST_PATH_IMAGE207
,则:
Figure DEST_PATH_IMAGE208
Figure DEST_PATH_IMAGE209
其中
Figure DEST_PATH_IMAGE210
为当前待处理的云任务数目,
Figure DEST_PATH_IMAGE211
为可由虚拟机
Figure 263641DEST_PATH_IMAGE117
进行处理的云任务 数目;
如果
Figure DEST_PATH_IMAGE212
,则令
Figure DEST_PATH_IMAGE213
;并将已被分配给虚拟 机的队列从
Figure 709379DEST_PATH_IMAGE205
中移除,并重复上述步骤直至队列长度为0;资源 调度算法是将具有非空队列的虚拟机的资源利用率按升序排列,以便在具有非空队列的虚 拟机中,选择满足李雅普诺夫优化条件的队列的虚拟机进行迁移,使得利用率最低的虚拟 机达到最大资源利用率极限,资源调度算法可以实现资源的平衡利用并减少超载主机的数 量。
本实施例中,设有
Figure DEST_PATH_IMAGE214
个虚拟机,令
Figure DEST_PATH_IMAGE215
表示通过在每个时间片t上执行漂移加罚函 数获得的策略,
Figure DEST_PATH_IMAGE216
表示单位转换系数,用于将***能耗转换为相应的云任务队列长度单位;
Figure DEST_PATH_IMAGE217
Figure DEST_PATH_IMAGE218
分别表示通过执行漂移加罚函数获得的李雅普诺夫(Lyapunov)漂移值和罚 值;通过分析协同优化目标函数,可以得出以下方程式:
Figure DEST_PATH_IMAGE219
其中,
Figure DEST_PATH_IMAGE220
是时间片
Figure DEST_PATH_IMAGE221
中第
Figure DEST_PATH_IMAGE222
个虚拟机的队列长度,
Figure DEST_PATH_IMAGE223
为时间片
Figure DEST_PATH_IMAGE224
时第k个虚 拟机漂移值,
Figure DEST_PATH_IMAGE225
为第k个虚拟机的漂移值与漂移策略的映射函数,
Figure DEST_PATH_IMAGE226
为常量,
Figure DEST_PATH_IMAGE227
Figure DEST_PATH_IMAGE228
为t时刻堆叠降噪自动编码器的参数集;
同时对公式的两边取期望值,根据期望的标准计算方式,可以得到:
Figure DEST_PATH_IMAGE229
由于拟牛顿法求解得到的是最优解的近似值,故
Figure DEST_PATH_IMAGE230
为执行漂移加罚函数获得的 最优估计策略,
Figure DEST_PATH_IMAGE231
为常量,函数E为期望值的求解函数。
根据以上推导结论对时间片进行累加,可以得到:
Figure DEST_PATH_IMAGE232
其中
Figure DEST_PATH_IMAGE233
为李雅普诺夫漂移加罚函数惩罚值的估计值,
Figure DEST_PATH_IMAGE234
为时间片的总数,
Figure DEST_PATH_IMAGE235
为在时间片T时优化目标函数
Figure DEST_PATH_IMAGE236
的李雅普诺夫方程取值,
Figure DEST_PATH_IMAGE237
为在t时刻堆叠降噪自动编码 器的优化目标函数
Figure 391880DEST_PATH_IMAGE236
的取值。因为L(Θ(T))≥0,可以求得:
Figure DEST_PATH_IMAGE238
观察公式的右端,可以发现只有一个可调参数V,其余为固定值;因此,对于以上公式,云环境能耗的目标优化函数可以表示为:
Figure DEST_PATH_IMAGE239
其中
Figure DEST_PATH_IMAGE240
为能耗与转换系数V之间的映射函数;
类似地,分析云任务队列的平均长度,可以获得以下不等式:
Figure DEST_PATH_IMAGE242
在上述的公式中,
Figure DEST_PATH_IMAGE243
代表计算云任务队列平均长度时根据实施例中公式(17)常数 项求得的常量,
Figure 100923DEST_PATH_IMAGE244
代表李雅普诺夫期望值与罚值伸缩系数,
Figure DEST_PATH_IMAGE245
代表执行漂移加罚函数 后取得的最大罚值,
Figure 28207DEST_PATH_IMAGE246
代表执行漂移加罚函数后取得的最小罚值;
V作为唯一的变量参数确定云任务队列积压长度的大小;V确定原始问题的时间平均约束收敛到非负数的速度;因此,平均持续时间的云任务队列积压长度可以用O(V)表示;根据以上分析得出的结论,很明显,单位转换系数V对云***的能耗优化和云任务队列积压的长度具有相反的影响;这说明了算法执行时间(迭代次数)和算法效率(求解精度)之间存在着[O(V),O(1/V)]的折衷关系。由于该李雅普诺夫(Lyapunov)优化方法属于无模型学习范畴,优化问题可以在每个独立的时间片内求解完成,因此也证明了通过该方法能够充分发挥虚拟机的处理能力,可以在保障QoS的同时有效地降低数据中心的能耗,并能大大减少数据中心调度的时间开销。
上述流程为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (4)

1.一种基于能耗与QoS协同优化的资源调度实现方法,其特征在于,包括以下步骤:
S1、在云计算数据中心环境下构建多虚拟机的云任务到达排队模型;所述云任务到达排队模型由主机排队模型和虚拟机排队模型串联组成,用于优化虚拟机云任务队列积压长度与***能耗之间的关系;
主机排队模型中,云任务被提交到数据中心之后,数据中心会采用最少负载准则的负载均衡策略,将云任务优先分配给云任务请求未完成数量最少的主机,并由此构成云任务到达间隔时间为指数分布、云任务执行时间为指数分布的排队模型;虚拟机排队模型中,每一个虚拟机实例都构成了一个云任务到达间隔时间为指数分布、云任务执行时间为指数分布,虚拟机数量为C,虚拟机容量为N的排队模型,云任务首先经过主机排队模型的分配后被数据中心提交至虚拟机排队模型中,然后以先到先服务的方式进行处理;当云任务进入主机排队模型时,如果主机上至少有一个可用虚拟机,数据中心则将该云任务分配至当前处于空闲状态的虚拟机上执行;当主机上所有的虚拟机都已被云任务占用满载时,新到达的云任务将会进入虚拟机排队模型的队列缓冲区内,队列缓冲区是一个专门存放等候被执行的云任务的先进先出队列;当有云任务执行完毕离开某个虚拟机后,数据中心会将位于队列缓冲区头部的云任务分配给此虚拟机;当云任务获得对虚拟机的访问权限后,能立即向云任务提供云服务;在云任务执行的过程中,当云任务的响应时间Tresponse过长时,会造成SLA违规的现象;在训练堆叠降噪自动编码器的过程中,将虚拟机的参数集合组成的高维矩阵作为堆叠降噪自动编码器网络输入层的数据,并通过堆叠降噪自动编码器将对高维矩阵进行降维与数据重构,得到优化后的QoS特征信息;
虚拟机的参数集合包括云任务响应时间、队列长度、虚拟机CPU利用率、带宽、CPU数量、内存大小、内存占用率、虚拟机迁移次数、虚拟机迁移时间开销、虚拟机上一时刻的SLA违反率;当数据中心内有p台虚拟机处于启动状态时,在每一个调度周期间隔内,虚拟机的参数集合会构成p×10的高维矩阵M1
将数据中心的运行时间视为由成若干个连续时间片所组成,每个时间片的长度定义为t;因此在时隙t内,单个虚拟机的排队模型通过以下公式进行定义:
Qk(tj+1)=max{Qk(tj)-μk,0}+λk(tj); (1)
其中,Qk(tj)和Qk(tj+1)是第j个和第j+1个时间片中第k个虚拟机VMk的队列长度;μk表示在第j个时间片tj中第k个虚拟机VMk处理的云任务数;λk(tj)是第j个时间片tj中第k个虚拟机VMk队列中的云任务数量;当Qk(tj)≤μk时,虚拟机中的队列长度小于虚拟机处理能力μk,虚拟机的队列长度能达到最小值0;
虚拟机排队模型的长度会直接影响数据中心中主机的运行状态;主机的运行状态分为以下两类:
1)活跃状态:主机上虚拟机的云任务队列不为空,云任务正在等待被处理;
2)空闲状态:主机上虚拟机的云任务队列为空,处于空闲状态的主机可被视为处于睡眠模式,且处于低功耗状态,处于空闲状态下主机产生的功耗为一恒定值;
数据中心的功耗模型描述为如下形式:
Figure FDA0003371293970000021
式中,E表示当前数据中心的总体能源功耗量,其中能耗等式右侧的第一项表示当前处于活动状态的物理主机产生的总功耗;p是运行中的物理主机的数量,Pα是第α个处于活动状态的物理主机的功耗;q是处于空闲状态的物理主机的数量,Pl是第l个处于空闲状态的物理主机的功耗;空闲状态下的功耗看作是一个常量;M是当前数据中心可用虚拟机的最大数量;
公式(2)以如下形式表示:
Figure FDA0003371293970000022
Figure FDA0003371293970000023
其中Pθ为第θ个处于活动状态的物理主机的功耗,1≤θ≤M,C为空闲状态下主机的恒定功耗常量,Qθ(tj)是第j个时间片中第θ个虚拟机的队列长度;
S2、利用堆叠降噪自动编码器技术对数据中心的QoS特征进行提取,得到降维后描述QoS特征信息的矩阵,通过该矩阵求得当前的虚拟机的最大响应时间,以完善协同优化目标函数的约束条件;利用堆叠降噪自动编码器技术对数据中心中的虚拟机的资源占用历史数据进行处理,通过堆叠降噪编码器的鲁棒性提取出影响数据中心QoS指标的特征信息;
利用由虚拟机的参数集合组成的高维矩阵作为网络输入层的数据,并构建堆叠降噪自动编码器的目标函数,通过目标函数将对所述高维矩阵进行降维与数据重构,得到优化后的特征;
在编码器损失函数的最小化过程中,同时将堆叠降噪自动编码器的复杂度也作为其中一项指标参与到训练的过程中,作为损失函数的约束项;在损失函数后加入了基于权重衰减的正则项,以提升堆叠降噪自动编码器的泛化效果以避免过拟合,并采用x和
Figure FDA0003371293970000031
的交叉熵
Figure FDA0003371293970000032
作为损失函数,进一步增强堆叠降噪自动编码器的鲁棒性;堆叠降噪自动编码器的网络结构包括输入层、损坏输入层、隐藏层以及输出层;堆叠降噪自动编码器在对编码之前的数据执行随机损坏处理,将噪声添加到训练数据中,从而迫使编码器从输入层数据中学习并提取更好的QoS特征信息;令xi表示原始输入数据样本,其中1≤i≤D,且D为堆叠降噪自动编码器输入层的样本总数;
Figure FDA0003371293970000033
表示加入了高斯噪声之后的损坏数据,W1和W2分别代表编码器和解码器的权重;b1和b2代表偏置项,堆叠降噪自动编码器(SDAE)的编码函数对原始输入进行编码,得到新的特征表征
Figure FDA0003371293970000034
编码过程如下所示:
Figure FDA0003371293970000035
其中sigm(·)是sigmoid函数,sigm(x)=1/(1+exp(-x)),它被用来作为非线性确定性的映射;解码函数将来自隐藏层的表征hi输入重构为原始输入
Figure FDA0003371293970000036
解码过程如下所示:
Figure FDA0003371293970000037
训练堆叠降噪自动编码器的目的是优化参数集合Θ={W1,W2,b1,b2}以最小化xi
Figure FDA0003371293970000038
之间的重构误差;令L(Θ)代表堆叠降噪自动编码器的损失函数,降噪自动编码器的优化目标函数
Figure FDA0003371293970000039
表示为:
Figure FDA00033712939700000310
在最小化损失函数的过程中,同时考虑到堆叠降噪自动编码器的复杂度,将模型的复杂度也作为其中一项指标参与到训练的过程中,进而约束模型;在损失函数后加入基于权重衰减的正则项,以提升模型的泛化效果以避免过拟合;权重衰减是放在正则项前的系数,用于调节模型复杂度对损失函数的影响;
采用x和
Figure FDA0003371293970000041
的交叉熵
Figure FDA0003371293970000042
作为损失函数;
Figure FDA0003371293970000043
其中
Figure FDA0003371293970000044
为堆叠降噪自动编码器在第j个时间片时,第i个样本的权重向量的平方损失函数值,其中,1≤j≤T-1,T为时间片的总数;1≤i≤D,D为堆叠降噪自动编码器输入层的样本总数;γ是正则项的权重调节系数;0.001≤γ≤0.002;由此得到最终的损失函数如下所示:
Figure FDA0003371293970000045
其中交叉熵损失函数
Figure FDA0003371293970000046
可表示为:
Figure FDA0003371293970000047
根据上式,堆叠降噪自动编码器的损失优化函数可表示为:
Figure FDA0003371293970000048
通过使用拟牛顿法进行求解,用于估计参数
Figure FDA0003371293970000049
其中
Figure FDA00033712939700000410
为编码器权重的估计值,
Figure FDA00033712939700000411
为解码器权重的估计值,
Figure FDA00033712939700000412
为偏置项b1的估计值,
Figure FDA00033712939700000413
为偏置项b2的估计值,通过使用求得的估计参数作为堆叠降噪自动编码器网络模型的参数,得到反应虚拟机QoS特征信息的低维矩阵M2
以云任务的最大响应时间Tresponse作为数据中心服务质量的评估标准;令Tmax表示云任务的最大响应时间;TSLA表示服务水平协议指定的最大响应时间;TDAE表示堆叠降噪自动编码器通过当前虚拟机的QoS特征信息矩阵M2与TSLA的余弦相似度计算出在该虚拟机上的云任务最大响应时间;Tresponse小于TDAE和TSLA之间的最小值;总体的协同优化目标函数如下:
Figure FDA00033712939700000414
Figure FDA00033712939700000415
Tresponse<Tmax
Tmax=min(TDAE,TSLA) (10);
S3、结合云任务到达排队模型、协同优化目标优化函数和李雅普诺夫优化方法,求得满足能耗与QoS优化调度的虚拟机应该具备的云任务队列长度条件,得到基于李雅普诺夫优化理论的资源调度算法,采用资源调度算法将能耗与QoS协同优化的资源调度问题具体到每一个时间片内进行求解,实现基于能耗与QoS协同优化的资源调度。
2.根据权利要求1所述的一种基于能耗与QoS协同优化的资源调度实现方法,其特征在于,步骤S3中,利用李雅普诺夫优化理论对云任务到达排队模型的队列长度进行分析,并利用QoS特征信息对当前时刻的云任务执行时间进行拟合,改善数据中心资源调度的时间约束条件;
当Qk(tj)=0时,资源调度算法应最大程度地减少虚拟机的非空任务队列的数量,以减少数据中心产生的能耗;与此同时,当Qk max(tj)=Qk(tj)+μk时,云任务队列的长度应保持足够地大,以便使得虚拟机的处理能力得到充分的释放。
3.根据权利要求2所述的一种基于能耗与QoS协同优化的资源调度实现方法,其特征在于,李雅普诺夫方程表达为如下的形式:
Figure FDA0003371293970000051
其中Qk(tj)是第j个时间片中第k个虚拟机的队列长度,Θ(tj)是第j个时间片中堆叠降噪自动编码器的优化目标函数的取值;
Figure FDA0003371293970000052
为在第j个时间片中堆叠降噪自动编码器的优化目标函数的李雅普诺夫方程取值,1≤j≤T-1,T为时间片的总数,1≤k≤N,N为当前数据中心可用虚拟机的最大数量,在每个时间片tj内,李雅普诺夫漂移函数定义为如下形式:
Figure FDA0003371293970000053
其中,Δ(Θ(tj))为漂移值大小,在云计算波动的环境下需保持云任务队列的稳定性,公式(12)的结果应收敛,漂移值Δ(Θ(tj))的最终结果取值越小便说明云任务队列越稳定;
在保证云任务服务质量的前提下,使物理主机的能源消耗得到进一步地降低,也就是令虚拟机排队模型中运行的虚拟机数量降至最低;协同优化问题的目标函数重写为:
Figure FDA0003371293970000061
其中V是单位转换系数,其作用是将能源消耗量转换为相应的云任务队列长度单位;根据李雅普诺夫优化方法,数据中心的资源调度协同优化目标函数从公式(13)中得到:
Figure FDA0003371293970000063
该函数的求解过程如下所示:
Qk max(tj)Qk(tj)-Qk 2(tj)-μk·Qk(tj)+V·Pk=0 (15)
对公式(15)进行变形转换,得到如下形式的等效公式:
Qk(tj)[Qk max(tj)-Qk(tj)-μk]+V·Pk=0 (16)
其中Pk是第k个虚拟机的李雅普诺夫漂移加罚函数的惩罚值,公式(16)的第一个解为:
Qk(tj)=0 (17)
当Qk(tj)≠0时,公式(16)通过一元二次方程式求解得结果:
Figure FDA0003371293970000062
如公式(18)所示,Qk(tj)≥Qk max(tj)-μk;当Qk(tj)≠0时,资源调度算法必须要满足如下条件:Qk(tj)=Qk max(tj)-μk;因此当Qk(tj)=0时,资源调度算法应最大程度地减少VM的非空任务队列的数量;与此同时,当Qk max(tj)=Qk(tj)+μk时,资源调度算法将优先使得虚拟机地利用率趋于或处于满载状态,以便使得虚拟机的处理能力得到充分的释放。
4.根据权利要求1~3任一项所述的一种基于能耗与QoS协同优化的资源调度实现方法,其特征在于,基于李雅普诺夫优化理论的资源调度算法在云环境的每个预设调度周期由数据中心执行,资源调度算法的执行过程如下:
若有λ(tj)个云任务在该周期内到达数据中心,Tmax为云任务的最大响应时间;
首先针对当前的云任务排队队列[Q1(tj),Q2(tj),…,Qk(tj)],找到队列长度最短的队列Qk(tj);如果Qk(tj)>Qk max(tj)-λk(tj),则:
Figure FDA0003371293970000071
λ(tj)=λ(tj)-λk(tj); (20)
其中λ(tj)为当前待处理的云任务数目;
如果Qk(tj)≤Qk max(tj)-λk(tj),则令λk(tj)=λ(tj);并将已被分配给虚拟机的队列从[Q1(tj),Q2(tj),…,Qk(tj)]中移除,并重复上述步骤直至云任务排队队列长度为0;资源调度算法是将具有非空队列的虚拟机的资源利用率按升序排列,以便在具有非空队列的虚拟机中,选择满足李雅普诺夫优化条件的队列的虚拟机进行迁移,使得利用率最低的虚拟机达到最大资源利用率极限。
CN202111041530.7A 2021-09-07 2021-09-07 一种基于能耗与QoS协同优化的资源调度实现方法 Active CN113515351B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111041530.7A CN113515351B (zh) 2021-09-07 2021-09-07 一种基于能耗与QoS协同优化的资源调度实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111041530.7A CN113515351B (zh) 2021-09-07 2021-09-07 一种基于能耗与QoS协同优化的资源调度实现方法

Publications (2)

Publication Number Publication Date
CN113515351A CN113515351A (zh) 2021-10-19
CN113515351B true CN113515351B (zh) 2022-03-29

Family

ID=78062825

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111041530.7A Active CN113515351B (zh) 2021-09-07 2021-09-07 一种基于能耗与QoS协同优化的资源调度实现方法

Country Status (1)

Country Link
CN (1) CN113515351B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722076B (zh) * 2021-10-29 2022-03-29 华南理工大学 基于QoS和能耗协同优化的实时工作流调度方法
CN114460892B (zh) * 2021-12-20 2022-11-01 北京科技大学 一种基于云化可编程逻辑控制器的任务控制方法
CN115150277B (zh) * 2022-06-13 2023-09-15 燕山大学 云数据中心中基于双阈值滞后集群调度机制的节能策略
CN115167641B (zh) * 2022-07-07 2023-06-20 凯德技术长沙股份有限公司 一种惯性自适应温控方法及***
CN116155835B (zh) * 2023-01-17 2024-04-16 哈尔滨工业大学(威海) 一种基于排队论的云资源服务质量评估方法及***
CN116302451B (zh) * 2023-05-18 2023-08-08 广州豪特节能环保科技股份有限公司 一种云计算数据中心离线节能调度的方法及***
CN117170886B (zh) * 2023-11-03 2024-02-02 北京邮电大学 一种面向大连接视频分析的连续学习资源调度方法及装置
CN118227342A (zh) * 2024-05-24 2024-06-21 集美大学 任务并行调度方法、装置及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528941A (zh) * 2016-10-13 2017-03-22 内蒙古工业大学 一种服务器平均温度约束下的数据中心能耗最优化资源控制算法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI484850B (zh) * 2013-11-14 2015-05-11 Univ Nat Chiao Tung 用於長期演進技術中省電資料排程系統及其方法
CN104811491A (zh) * 2015-04-17 2015-07-29 华南理工大学 一种基于遗传算法的云计算资源调度方法
CN109445903B (zh) * 2018-09-12 2022-03-29 华南理工大学 基于QoS特征发现的云计算节能调度实现方法
CN112860409B (zh) * 2021-03-09 2022-10-04 合肥工业大学 基于李雅普诺夫优化的移动云计算随机任务序列调度方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528941A (zh) * 2016-10-13 2017-03-22 内蒙古工业大学 一种服务器平均温度约束下的数据中心能耗最优化资源控制算法

Also Published As

Publication number Publication date
CN113515351A (zh) 2021-10-19

Similar Documents

Publication Publication Date Title
CN113515351B (zh) 一种基于能耗与QoS协同优化的资源调度实现方法
CN113950066B (zh) 移动边缘环境下单服务器部分计算卸载方法、***、设备
CN110096349B (zh) 一种基于集群节点负载状态预测的作业调度方法
Guo et al. Cloud resource scheduling with deep reinforcement learning and imitation learning
CN108182115B (zh) 一种云环境下的虚拟机负载均衡方法
WO2023184939A1 (zh) 基于深度强化学习的云数据中心自适应高效资源分配方法
CN111431961A (zh) 一种云数据中心的节能任务分配方法
CN111611062B (zh) 云边协同分层计算方法及云边协同分层计算***
CN104168318A (zh) 一种资源服务***及其资源分配方法
CN111182637A (zh) 一种基于生成对抗强化学习的无线网络资源分配方法
CN109960573B (zh) 一种基于智能感知的跨域计算任务调度方法及***
CN111752708A (zh) 一种基于深度学习的存储***自适应参数调优方法
CN112685138B (zh) 云环境下基于多种群混合智能优化的多工作流调度方法
CN108121312B (zh) 基于一体化水电管控平台的arv负载均衡***及方法
CN114638167B (zh) 基于多智能体强化学***分配方法
CN112835698A (zh) 一种基于异构集群的请求分类处理的动态负载均衡方法
Dong et al. Quantum particle swarm optimization for task offloading in mobile edge computing
CN112114960A (zh) 一种适应互联网场景的遥感影像并行集群处理的调度策略
CN115237568A (zh) 一种面向边缘异构设备的混合权重任务调度方法及***
CN108170523B (zh) 一种移动云计算的随机任务序列调度方法
CN111309472A (zh) 一种基于虚拟机预部署的在线虚拟资源分配方法
CN115220898A (zh) 一种基于深度强化学习的任务调度方法、***、装置及介质
CN116366576A (zh) 算力网络资源调度方法、装置、设备及介质
CN115022926A (zh) 一种基于资源均衡度的多目标优化容器迁移方法
CN111629216B (zh) 边缘网络环境下基于随机森林算法的vod业务缓存替换方法

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