LVS资源负载策略应用研究①

2019-07-23 02:08李姗姗王美吉李冬梅焦艳菲
计算机系统应用 2019年6期
关键词:模拟退火权值使用率

李姗姗,高 岑,王美吉,李冬梅,焦艳菲

1(中国科学院大学 计算机控制与工程学院,北京 100049)

2(中国科学院 沈阳计算技术研究所,沈阳 110168)

3(沈阳高精数控智能技术股份有限公司,沈阳 110168)

1 引言

LVS 能够很有效地提高云平台的高可用性,其基于IP 技术和内容请求分发的集群负载方案,能够把多台服务器构成一个高可用、高可伸缩和高性能的虚拟服务器集群系统.由于其开源优势和出色的稳定性,LVS 受到了主流市场青睐.但随着日益增长的多样化的海量数据请求以及网络请求中的高并发性,LVS 的调度策略逐渐无法满足服务需求,改进原来的策略来提升LVS 的负载均衡[1,2]能力,为网络用户提供更高质量的服务成为当前研究的一个热点.

负载均衡一直以来都是服务器集群一个热门话题,为了提高集群的资源利用率,许多新策略和解决方案不断地被提出,已经由最初的只能进行静态调度资源到可以根据系统运作情况进行动态资源分配,再到后来的自适应分配.对此,已经有很多国内外相关的技术人员在该方面做出了突出的贡献.例如,IBM 公司提出的Web Sphere 相关的一套Web 服务器,其提供了有效的集群解决方案和优秀的负载均衡能力.Microsoft 公司提出了具有高可用、高可伸缩性的网络负载技术(NLB)[1]以及组件负载均衡技术(CLB)[2].在国内,诸多高校也致力于研究负载均衡策略。例如,国防科技大学章文嵩博士支持开发的Linux 虚拟服务器项目,清华大学研发的可伸展的Web 服务器集群系统.

2 LVS 架构及原理

2.1 LVS 结构

LVS[3]主要有负载调度器、服务器池、共享存储组成.它们通过高速LAN 相互连接,构成IPVS.当系统升级时,可以避免集群瘫痪.

图1 LVS 集群架构

2.2 LVS 原有的调度算法

LVS 有十种负载调度算法,其中,静态调度算法不考虑服务器中负载状况,动态调度算法能根据负载的变化动态的调整请求调度策略.

静态调度算法:轮叫调度算法、加权轮叫调度算法、源地址散列算法、目标地址散列算法.

动态调度算法:最小连接数调度算法、加权最小连接调度算法、最短延迟调度调度算法、永不排队调度算法、基于局部性的最小连接调度算法、带复制的基于局部性最小连接调度算法.

3 基于最佳负载因子的调度策略

加权最小连接算法(WLC)是目前负载效果较好,应用极为广泛的算法.所以根据WLC 的特性,进行策略的改进.

3.1 加权最小连接算法(WLC)

WLC[4,5]算法根据RS 的处理能力,为RS 添加一个权值Wi来代表RS 的处理能力.当有新请求到达时,会从分派链表中找出连接数量与权重比值最小,且权重不为0 的RS.若找到满足要求的RS,则返回该RS 的指针;否则返回空指针.

假设有一个集群s={s0,s1,···,sn-1},C(Si)代表节点Si的连接数,W(Si)代表节点Si的权重.所有服务器当前的总连接数为当前新的任务被分配给节点Sm,只有当节点C(Sm)×W(Si)

3.2 WLC 算法的影响因素

(1)节点性能主要是与CPU、内存、I/O 设备、外部存储等状况有关.目前扩充外部存储器的容量较易实现,而I/O 设备和网络的带宽受制于客观条件;如果太多的这些信息计算权值,则节点的额外开销会过多.

(2)权值设置的科学性.服务器的权值是工作人员靠经验大体估算出来的,权值设置不能很好地反映服务器的性能.

(3)连接数不能准确反映出服务器资源的真实使用情况,它只代表当前服务器的请求访问数量,不同任务对资源占用情况也不尽相同.

3.3 最佳负载因子调度策略

针对原始的负载均衡算法中人为设置的权值,负载因子越多,其对应的权值则越多,则计算结果与实际情况产生的偏差越大的情况.在改进的算法中,首先采取模拟退火算法[6,7]选择一个最佳的负载因子来表示节点的实际负载状态,反应节点的实际性能.

对于LVS 服务器来说,为了能达到负载均衡,首先选取CPU 使用率、内存使用率和宽带使用率动态负载因子.通过实时采集节点的信息,选取建立节点资源模型和任务耗能模型.

节点资源模型Xi=[Xcpui,Xmemi,Xneti],其中,Xi表示第i个服务器可用的资源量,Xcpui表示CPU 能力,Xmemi表 示内存容量大小,Xneti表示带宽大小;任务耗能模型Yi=[Ycpui,Ymemi,Yneti],其中,Yi表 示第i个服务器单位时间内能耗量,Ycpui表 示CPU 执行数量,Ymemi表示内存占用量,Yneti表示网络数据传输量.

各个指标的使用率如下:CPU 使用率为Ucpu=Xcpu/Ycpu,内存使用率为Umem=Xmem/Ymem,宽带使用率Unet=Xnet/Ynet.

计算各因子的权值向量:

算法思想:通过负载均衡器收集的节点信息,采用模拟退火算法选择一个最佳负载因子.模拟退火算法可以较好的解决组合优化问题,并且最终结果与初始状态无关,本文选用该算法来确定具体的权值向量.将结果放进权值向量组:

α1=(αcpu1,αcpu2,···,αcpun),α2=(αmem1,αmem2,···,αmemn),α3=(αnet1,αnet2,···,αnetn),α′=(α1T,α2T,α3T),定义Ui=(Ucpui,Umemi,···,Uneti),具体的服务器负载为Li=Ui∗α′;定义模型T=(L,R,S),其中:T为响应时间,L为负载情况,R为网络请求,S为选择函数来描述负载和请求的映射关系,目标函数定义为根据模拟退火算法:S=S A(α′,T,O)收敛时,目标函数得到最小值.算法的迭代过程:

Step1.对现有解集α′中的元素进行替换,产生新解;

Step2.将新解带入目标函数,计算新的目标函数O;

Step4.降温,确定t<0.1 为算法终止条件,停止后输出的最优解α 即为最佳负载因子的权值向量.

通过收集到的节点信息,计算每个服务器的最佳负载因子 α相对应的负载率,并给他们设置一个中间阈值,负载率大于等于80% 为欲过载区;负载率小于80%为适用区.根据任务选择适用区,然后在适用区内选用经典WLC[8-10]算法选出一个最合适的节点.

4 实验验证

4.1 实验方案

根据本文改进的策略,结合实验室已搭建好的OpenStack 平台进行验证,并且资源配置如表1.

表1 云主机的资源配置

4.2 实验过程

负载均衡算法优劣一般是以集群的平均响应时间及服务器实时负载量作为评价指标.响应时间越短、负载量越稳定,说明集群的负载能力越好.为了验证算法的有效性,本文选用WAS 压力测试软件,在以下两种场景中对Linux 服务器集群进行实验验证.

(1)在测试集群瞬时压力的场景中,设置多梯度的不同并发量向集群系统发送一定数量的请求数据包,并且将其平均响应时间记录下来.本文选取十个不同梯度的请求量(单位:个)为:500、1000、1500、2000、2500、3000、3500、4000、4500、5000.

(2)在测试持续高负载的场景中,使用WAS 软件模拟用户持续向集群系统发送一定数量的请求连接,测试在该时间段内是否进行负载调整保证真实服务器的相对稳定.观察并记录服务器请求成功的情况.本文设置持续请求的时间为120 s.

4.3 实验结果及分析

本文采用改进后的最佳负载因子策略与传统的WRR 算法和WLC 算法进行实验对比,从集群角度分析,响应时间越短、服务器负载量越高,说明系统负载能力越强,在相同时间内接受和处理的请求就越多.

图2测试结果显示,当集群请求量数量较少时,本文改进的策略和传统的策略平均响应时间相差不是很大.但是随着请求量的增多、并发量的增大,本文改进策略的平均响应时间要短很多.当请求量达到5000 个时,本文策略的响应时间要比WRR 算法和WLC 算法分别少约3.7 s、7.1 s,很大程度上优化了集群系统对资源请求的处理速度,节省了响应时间,大大提高了系统资源的利用率.

图3测试结果显示,本文改进的算法,能够使得服务器的在一段时间内保持实时负载率在[57%,73%]之间,而其他两种传统策略的实时负载率分别在[50%,85%]、[55%,82%]之间.由此可以得出,在相同一段时间内,本文改进策略更能使服务器的整体负载处于一个稳定状态,可以将请求均衡的分配到各个服务器上,几乎没有出现某台服务器负载倾斜的情况.

图2 平均响应时间对比图

图3 服务器负载情况对比

由以上结果可以得出,在高并发、数据请求量巨大的集群系统中,本算法在降低系统平均响应时间和均衡各服务器节点性能上具有很大的优势.

5 结语

本文通过分析现有的算法的优点与不足,针对集群的负载因子越多对应权值越多而导致负载偏差的问题,设计出一种将模拟退火算法和WLC 算法相结合的最佳因子负载策略.通过实验验证了本文改进的策略能够使得集群中的节点负载更加均衡,很大程度的提高了集群资源的利用率.该策略对于避免云平台中服务器负载倾斜、提高其负载能力有着很大的使用价值,针对集群系统的高并发性、及负载量巨大的问题有着十分重要的意义.但是本文在集群系统出现负载倾斜时如何将系统快速的调节到均衡的状态等方面的研究仍有不足,有待进一步研究和优化本算法.

猜你喜欢
模拟退火权值使用率
一种融合时间权值和用户行为序列的电影推荐模型
基于遗传模拟退火算法的城市冷链物流末端配送路径方案——以西安市为例
内蒙古自治区病床使用率预测及其影响因素分析
2018年中国网络直播用户规模为3.97亿
改进模拟退火算法在TSP中的应用
基于模拟退火剩余矩形算法的矩形件排样
财务风险跟踪评价方法初探
基于洪泛查询的最短路径算法在智能交通系统中的应用
小学体育器材使用率不高的现象与分析