- 研究场景:在云数据中心的层次结构上,对虚拟机在实际物理主机上的部署进行研究
- 研究目标:实现实际物理资源的高利用率,并降低能耗
- 算法:使用了两阶段策略,在初始 VM 放置的集群选择阶段,使用超启发式算法;对于长期操作,设计了一个基于博弈论的 VM 监控程序,实现 VM 在不同主机之间的迁移
Handling hierarchy in cloud data centers A Hyper-Heuristic approach for resource contention and energy-aware Virtual Machine management
虽然这篇论文的具体研究内容和应用服务放置不同,但其实是有非常相似的共性的:
虚拟机 VM ---部署---> 物理主机 Host
应用程序模块 Module ---放置---> 计算资源节点 FogDevice
所以该论文的算法是可以借鉴到我们的具体研究方向上来的。
- 是否可以借鉴该论文,我们的算法也使用一种多阶段策略?
Introduction

- 上图是云数据中心的层次结构,虚拟机 VMs 被部署在现实世界的物理主机 Physical Hosts 上,或者说,在 Hosts 上创建了 VM 实例。
- 同时,要注意到,不同主机上的虚拟机可能会被归为同一个集群 Cluster 中,然后提供给用户使用,也就是说,从用户角度来看,他用的是同一个集群中的虚拟机资源,但实际上这些虚拟机有可能是在不同的主机上进行部署的。
- 该论文算法的第一阶段,要解决的就是初始 VM 放置的集群选择问题。
- 使用超启发式算法。
- 该论文算法的第二阶段,要解决的就是已经放置后的 VM 在不同 Host 之间迁移的问题,但是要注意,这些不同的 Host 是在同一个 Cluster 中的。
- 使用博弈论。
- 该论文算法的第一阶段,要解决的就是初始 VM 放置的集群选择问题。
Proposed Algorithm
该论文所提出的算法 VMM-HHGT(Virtual Machine Management - Hyper Heutistic Game Theory),是一个二阶段策略。
第一阶段使用超启发式算法(Hyper Heuristic)来确定将 VM 部署在哪个 Cluster 上。
第二阶段使用博弈论(Game Theory)来确定同一个 Cluster 中的 VM,该如何在同一个 Cluster 中的不同 Host 之间进行迁移,以实现高效的资源利用和能耗降低。
Hyper-heuristic-assisted cluster selection
这里我们最关心的是超启发式算法是如何工作的,它是怎么根据预先设置好的一些启发式算法去得到一些更好的启发式算法的。
在 Algorithm 1 中:
- cs 是预先设置好的一系列集群选择的启发式算法
- hs 是预先设置好的一系列集群中选择主机的启发式算法
Algorithm 2 是对采用了具体某个启发式算法得到的结果后,进行的适应值评估的具体过程,根据适应值来判断哪些启发式算法更优。
根据 Algorithm 3 可以看到,超启发式算法(这里用的是 tree-based Genetic Programming)是这样发挥作用的:对 cs 和 hs 进行基于树的遗传操作,来得到更优的启发式算法。
Game theory-assisted live VM migration
- 这个不是关注的重点,具体可以看论文。
Evaluation
- 超启发式算法并不一定就要用别的超启发式算法作为 baseline,这篇论文使用了几种启发式算法作为 baseline,同时这些 baseline 启发式算法也是 VMM-HHGT 算法预先设置好的启发式算法集合中的一部分,即在 cs 和 hs 中。