第 1 章 绪论
1.1 课题研究背景与意义
信息时代悄然而至,人们的数据信息与日俱增,时代在发展,社会在进步,大数据作为一门与时俱进的新技术,逐步变成了当今互联网界炙手可热的话题。随着人们对数据的处理要求越来越高,云计算成为了当今对大数据进行存储、分析、处理的首要工具,然而随着信息的飞速增长,人们对数据处理的要求不断提高,云计算服务提供商们为了满足用户的基本需求并提高用户体验,在对于云计算资源分配方面缺少经验的情况下,只能使用超过用户实际所需的资源来为用户提供服务,造成了大量资源的浪费,也使得云计算服务提供商的实际成本增加。
云计算作为近些年兴起的一门技术,已经逐步渗透到普通大众的生活中了,在我们的日常生活当中,使用的大部分应用与云计算密不可分,谷歌作为该类代表的典型,谷歌通常为用户所提供的服务有 Gmail、Google Earth、GoogleAnalytics,而这些服务都是建立在其云计算平台架构的基础之上的,其中以日均用户访问量不计其数的谷歌在线翻译最为著名,在谷歌的云平台上这些数据的检索和管理被完成,不仅如此,谷歌还提供了名为谷歌云的云平台为用户提供云计算的相关服务。除了谷歌云以外,亚马逊云,腾讯云,阿里云也为用户提供了不少云计算的相关服务项目。云计算的技术和发展在不断地演进、变化,目前越来越多的厂商将焦点聚集在平台即服务(SaaS),这其实也代表了云计算技术的未来将会在应用上大放异彩。
.......................
1.2 国内外研究现状
截至目前,国内外有较多学者对云计算系统中的资源分配问题进行了相关研究,并试图通过较优的资源分配方案来实现节能。现有的资源分配大致可以分为基于负载均衡的资源分配,基于能耗节约的资源分配,以及基于成本效益的资源分配这三类:
(1)基于负载均衡的资源分配
鉴于云计算系统必须考虑其各个节点上的负载问题,根据负载的变化动态地调度云资源是提高云计算按需服务能力的关键。文献[1]针对计算集群中的虚拟机调度进行建模,根据虚拟机的负载来动态调节处理器电压,并搭建了虚拟机调度环境,实现了所提出的虚拟机调度算法。然而该算法并未考虑到动态调节电压可能会影响处理器的性能问题。为了避免动态电压对处理器的性能影响问题,文献[2]提出了一种基于蚁群算法的负载自适应云资源分配模型,通过实时监控虚拟机的性能参数,判断某节点过载后,利用蚁群算法快速地调度云资源,使无负载节点承担一定的负载,并通过实例分析,证明了该模型能够满足自适应云资源分配的目标和需求,提高资源利用效率,并且实现了云服务平台的负载自适应动态资源分配,达到了负载均衡的目的,然而该算法导致动态迁移次数过多,对云能耗有了较大的浪费。为了在减少动态迁移的基础上实现负载均衡,文献[3]提出了一种基于遗传算法的 VM 资源负载均衡调度策略,根据历史数据和系统的当前状态,计算它将对系统所需的虚拟机资源的部署后对系统的影响,然后选择 least-affective 解决方案,通过它达到最佳的负载平衡,减少或避免了动态迁移。然而,在真实的云计算环境中,VM 可能会有动态变化,虚拟化软件的计算成本可能会增加,并且随着每个物理机器上开始的 VM 数量的增加,会出现一些未预料到的负载损耗。文献[4]利用随机活动网络对基础设施及服务(IaaS)的云的性能和功耗进行建模与评估,并通过建模,给出了一种能够感知电力的自适应资源管理方案,该方案根据不同时间间隔内可变的工作负载对物理机的开启数量进行调整。以上基于负载均衡的云计算资源分配,大都未曾考虑动态增加 VM 数量所带来的额外开销。
........................
第 2 章 相关技术与原理
2.1 云计算
2.1.1 云计算基本概念
云计算,故名思义,即在云中进行计算,所谓云,指的就是云服务提供商所有的大量廉价服务器机群。互联网时代的飞速发展,使得大数据的普及速度越来越快,随着大数据的兴起,用户对大数据的处理量的需求也逐步升高,云计算通过互联网为用户提供云服务,其代价远小于用户自身通过购买服务器来满足进行复杂计算的需求。用户跟据支付的租金,可以自行选择租金范围内所提供的服务。
云计算是互联网发展到鼎盛时期的必然潮流,服务商连接互联网来对资源进访问、配置、共享、管理等操作[32]。对于用户来说,不用再因购买不了昂贵的高性能设备而烦恼,只需要提供资源需求与使用时长并付出一定代价,无需配置资源环境,因此云计算具备更高的经济效用[33]。此外,对于服务提供商,云计算可以对用户需求进行整合、按照用户使用方式进行价格模型的制定、优化资源分配方案,通过互联网进行管理,使用云计算的客户数量庞大[34]。

.....................
2.2 云计算资源分配技术
2.2.1 云资源的概念
云是一种流行互联网和网络的一种抽象说法,云资源即云计算中的资源共享池(资源包括但不限于网络带宽,服务器,内存存储,应用软件,服务),这些资源能够通过云计算的资源共享池快速供给给用户,用户几乎不需要对于资源管理操心也不需要与提供商进行过多的交互。我们在阿里云,腾讯云等厂商购买的 CDN,对象存储,云主机都隶属于云资源。
2.2.2 云资源分配的概念
云资源分配就是将云计算资源共享池中的有限资源(如网络带宽,内存,CPU)等,以某种方式分配给发起请求的云用户,更简单的说法,就是将物理机的有限资源分配给虚拟机,即常说的虚拟机放置问题。通过虚拟机合理的放置可以达到节约能耗,减少 SLA 违反,提高 QoS 的效果。
2.2.3 虚拟机放置的分类
虚拟机的放置由于其放置的状态不同,放置的效果不同,大体可分为两类:动态虚拟机放置和静态虚拟机放置。
动态虚拟机放置:又名虚拟机迁移,即当前资源需求发生了一定的变更后,选取某些虚拟机从当前放置物理机移动至新选取的物理机上,以达到避免负载过重或负载过轻的目的。对于动态的放置,往往需要根据实时的用户请求,进行判断并给出迁移策略,而且动态放置时,需要考虑虚拟机迁移,物理机开关机所损耗的多余能耗。常用的动态迁移手段通常有基于动态阈值或者固定阈值来进行虚拟机迁移;基于特定的合同进行虚拟机的迁移,基于历史信息预测未来资源占用率来进行迁移;基于物理机的负载均衡来进行虚拟机的迁移。在实际情况下,由于用户的响应时间限制,进行动态迁移往往是不现实的。
.......................
第 3 章 综合考虑能耗与性能损耗的资源分配模型....................13
3.1 问题引入..............................13
3.2 系统总模型..........................13
第 4 章 基于蒙特卡罗的资源分配算法..........................16
4.1 问题引入........................16
4.2 基于蒙特卡罗的资源分配算法.......................16
第 5 章 基于蒙特卡罗搜索树的资源分配算法...........................21
5.1 问题引入..............................21
5.2 蒙特卡罗搜索树模型.............................21
第 6 章 实验与结果分析
6.1 实验环境配置
本章为虚拟机的初始放置提供了解决方案算法。最后,使用 CloudSim 模拟该算法。 CloudSim 是由澳大利亚墨尔本大学的 Grid Lab 和 Gridbus 项目发布的云计算仿真软件。该仿真平台可以通过仿真运行物理机,以获取实际能耗。它具有强大的扩展功能,可以由类扩展,以根据自身编写的算法对虚拟机进行初始放置。我们的模拟实验使用了四种类型的虚拟机和两种类型的物理机。物理机与虚拟机的参数配置分别如表 6-1 和表 6-2 所示。

实验所采用的任务数据为平台自带的工作数据。所做对比结果全部使用的一个工作数据。
.......................
第 7 章 总结与展望
本文提出了两种基于强化学习算法的资源分配算法 RLRA 与 MCTSRA。 这两种算法通过考虑了虚拟机的性能损失以实现节能。 对比实验方面,在计算速度上,它明显优于诸如蚁群算法之类的进化算法,并且虚拟机放置的越多,优势就越明显。尽管与进化算法相比,该算法实现了节能并加快了速度,但仍然存在诸如违反 SLA的问题,且该模型对于 QoS 并未进行考虑。将来,我们将改进模型,以在节能和解决方案速度保持的条件下,尽可能减少违反 SLA 的情况并提高 QoS。
参考文献(略)