CN110851230B - 一种云计算中的基于强化学习的虚拟机放置方法 - Google Patents
一种云计算中的基于强化学习的虚拟机放置方法 Download PDFInfo
- Publication number
- CN110851230B CN110851230B CN201910564319.XA CN201910564319A CN110851230B CN 110851230 B CN110851230 B CN 110851230B CN 201910564319 A CN201910564319 A CN 201910564319A CN 110851230 B CN110851230 B CN 110851230B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- placement
- physical machine
- reinforcement learning
- 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.)
- Active
Links
Classifications
-
- 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
-
- 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
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- 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)
- 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
针对遗传算法等对于虚拟机放置的求解时间过长的缺点,本发明利用强化学习最大限度地使得虚拟机放置后的能耗最低,提出基于强化学习的虚拟机放置方法。首先基于采集的系统信息进行状态值矩阵等的初始化,然后通过强化学习进行虚拟机放置的优化,最后使用贪婪算法进行最后的放置。本发明通过使用强化学习有效缩短了虚拟机放置的求解时间,能够根据虚拟机的实际情况对迭代次数进行动态调整,具有广泛的适应性。
Description
技术领域
本发明涉及基于强化学习的虚拟机放置方法,属于云计算领域。
背景技术
云计算作为近些年兴起的一个产业,已经越来越融入到普通大众的生活中了,在我们的日常生活当中,云计算也正在发挥着巨大的作用和贡献,拿谷歌举例来说,谷歌给用户所提供的Gmail、Google Earth、GoogleAnalytics等服务都是在其云计算平台架构的基础之上的,著名的谷歌在线翻译服务每天的用户访问数量不计其数,这些数据的检索和管理也是在谷歌的云平台上来完成的。云计算的技术和发展在不断地演进、变化,现在已经有很多专门聚焦于云平台SaaS应用的厂商,这其实也代表了未来云计算技术将会以应用作为主要的推动力。
一般来说,云服务提供商通过互联网为客户提供虚拟机,云服务商的服务主要考虑以下几个因素:云服务提供成本(主要包括能耗和维护等成本),用户体验(即用户的满意度,Qos要求等)。通常一个使用了虚拟化技术的物理机上会有多个虚拟机并行运行。随着云计算越来越普及,其规模越来越大,导致活动的物理机越来越来,在活动的物理机上并行运行的虚拟机也越来越多。更多的物理机意味着更多的成本,更多虚拟机并行在同一个物理机上,意味着数据中心更多的能耗。为了降低成本,有必要最大限度地利用资源,从而减少所使用的物理机器的数量。此外,需要降低云计算数据中心的能耗,据绿色和平组织估计,如果把全球云计算能耗产业当做一个国家,其能耗排在第六位,介于德国和俄罗斯之间,由此可见云计算数据中心的能耗在云计算服务提供的成本上占了较大的比重。因此,为了节约成本,降低云计算能耗成了云服务提供商所面临的重大问题。
降低云计算能耗的方式有多种,其中虚拟机的放置作为云计算能耗节约的一个热门话题,被大多数人所研究,虚拟机放置问题,大多数所采取的解法为遗传算法与进化算法,这些算法的求解速度相当地慢,并不符合实际的需求。
强化学习技术作为一门兴起的技术,其求解速度比传统的遗传算法等更加快速,因此通过强化学习进行虚拟机的放置能有效提高求解速度,得出不错的放置策略,满足实际的需求。
发明内容
针对上述问题,提出了基于强化学习的虚拟机放置策略,具体步骤如下:
步骤一:分别获取需要放置的虚拟机的台数N及其系统参数和被放置的物理机的台数M及其系统参数,其特征在于所述的获取方法至少还包括以下步骤:
1)每过一定时间段从监控中获取,该时间段内需要被放置的虚拟机的各个系统参数,系统参数的格式为(VMcpu,VMram,VMbw)。
2)获取所有可进行放置的物理机的系统参数,系统参数的格式为(PMcpu,PMram,PMbw)。
步骤二:构建能耗衡量模型与性能损耗模型,其构建模型方法至少包括以下步骤:
1)通过步骤一获取的虚拟机与物理机的系统参数,构建基于cpu使用率的能耗衡量模型,模型具体如下:
其中Pij表示将第i台虚拟机放置到第j台物理机所增加的能耗,VMicpu表示第i台虚拟机的cpu大小,PMjcpu表示第j台物理机的总cpu大小,α,β分别为两个系数。
2)构建完能耗衡量模型后,进行性能损耗模型的构建,性能损耗模型如下:
式中的表示第j台物理机的性能损耗,Xij表示第i台虚拟机与第j台物理机的映射关系,Xij=0表示第i台虚拟机未放置在第j台物理机上,Xij=1表示第i台虚拟机放置在第j台物理机上,lossbase为基础损耗,c为一个常量。
步骤三:使用强化学习的方法进行训练,其特征在于所述的强化学习训练方法至少还包括以下步骤:
1)创建两个列表分别进行探索策略存储,并初始化两个状态次数矩阵C1(Sij)和C2(Sij),与两个状态优势次数矩阵μ1(Sij)与μ2(Sij)和状态值矩阵V(Sij),对两个列表,分别进行如下操作:
对于列表一的操作如下:
1.对某台虚拟机VMi,按各个状态的优势率的吉布斯分布进行物理机的选取,由吉布斯分布所得某虚拟机i放置在物理机j上的概率Pbij表达式如下:
上式中μ1ij表示列表1中的优势率,其计算公式如下:
2.选取完物理机后更新状态次数矩阵C1(Sij),通过系统参数求取能耗衡量值。
对列表二的操作如下:
1.对某台虚拟机VMi,按照贪婪策略进行物理机的选取,其选取Pgij概率表达式如下:
上式中μ2ij表示列表2中的优势率,其计算公式如下:
V(Sij)为状态值,其表达式为:
V(Sij)=G(Sij)
G(Sij)为状态累积回报,表达式如下:
R(Sij)为将虚拟机i放置在物理机j上的回报,有:
Rij=-1*Pij
2.选取完物理机后更新状态次数矩阵C2(Sij)和状态值矩阵,状态值矩阵的更新如下:
最后,通过系统参数求取能耗衡量值。
2)两个列表放置完毕后,我们引入一个公正等式来进行最后的优势评判,公正等式如下:
Gzij=λ*Pij+η*(1-Qjloss)
对于每台虚拟机,选取Gzij较小的作为优势物理机,然后根据该物理机所在映射列表,进行状态优势次数矩阵的更新。
步骤四:根据步骤三最终所得的状态优势率矩阵,使用贪婪算法进行最后的放置,其特征在于所述的贪婪放置至少还包括以下步骤:
1)创建列表进行最终策略的存储。
2)对于某台虚拟机VMi,通过如下公式:
V=ρ*μij+θ*Qjloss
进行对比,V为最终值,μij表示状态VMi放置在PMj的总优势率,其计算公式如下:
Qjloss为通过当前列表求取的性能损耗。最后选取最终值最大的那台物理机作为放置物理机,并更新列表。
3)所需放置的虚拟机列表变为空,放置结束。
附图说明
图1是整个过程的流程图;
图2是虚拟机放置示意图;
具体实施方法
本发明设计了基于强化学习的虚拟机放置方法,具体实施方法如下:
步骤一:分别获取需要放置的虚拟机的台数N及其系统参数和被放置的物理机的台数M及其系统参数,其特征在于所述的获取方法至少还包括以下步骤:
1)每过一定时间段从监控中获取,该时间段内需要被放置的虚拟机的各个系统系数,如图2左边所示,系统实时的虚拟机VM1,VM2,VM3,VM4的系统参数分别为(1000,2000,500),(500,1500,250),(2000,2000,1000),(1500,2500,1000)。
并获取所有物理机的系统系数,如图2右边所示,可放置的物理机PM1,PM2,PM3的系统参数分别为(10000,20000,5000),(5000,15000,2500),(20000,20000,10000)。
步骤二:构建能耗衡量模型与性能损耗模型,其构建模型方法至少包括以下步骤:
1)通过步骤一获取的虚拟机与物理机的系统参数,构建基于cpu使用率的能耗衡量模型,模型具体如下:
Pij表示将第i台虚拟机放置到第j台物理机所增加的能耗,VMicpu表示第i台虚拟机的cpu大小,PMjcpu表示第j台物理机的总cpu大小。
2)构建完能耗衡量模型后,进行性能损耗模型的构建,性能损耗模型如下:
式中的表示第j台物理机的性能损耗,Xij表示第i台虚拟机与第j台物理机的映射关系,Xij=0表示第i台虚拟机未放置在第j台物理机上,Xij=1表示第i台虚拟机放置在第j台物理机上。
步骤三:使用强化学习的方法进行训练,其特征在于所述的强化学习训练方法至少还包括以下步骤:
1)创建两个列表分别进行探索策略存储,并初始化两个状态次数矩阵C1(Sij)和C2(Sij),与两个状态优势次数矩阵μ1(Sij)与μ2(Sij)和状态值矩阵V(Sij),对两个列表,分别进行如下操作:
对于列表一操作如下:
1.对某台虚拟机VMi,按各个状态的优势率的吉布斯分布进行物理机的选取,由吉布斯分布所得某虚拟机i放置在物理机j上的概率Pbij表达式如下:
上式中μ1ij表示列表1中的优势率,其计算公式如下:
2.选取完物理机后更新状态次数矩阵C1(Sij),通过系统参数求取能耗衡量值。
对列表二操作如下:
1.对某台虚拟机VMi,按照贪婪策略进行物理机的选取,其选取Pgij概率表达式如下:
上式中μ2ij表示列表2中的优势率,其计算公式如下:
V(Sij)为状态值,其表达式为:
V(Sij)=G(Sij)
G(Sij)为状态累积回报,表达式如下:
R(Sij)为将虚拟机i放置在物理机j上的回报,有:
2.选取完物理机后更新状态次数矩阵C2(Sij)和状态值矩阵,状态值矩阵的更新如下:
最后,通过系统参数求取能耗衡量值。
2)两个列表放置完毕后,我们引入一个公正等式来进行最后的优势评判,公正等式如下:
Gzij=0.9*Pij+0.1*(1-Qjloss)
对于每台虚拟机,选取Gzij较小的作为优势物理机,然后根据该物理机所在映射列表,进行状态优势次数矩阵的更新。
步骤四:根据步骤三最终所得的状态优势率矩阵,使用贪婪算法进行最后的放置,其特征在于所述的贪婪放置至少还包括以下步骤:
1)创建列表进行最终策略的存储。
2)对于某台虚拟机VMi,通过如下公式:
V=0.9*μij+0.1Qjloss
进行对比,V为最终值,μij表示状态VMi放置在PMj的总优势率,其计算公式如下:
Qjloss为通过当前列表求取的性能损耗。最后选取最终值最大的那台物理机作为放置物理机,并更新列表。
3)所需放置的虚拟机列表变为空,放置结束,如图2所示,最终放置结果为,VM1,VM3放置在PM1上,VM2,VM4放置在PM2上,PM3关闭。
Claims (1)
1.基于强化学习的虚拟机放置方法,其特征在于以下步骤:
(1)创建两个列表分别进行探索策略存储,并初始化两个状态次数矩阵C1(Sij)和C2(Sij),与两个状态优势次数矩阵μ1(Sij)与μ2(Sij)和状态值矩阵V(Sij);
(2)对某台虚拟机VMi,按各个状态的优势率的吉布斯分布进行物理机的选取,由吉布斯分布所得某虚拟机i放置在物理机j上的概率Pbij表达式如下:
上式中μ1ij表示列表1中的优势率,其计算公式如下:
对某台虚拟机VMi,按照贪婪策略进行物理机的选取,其选取Pgij概率表达式如下:
上式中μ2ij表示列表2中的优势率,其计算公式如下:
(3)在通过强化学习训练的每一次迭代中,两个列表映射完后,引入一个公正等式,以此为依据进行最后的优势评判;公正等式如下:
Gzij=0.9*Pij+0.1*(1-Qjloss)
其中Pij表示将第i台虚拟机放置在j台物理机上的能耗;Qjloss为第j台物理机的性能损耗;对于每台虚拟机,选取Gzij较小的作为优势物理机,然后根据该物理机所在映射列表,进行状态优势次数矩阵的更新;
(4)对于某台虚拟机VMi,通过如下公式:
V=ρ*μij+θ*Qjloss
进行对比,V为最终值,μij表示状态VMi放置在PMj的总优势率,其计算公式如下:
Qjloss为通过当前列表求取的性能损耗;最后选取最终值最大的那台物理机作为放置物理机,并更新列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910564319.XA CN110851230B (zh) | 2019-06-26 | 2019-06-26 | 一种云计算中的基于强化学习的虚拟机放置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910564319.XA CN110851230B (zh) | 2019-06-26 | 2019-06-26 | 一种云计算中的基于强化学习的虚拟机放置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110851230A CN110851230A (zh) | 2020-02-28 |
CN110851230B true CN110851230B (zh) | 2023-08-15 |
Family
ID=69595747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910564319.XA Active CN110851230B (zh) | 2019-06-26 | 2019-06-26 | 一种云计算中的基于强化学习的虚拟机放置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110851230B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461739A (zh) * | 2014-12-15 | 2015-03-25 | 中山大学 | 一种基于cloudsim平台的虚拟机批量部署方法 |
KR101613513B1 (ko) * | 2014-12-29 | 2016-04-19 | 서강대학교산학협력단 | 네트워크 대역폭 및 cpu 이용률을 고려한 가상머신 배치 방법 및 시스템 |
CN106775987A (zh) * | 2016-12-30 | 2017-05-31 | 南京理工大学 | 一种在IaaS云中安全提高资源效率的虚拟机调度方法 |
CN107748693A (zh) * | 2017-11-30 | 2018-03-02 | 成都启力慧源科技有限公司 | 云计算环境下的群组虚拟机调度策略 |
CN109933425A (zh) * | 2019-01-31 | 2019-06-25 | 南京邮电大学 | 一种基于改进蚁群算法的云计算虚拟机放置方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9201678B2 (en) * | 2010-11-29 | 2015-12-01 | International Business Machines Corporation | Placing a virtual machine on a target hypervisor |
CN104639639B (zh) * | 2015-02-09 | 2018-04-27 | 华为技术有限公司 | 一种虚拟机部署位置的调整方法、装置及系统 |
-
2019
- 2019-06-26 CN CN201910564319.XA patent/CN110851230B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461739A (zh) * | 2014-12-15 | 2015-03-25 | 中山大学 | 一种基于cloudsim平台的虚拟机批量部署方法 |
KR101613513B1 (ko) * | 2014-12-29 | 2016-04-19 | 서강대학교산학협력단 | 네트워크 대역폭 및 cpu 이용률을 고려한 가상머신 배치 방법 및 시스템 |
CN106775987A (zh) * | 2016-12-30 | 2017-05-31 | 南京理工大学 | 一种在IaaS云中安全提高资源效率的虚拟机调度方法 |
CN107748693A (zh) * | 2017-11-30 | 2018-03-02 | 成都启力慧源科技有限公司 | 云计算环境下的群组虚拟机调度策略 |
CN109933425A (zh) * | 2019-01-31 | 2019-06-25 | 南京邮电大学 | 一种基于改进蚁群算法的云计算虚拟机放置方法 |
Non-Patent Citations (1)
Title |
---|
基于云计算SME-FFD算法的概率优度虚拟机资源配置;孙立新;张栩之;吕海洋;;计算机工程(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110851230A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Asynchronous online federated learning for edge devices with non-iid data | |
Li et al. | Deep reinforcement learning: Framework, applications, and embedded implementations | |
Li et al. | Development and investigation of efficient artificial bee colony algorithm for numerical function optimization | |
CN109324875B (zh) | 一种基于强化学习的数据中心服务器功耗管理与优化方法 | |
Zhang et al. | Network-aware virtual machine migration in an overcommitted cloud | |
CN103365727B (zh) | 一种云计算环境中的主机负载预测方法 | |
CN105607952B (zh) | 一种虚拟化资源的调度方法及装置 | |
Ismaeel et al. | Using ELM techniques to predict data centre VM requests | |
CN113220450A (zh) | 面向云端多数据中心的负载预测方法、资源调度方法及装置 | |
CN108471353B (zh) | 一种基于深度神经网络算法的网元容量分析与预测的方法 | |
Cheng et al. | GRU-ES: Resource usage prediction of cloud workloads using a novel hybrid method | |
CN111290831A (zh) | 一种云计算基于强化学习的虚拟机迁移方法 | |
Ganesh Kumar et al. | RETRACTED ARTICLE: Energy efficient scheduling for cloud data centers using heuristic based migration | |
Jian et al. | A high-efficiency learning model for virtual machine placement in mobile edge computing | |
Ismaeel et al. | Multivariate time series ELM for cloud data centre workload prediction | |
Gilan et al. | Sustainable building design: A challenge at the intersection of machine learning and design optimization | |
Li et al. | Resource usage prediction based on BiLSTM-GRU combination model | |
Xu et al. | A meta reinforcement learning-based virtual machine placement algorithm in mobile edge computing | |
Huang et al. | Computation offloading for multimedia workflows with deadline constraints in cloudlet-based mobile cloud | |
CN110851230B (zh) | 一种云计算中的基于强化学习的虚拟机放置方法 | |
Cheng et al. | Self-tuning batching with dvfs for improving performance and energy efficiency in servers | |
Pushpalatha et al. | Workload prediction based virtual machine migration and optimal switching strategy for cloud power management | |
Yu | [Retracted] Research on Optimization Strategy of Task Scheduling Software Based on Genetic Algorithm in Cloud Computing Environment | |
Pushpalatha et al. | Amalgamation of neural network and genetic algorithm for efficient workload prediction in data center | |
CN116795198A (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 |