论文部分内容阅读
相比于网格计算,云计算引入了虚拟机技术,这提高了资源的利用率,同时也引起云计算资源分配过程两层化:将任务分配至虚拟机(Vm)、将虚拟机映射至主机。第一层分配直接影响任务响应时间,第二层分配决定用户费用、服务提供商的成本等。因此,合理的分配方案对于云计算服务的用户和供应商来说都很重要。
作者通过查阅大量相关文献发现:目前有关云计算的研究大都是面向具体某一领域应用的。少数有关云任务或资源分配的研究主要探讨了博弈论、市场机制、800服务模型、遗传算法和蚁群算法等在云资源负载、成本、费用等控制和任务分配中的应用,但是这些研究都是基于GridSim来展开的,没有考虑到两层分配的问题。
基于用户QoS需求和公平性原则,本文中任务分配的目标是任务平均响应时间最短。云系统在分配任务给Vm资源时,不同的任务被分配至不同的Vm,其响应时间也不同,任务的响应时间与任务参数、Vm参数、Vm上的其他的任务三者息息相关,将n个任务分配至m个Vm,其分配方案有mn种,而只有其中的一种或几种分配方案是最佳的,可以使得所有任务的平均响应时间最短,这也是一个典型的组合优化问题,蚁群算法在此的应用是一个不错的尝试。
首先,本文对蚁群算法进行了改进。蚁群算法的主要缺点是容易局部收敛或收敛太慢,ACS由Ant-quantity改进而来,采用局部信息素调整策略避免蚂蚁走重复的路径,利用全局更新增强全局最优解路径上的信息素,但容易收敛于局部最优解;Max-Min AS(MMAS)对将信息素变化限制在[min,max]范围内,防止节点间信息素差距过大引起的局部收敛,且只有全局最优蚂蚁可以全局更新信息素,其不足是Max-Min范围太大时算法易收敛于局部解,范围太小时,算法难以收敛。针对ACS的不足,本文给出改进算法Max-Min ACS(MMACS)。MMACS在搜索前提将信息素限制在较小的范围内,以扩大解空间,在搜索后期逐渐扩大限制范围,并修改参数,促进算法较快地收敛于全局最优解。
然后,对云任务分配问题建模,并将MMACS应用于云任务分配问题中,其中要计算任务在VM上的执行时间,文中给出了计算公式。
最后,为了说明Max-Min ACS用于搜索云任务分配方案的优越性,在CloudSim下采用FCFS算法、传统蚁群算法Ant-cycle、ACS、Max-Min AS作为对比,从实验数据可知,蚁群算法比FCFS算法求解的分配方案更优,证明了ACO确实收敛于较优解;在迭代次数差不多的情况下,MMACS比ACS和MMAS收敛的解更优,说明MMACS的性能好于ACS和MMAS,能够较快地收敛于较优解。