第28卷第3期 2011年3月 计算机应用研究 Application Research of Computers Vo1.28 No.3 Mar.20l1
基于目标约束的分层动态负载均衡算法木
胡志刚,张艳平
(中南大学信息科学与工程学院,长沙410083)
摘要:针对网格环境下的负载不均问题,提出了一种分层动态负载均衡机制,该机制采用随机服务模型描述
网格任务流特性及其资源上的动态负载状态,将站点内负载平衡问题归结为目标约束规划问题。理论分析了分
层负载均衡机制的有效性,证明并设计了优化方案的求解算法。仿真实验结果显示,该分层负载均衡算法在平
均响应时间、系统吞吐量方面优于以往的RBA和DBA。
关键词:网格计算;负载均衡;响应时间;约束优化
中图分类号:TP393 文献标志码:A 文章编号:1001—3695(2011)03—1105—03
doi:10.3969/j.issn.1001—3695.201 1.03.088
Objective—constrained hierarchical dynamic load balancing algorithm
HU Zhi—gang,ZHANG Yan—ping
(School ofb ̄rmation Science&Engineering,Central South University,Changsha 410083.China)
Abstract:To deal with the problem of unbalanced load in grid environment.presented a layered dynamic load balancing mechanism.It introduced random service model to describe the characteristics of grid task flow and load state of resources. Fhen,the problem of load balancing in group could be reduced to the problem of objective constraint programming.Theoretical analysis shows the effectiveness of hierarchical load balancing mechanism and the corresponding optimal algorithms.The simu— lated results show that the proposed algorithms outperform the existing ones such as RBA,DBA on the aspects of mean re— sponse time and system throughout. Key words:grid computing;load balancing;response time;constrained optimization
1 问题的提出
网格计算是在分布、异构、自治的网格环境下构建虚拟组
织,通过其内部跨自治域的资源共享和协作,达到复杂应用中
对大规模计算能力的需求。网格各站点的处理能力和容量不
均衡及网格环境具有资源可用性不确定、服务能力异构性、高
通信延迟等特点,这些容易导致自治节点的负载不均衡,大量
性能分析报告显示,负载不均是制约网格性能的关键瓶颈之
一 ,因此负载均衡一直是网格领域的一个研究热点。
负载均衡机制一般分为集中式和分布式两种。集中式机
制 的优点是管理和部署方便,可以有效地实现全局最优策
略。缺点是可靠性和可扩展性较差,且策略的算法复杂度往往
很高;分布式机制 则刚好能有效克服集中式机制的缺点,不
受单点失效的影响且具有较好的扩展性,其缺点是很难达到全
局最优。从负载均衡算法的实现而言,可以分为静态均衡算
法 和动态均衡算法 J。静态负载均衡算法不考虑当前系统
的实际运行状态,而动态负载均衡算法则会根据当前系统的状
态(如任务到达率、可用资源数目、网络负载情况等)来决定。
在已有研究中,Grosu等人 提出的静态负载均衡算法一
般作为基准性能测试方法,该算法以轮转方式(round—robin)将
负载平均分配到各个资源节点,其资源的已有负载信息由一个
全局状态服务器记录和更新。Penmatsa等人 假设所有任务
具有相同的执行时问,然后采用随机过程模型来预测资源上动 态负载变化的情况,并依据其预测结果来规划负载分配方案。
虽然该负载均衡算法具有很好的理论分析模型,但其前提条件
(所有任务具有相同的执行时间)过于严苛,难以在实际系统
中得到应用。为此,Dhakal等人 提出了一个改进的随机过 程模型,取消了文献[7]的假设前提,并同时解决了随机延迟 问题。针对不同的任务负载特性,Shah等人 提出了一种能
适应各种负载特性的动态自适应负载均衡算法,通过分析已有
任务到达时问间隔的分布特征来调整均衡算法的相关参数,从
而实现具有自适应能力的负载均衡机制。其不足之处是,在跨
虚拟组织域之间进行负载分配(包括重分配)时,由于考虑到
时问复杂度和效率问题,算法的最优化策略实际上被取消了。
本文提出的AIgMinT—H负载均衡算法采用两层集中式结
构。其中,第一层由多个自治站点构成,自治站点之问的负载
均衡算法由全局均衡器实现,而各个自治站点内部的负载均衡
由局部均衡器实现 依据当前负载的状态,不同的站点被赋予 不同的权值,用于计算最优均衡策略的负载分配方案。当任务
负载到达时,每个站点的本地调度器执行最优化负载均衡策
略,基于任务的最小响应时间或计算费用提出相应的负载均衡
算法,算法描述了均衡站点内计算节点的负载过程,站点问的
均衡策略则是当全局均衡器检测到组问发生不平衡时被触发。
2 系统模型与分析
2.1 系统模型
设网格系统是由多个计算机节点组成,这些计算节点可以
收稿日期:2010—08—03;修回日期:2010—09—23 基金项目:国家自然科学基金资助项目(60673165,60970038)
作者简介:胡志刚(1963一),男,教授,博导,主要研究方向为并行与分布式系统、网格计算、嵌入式系统;张艳平(1985.),女,硕士研究生,主要
研究方向为网格计算、分布式实时系统、可信计算(crystalping@126.toni).
计算机应用研究 第28卷
足个人主机、工作站、超级计算机等,它们的体系结构、操作系
统、处理能力可能各不相同。图1为网格系统结构。
图1网格系统结构
该结构分为两层,分别是global load balancer(GLB)控制
的站点层,以及designated representative(DR)控制的节点层。
每个站点有n,个计算节点,且每个站点中有一个designated
representative(DR)计算机,用于负责站点内负载均衡且与
GLB通信。每个站点的其他节点只与DR节点相连。在本文
中,假设被分配到站点G 的任务只能在站点G 里执行,不能迁
移到其他的站点,且假设任务可以拆分,负载均衡机制在此两
层都属于集中式。
2.2 问题定义
为便于分析和描述,表1给出了相关符号及其含义说明。
表1符号及其说明
符号 说明 “E
i
Pi 节点i的平均服务率 当前的工作负载量 分配给节点i的负载量 分配给站点G 的总负载 节点i的处理费用
GLB决定各个站点的权值,每个权值记做 , 是根据
各个站点的当前负载状态确定的。DR则根据其所在站点的
节点当前负载来均衡负载。每个节点在状态检测时间时刻发
送其当前的负载状态给其站点的DR节点,每个组的DR节点
计算其所在组的全局状态,发送给GLB。
设网格系统由G 个站点组成,每个站点有n,个节点,每个
节点是一个M/M/1排队系统(泊松分布输入和指数分布处理
时间)。因为每个节点是一个M/M/I排队系统,则节点i的平
均响应时间为
( ) ‘ )
设任务分配给站点G』的平均响应时问为 ( ),
( ) 古 F ( ) (2)
因此,从站点 的本地调度器出发,只需找到一个负载分
布 满足(Tj( ))最小,即
rain ( )
S.t. ≥0,i=l,…,一
=
<“ ,i=1,‘一,
2.3 min T ( J的求解
定理1若目标函数 ( )最小时当且仅当下面的等式
成立:
㈩
证明 将式(2)中的 ( )(i=1,…,rtj)分别求一阶偏导
和二阶偏导,即 = IIi ㈩ 嚷 —X )
O(x =芒 ㈩ ) (1 一 )
故 >0I 学 N ̄c P(x)函数是关 的
一个凸函数。同时 ( )在其定义域上连续,故 ( )存在最
小值。
在一定的限制条件下,求取任务分配给站点G 的最小响
应时问 ( )达到最小时的分配策略( ,…, ),设 >10,
叼 ≥0(i=1,…,n,), ≥0(i=1,…,n,),可以用一阶Kuhn—
Tucker条件 求之。
令拉格朗日函数
L(XI,… , ,"ql,…,叩 . l,…, ,)=
( )一 ( 一 )一 ?7 Ui( 一Ui) ( )
根据一阶Kuhn—Tucker 条件可知 (i=1,…,n,)是最优
解当且仅当存在 ≥0,叩 >10(i=1,…,n,), ≥0(i=1,…,
nj),使得F面的等式成立:
oL:0 (7) ( 0 L:0 (8)
叩 =o, ( 一n )=o ≥0 <“ (i=l,…,n ) (9)
因此可以得到:
‘ )
∑ : (11)
叩 =0, =0 t>0 < (i=1,…,n,) (12)
简化得到:
“ 。, ≤ ≤
“ ’ (13)
(14)
. :西 ≥o(i:1,…, ) (15)
<“ (i=1,…,, ,) (16)
因为 >0,将式(15)代人式(13)得到式(3),即
r∑ 1“ 一 £一v,
式(3)满足式(16)。证毕。
根据定理1可知 不能保证为非负,当下面的不等式成立
时 <0。
| 娶 (1I7 ̄/u <— 一 (,)
当 为负时,直观可行的方法是重设 为0,然后根据定理
1重新分配负载给其他的节点。为了确定不能被分配负载的
节点集合,本文提出了基于定理2的分配算法。
定理2设节点根据Ui值非递减排序(“ ≤ :≤…≤‰),
∑“,一 存在整数m(1≤m<n,)使得公式 < }成立,则当
至