按照算法步骤所述,先计算服务能力F*,再将服务节点按F*大小在横坐标排序,然后调度中心按照Lorenz曲线上对应的动态变化分配各节点任务量,对于能力较弱的节点加强优先权,使这些节点优先得到分配的任务,提高最弱的20%节点的任务量至5.602%,如图10d中星号曲线t5中5号节点处对应的任务分配比例由曲线t4的0.886%上升为4.668%;而同时,也就降低了能力较强的节点(当前已分配较多任务负载)再获得任务的权利,所以曲线中段升高不明显,而最强的20%节点的权值没有变化,仍获得较多的新任务;排序前20%的服务节点任务量得到增加,即原来经常闲置的节点利用率有较大提升,说明本文公平调度方法能起到均衡负载的作用。通过上述分配调整操作,排序在前80%的节点对应累计分配负载回归到负载较为均衡状态,如图10d所示,网络负载基尼系数也调整回了曲线t5对应的Gn=0.43,即将负载状态控制在合理的Lorenz曲线范围内,将网络资源的利用率保持在较理想的状态下。实际日常服务节点在100~2000个左右的规模,所以实际的调度情况更复杂,调度频率更高,调度的实际作用更大。
width=226,height=762,dpi=110
Figure10Analysisofaregionalfairschedulingsimulation
图10区域内公平调度仿真分析
本文调度算法较其他算法而言更注重公平均衡的分配目标,即不希望看到服务节点资源闲置现象,故其均衡各网络服务节点负载的效果偏向于各节点负载量差异不悬殊。将文献检索中所提轮询算法、无监督的最大载干比算法两种分配方案的均衡度指标值与本方案对比,结果见图11。均衡度等同于各节点完成服务耗时的均方差。本文算法的目标函数如下:
width=198,height=41,dpi=110
(7)
其中,Δtij为从节点i接受任务j(yij=1,不接受为0)开始至完成返回任务所用时间。括号内是指各服务节点处理服务耗时的标准差。从工作量决定工作时长的角度结合公式(7)分析:因区域内各服务节点情况较为稳定,一定程度上均衡度值越小说明耗时波动小,工作时长差异越小,分配到服务节点上的任务量差异就越小,即任务量分配越均衡。
图11显示,因任务量变化引起的服务耗时的波动在使用本文算法时最小,使用轮询分配机制稍大,而使用无监督的最大载干比算法时,由于没有从全局统筹任务的分配,一味将任务分配给性能最好的节点,会造成较为悬殊的分配量,故耗时波动最大;在一段时间内,对于管理严格,各节点资源相近的环境,本文提出的基于网络任务分配基尼系数的调度算法可以较好地约束区域内服务节点间不出现较悬殊的任务量差,对保持区域内所有资源的充分利用起了一定作用。
width=243,height=184,dpi=110
Figure11Servicetimeparisonamongthreeallocationschemes
图11三种分配方案的均衡度对比
5结束语
在网络服务运作中,常会出现个别服务资源高负载与个别资源低利用率共存的情况,负载均衡是网络服务运作必须保证的一个基本属性,资源利用率也是服务企业重要的评估指标。本文的公平调度算法以提高资源利用率为目的,适合于在较稳定组织结构的服务网络区域内部启动使用。最主要的特点就是从全局的角度出发将任务公平地分给服务节点,是一种带监督的任务分配。实验表明,网络负载基尼系数能较客观、直观地反映和监测服务节点之间的负载差距,通过对网络负载基尼系数进行监控,能预报、预警和防止服务节点之间出现超载和空载等两极分化现象,以保障资源的充分、合理使用,为服务网络中的大数据应用及智能制造提供技术支撑。此外,本文目前还没对服务网络中可能存在的异构节点的通信作出相应的方案,故对异构节点能力无法感知和调度,将是下一阶段设计要扩展的方向。
参考文献:
[1]HuHong-chao,YiPeng,GuoYun-fei,etal.AfairserviceanddynamicroundRobinschedulingalgorithm[J].JournalofSoftware,2008,19(7):1856-1864.(inChinese)
[2]Khamse-AshariJ,KesidisG,LambadarisI,etal.Max-minfairschedulingofvariable-lenhpacket-flowstomultipleserversbydeficitround-robin[C]∥ProcofIEEEConferenceonInformationScienceandSystems,2016:390-395.
这章没有结束,请点击下一页继续阅读!
喜欢即将消逝的乡村请大家收藏:(m.x33yq.org)即将消逝的乡村33言情更新速度全网最快。