● 摘要
云计算是建立在虚拟化和分布式计算等软件服务基础之上的一个相对较新的技术。通过服务交付与应答完成其功能。服务交付与使用模式是它区别于以往集群等的重要特征。云计算技术的实现依靠的不仅仅是网格计算、分布式计算等,还有一项更为重要的技术——负载平衡等技术。因此,如何实现资源访问的负载平衡成为云计算实施的关键问题之一。由于在云计算环境下,负载平衡机制需要考虑其有效性、鲁棒性、及可扩展性。故本文针对云计算特点提出了三种负载平衡机制:基于改进的模糊C均值(Fuzzy C-Means, FCM)算法的负载平衡机制,基于蜂群算法(Artificial Bee Colony algorithm,ABC)的负载平衡机制以及基于改进蜂群算法的负载平衡机制。基于改进模糊C均值算法的负载平衡机制在算法的有效性方面则表现的较为突出。其主要是通过融合粒子群算法(Particle Swarm Optimization,PSO)与模糊C均值算法,精确的对服务器计算节点的负载状况进行分类。并以此为依据对划分在高负载一类中的计算节点进行部分作业迁移。由于其迁移的每个步骤都较合理,所以此系统的有效性较其他算法有较大改进。基于蜂群算法的负载平衡机制则在鲁棒性方面表现的较为突出。其主要是将每个请求看作蜂群中的蜜蜂个体。蜜蜂自身会携带采蜜信息。当采蜜结束后其将信息带回蜂巢供其余蜜蜂参考。整个运行过程即为寻求采蜜量最大的过程。由于每轮采蜜都有侦察蜂的加入,故整个寻优过程不易陷入局部最优。由此,系统吞吐量不会因为请求的多少受到太大影响。而基于改进蜂群算法的负载平衡机制在可扩展性方面则表现的更为突出。其与基于蜂群算法的负载平衡机制相似,不同的只是在蜂群算法基础上多加了对等待队列长度的判断。这是针对那些联系较少但系统仍将其划分到同一服务器的请求的。这一举措减少了此种请求的无谓等待。
本文的主要工作与创新点在于:
1. 对请求类型进行分类。分别对不同需求的请求使用不同负载平衡策略,使得云计算环境下的负载平衡管理节点能更好的服务于该类型的请求。
2. 对原始的模糊聚类算法进行改进。将原始模糊C均值算法与粒子群算法算法相结合,避免了原始模糊C均值算法早熟现象的发生。由此,提高了分类的正确性。
3. 将改进后的模糊聚类算法与负载平衡机制相结合。对计算节点分类,将计算节点以群体的方式一起解决,而不需要分别单独解决每个节点,加快了系统的处理速度。
4. 将蜂群算法与负载平衡机制相结合,并对基于蜂群算法的负载平衡机制的改进,增强了该算法的可扩展性。