论文部分内容阅读
云计算是分布式计算、并行计算、网络存储、负载均衡等传统计算机技术和网络技术相融合的产物,它的主要思想是整合互联网上各种计算资源,向用户提供按需使用计算资源为形式的服务,是新一代信息技术行业茁壮成长的重要技术。随着云计算技术的快速发展和成熟,数据中心规模也随之剧增,调节集群服务器的负载均衡、合理进行任务调度和资源分配直接决定着云服务的质量。OpenStack作为云计算的开源项目之一,它通过各种互补的服务提供了完整的基础设施即服务(IaaS)的解决方案,因此基于OpenStack对集群负载均衡算法进行研究,对于云计算系统的整体性能和资源利用率最大化具有非常重要的意义。本文对云计算和负载均衡技术进行了深入研究,发现传统的负载均衡算法不能很好的运用在云计算环境下,存在系统响应时间长、负载失衡的问题,并且服务器集群在并发量较大时容易发生负载倾斜。另外在Swift组件的读取策略中,对文件发起读取操作时,代理节点负责将任务随机分配给其中某个存储节点,这种情况下容易出现磁盘利用率不平衡的现象,导致负载失衡。针对以上问题,本文提出如下两个算法:(1)提出一种改进的加权最小连接分组调度算法。该算法首先按照RS各类资源的硬件参数,精确计算其权值;然后考虑到待处理任务的差异性以及RS在处理不同任务时的突出优势将RS分组,保证每组RS数量基本一致;让RS周期性的采集自身内存、CPU、I/O等资源的利用情况发送给LB,以便RS权值动态调节;在组间使用轮转调度算法(RR),组内使用WLC算法,改进后的算法中LB比改进前负责调度的RS数变少,同时组间RS在处理任务时可以进行并行运算,提高了资源利用率和任务处理速度。实验表明本文算法比RR和WLC更加高效。(2)提出利用存储节点排序的方法设计读取策略,使文件读取的任务更均衡地分配给各存储节点,实现负载均衡。实验结果表明改进后的策略比Swift固有策略在平衡各存储节点的CPU利用率、I/O利用率,提高网络流出速率上更有优势。当用户发起下载请求时负载响应的存储节点是被随机选择的,以上算法没有充分考虑存储节点的负载状况,可能出现众多读写请求被集中分配到单个存储节点上,从而导致该设备长期处于忙碌而耽误效率。