IaaS云数据中心虚拟机调度优化问题研究

2017-04-01 15:12常耀辉
数字技术与应用 2016年10期
关键词:资源管理

摘要:虚拟机调度优化问题是云数据中心资源管理的核心问题。文章以IaaS云数据中心为研究目标,以云数据中心的资源管理为出发点,结合虚拟化的云数据中心中资源提供与分配问题进行研究。并对虚拟资源管理中的核心问题虚拟机调度优化问题进行了深入研究,给出了虚拟机放置问题模型,并从模型求解算法、实验仿真与评价方面进行分析。最后对虚拟机调度问题进行总结。

关键词:IaaS 资源管理 虚拟机放置 虚拟机调度

中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2016)10-0060-02

云计算技术是分布式计算、互联网技术,大规模资源管理技术的融合与发展,具有弹性服务,资源池化,按需服务,服务计费,泛在接入等特点[1]。基础设施即服务(Infrastructure-as-a-Service,IaaS),平台即服务(Platform-as-a-Service,PaaS),软件即服务(Software-as-a-Service,SaaS)构成了云计算服务模式的核心。其中IaaS提供硬件基础设施部署服务,为用户按需提供实体或虚拟的计算,存储和网络等资源。为了优化硬件资源的分配,借助于虚拟化技术和Xen,KVM,VMware等虚拟化工具,可以提供可靠性高,可定制性强,规模可扩展的IaaS云服务。

1 云数据中心资源管理

1.1 云数据中心资源管理

云计算资源管理中主要涉及云用戶(Cloud User),云提供商(Cloud Provider),和最终用户(End User)三类角色。资源管理目标包括性能,金融,环境等方面。IaaS云资源管理主要涉及物理资源和虚拟资源两类。管理的资源的类型主要包含计算资源,网络资源,存储资源,电力资源等。

资源管理技术可以分为动态资源管理和静态资源管理两方面[2]。静态资源管理技术主要涉及资源的映射与调度两类,静态映射包含云代理,虚拟机放置,服务放置;静态的调度问题主要涉及工作流调度。动态的资源管理则涉及负载均衡,以及资源容量规划等管理技术。

云资源管理功能主要涉及:(1)全局的虚拟资源调度;(2)资源需求分析;(3)资源利用率估计;(4)资源定价与利润最大化;(5)虚拟化资源的本地调度;(6)应用扩展和配置;(7)工作负载管理;(8)云管理系统等。

云资源管理性能评价主要从可靠性,是否部署方便,服务质量,延迟和开销控制等方面考量。性能评价常用的指标有吞吐量(一定时间内,云中执行的任务的数量),网络开销,虚拟机迁移时间,迁移的次数,资源利用率,能量消耗,回报和收益,SLA违约次数等。

1.2 虚拟化在云数据中心

云计算对计算能力的业务需求,加速了数据中心的飞速发展,虚拟化技术的应用强化了云计算的应用发展。云数据中心虚拟化的本质就是借助于虚拟化技术(Virtualization Technology),将数据中心的资源(计算、存储和网络)进行抽象和颗粒化,构建成动态的虚拟资源池(Virtual Resource Pool),使用虚拟资源管理(Virtual Resource Management,VRM)技术实现云计算资源得自动部署、动态扩展、按需分配和管理。

应用虚拟化技术,云数据中心的物理资源被划分为多个独立的称为虚拟机(Virtual Machine,VM) 的逻辑域。每个VM 可以运行一个独立的操作系统。从用户的角度看,虚拟机像是运行在独立的物理机上,实质是多个VM 共享同一个物理机。虚拟机监控(Virtual Machine Monitor,VMM)负责控制资源多路复用和管理虚拟机。

1.3 云数据中心资源映射

虚拟化的数据中心的资源管理主要处理两种类型的资源映射[3],一类是工作负载和资源需求的映射,另一类是虚拟资源和物理资源的映射。第一类主要指云应用服务与虚拟机之间的映射,通过匹配不同规格的虚拟机套餐完成用户资源的抽象分配;第二类是将申请的虚拟机套餐实例化,将其映射到物理服务器,最终完成物理资源的分配。

云用户任务的请求随机性、独立性、相似性和多样性的特点,决定了不同用户任务对资源的需求特征不同。云平台提供多种不同类型的虚拟机套餐(Flavor)供用户选择,用户根据CPU、内存、存储等参数以及任务特点选择相应类型的虚拟机,从而完成“用户任务-虚拟机”的匹配,实现工作负载到资源需求的映射。

云资源调度器综合考虑资源需求、性能约束、SLA约束,依据约定的资源分配(Resource Allocation)策略,将大量不同类型的虚拟机请求,调度到合适的物理机,从而完成“虚拟机VM-物理机PM”的映射。在实现映射的过程中需要综合考虑多维度因素的影响,实现能耗优化,提高资源利用率,资源负载均衡等,其实质是资源的多目标调度优化问题。

2 虚拟机调度优化问题

云计算环境下虚拟资源调度研究中,最基本的问题在于如何将总体有限的资源分配给多个租户或应用,以达到效率或收效最大化。但是在云计算环境下,资源并不是单一的,包括计算资源(CPU)、内存资源、存储资源、网络资源(带宽)等,如何进行多资源类型的联合调度和控制以满足不同需求组合是云计算环境下的一个核心的资源调度问题。

2.1 虚拟机调度分类

从资源映射的角度来讲,虚拟机调度优化问题主要涉及到两个层面:云任务和虚拟机之间的映射,虚拟机和物理机之间的映射;而从资源调度的角度来看,涉及到虚拟机调度问题的主要涉及虚拟机放置问题和虚拟机整合。

虚拟机放置主要是指将具体规格的虚拟机请求,在数据中心选择合适的物理服务器进行实例化,实现最终的资源分配的过程。虚拟机整合主要针对虚拟机放置完成放置后,随着工作负载的变化,物理宿主机的物理资源和性能的限制不能满足系统的性能约束,负载均衡约束等条件,而需要为虚拟机重新寻找宿主机,实现虚拟机到物理主机的重映射过程。虚拟机整合过程主要涉及到:(1)处于过载状态和欠载状态的宿主机检测;(2)虚拟机迁移对象的确定;(3)虚拟机迁移目标的确定;(4)虚拟机放置等环节。

2.2 问题优化模型

选择哪个虚拟机放置在数据中心哪一台物理服务器的过程称之为虚拟机放置(Virtual Machine Placement,VMP)。虚拟机放置问题相关的英文表达:(1)virtual machine placement;(2)vm placement;(3)virtual machine consolidation;(4)vm consolidation;(5)server consolidation。虚拟机放置VMP问题可简要描述如下:

(1)N个虚拟机请求,这些虚拟机请求以若干种规格的虚拟机套餐Flavor来体现,主要资源需求包含CPU,内存,硬盘,网络带宽等。

(2)M个物理服务器,物理资源主要包括CPU,内存,硬盘,网络带宽等。

(3)寻求一种虚拟机到物理主机的映射:Scheduling(VMs,PMs,优化目标约束,物力资源约束)同时满足:

①物理资源约束,即每一台物理服务器的每一维度的资源总量能够满足放置到该服务器上的虚拟机的资源需求;

②目标约束,即为了使得放置达到某种目的而满足的约束条件,如能耗最低,负载平衡,资源损耗最小等。

许多学者将虚拟机放置问题建模为装箱(Bin Packing)问题。而装箱问题已被证明是NP-Hard問题,其研究重点是寻求近似算法,它不保证每个实例的最佳解决方案,而是试图找到一个近似最优解。

2.3 模型求解算法

VMP问题是将N台虚拟机如何部署到M台服务器上,其解空间大小为MN,是一个类似装箱问题的NP-Hard难题,但不完全相同。如图1所示,以计算资源CPU和内存资源MEM两个维度考虑,(1)中物理主机CPU和MEM均得到充分利用(均为100%);(2)中物理主机带宽得到充分利用,但是CPU尚有可以利用空间。装箱问题因其不存在多项式时间复杂度的最优求解算法,用传统的精确算法求解会发生“组合爆炸”的现象,因此启发式求解方法成为理论研究和实际应用的首选。

传统的VMP问题求解是基于贪心策略的启发式算法,如最佳适应(Best Fit,BF)、首次适应(First Fit,FF)以及降序最佳适应(Best Fit Decreasing,BFD)和降序首次适应(First Fit Decreasing,FFD)等。除此之外,应用元启发式算法[4]如GA遗传算法,ACO蚁群算法,PSO粒子群算法,BBO优化算法等。此类算法可以通过调整算法参数,通过单个或多个算法的有机结合,针对虚拟机放置问题进行优化,从而得到较优的结果。不过通常涉及较多的参数,参数的设置对同一问题的实验结果有不可估量的影响。与启发式算法相比,算法相对复杂,参数不易掌握,需要专业的领域知识来指导算法参数调优。

2.4 实验与算法评价

云计算中心通常涉及成百上千台甚至数以万计的服务器,一是对于普通的研究人员来说直接在云数据中心开展实验成本太高,而是无法承担数据中心由此而带来的经济成本等支出,因此云计算的资源分配算法和调度算法等大部分是基于模拟环境进行。常用的云平台模拟软件有CloudSim,GreenCloud,MDCSim等。通过CloudSim等仿真实验平台对提出的算法首先对数据中心进行建模仿真,然后通过仿真平台对提出的算法进行实现,和已有算法在同一个平台上进行算法模拟,对实验结果进行对比分析,从而验证算法的可行性和高效性。

3 结语

本文以IaaS云数据中心的资源管理为出发点,详细分析了应用虚拟化技术后的的云数据中心所面临的虚拟资源管理问题。并以资源调度的核心问题虚拟机调度优化问题为例,并对资源管理调度、虚拟机调度问题进行了深入分析。同时根据,结合虚拟机问题,从问题优化模型、算法求解分类和实验仿真与算法评价等方面,介绍了虚拟机放置优化问题进行了细致介绍。

参考文献

[1]MELL P,GRANCE T.The NIST Definition of Cloud Computing[R].National Institute of Standards and Technology,2011.

[2]Jennings B,Stadler R.Resource management in clouds:Survey and research challenges[J].Journal of Network and Systems Management,2014:1-53.

[3]Wei L,Huang T,Chen J, et al. Workload prediction-based algorithm for consolidation of virtual machines[J].Journal of Electronics & Information Technology,2013,35(6):1271-1276.

[4]Guzek M,Bouvry P,Talbi E G. A Survey of Evolutionary Computation for Resource Management of Processing in Cloud Computing [Review Article][J].Computational Intelligence Magazine, IEEE, 2015, 10(2):53-67.

收稿日期:2016-06-15

作者简介:常耀辉(1981—),男,河北定州人,硕士,石河子大学信息科学与技术学院讲师,研究方向:数据挖掘、云计算与应用。

猜你喜欢
资源管理
人事档案管理在人力资源管理中的作用
关于Z世代员工人力资源管理的思考与探索
企业人力资源管理
重视社保在人力资源管理中地位和作用
在人力资源管理中绩效考核的应用
现代林业生态建设与林政资源管理
GIS在森林资源管理中的应用
从湖南卫视的成功看人力资源管理
强化林政资源管理工作的思考
基于容器的云资源管理博弈模型