论文部分内容阅读
负载均衡是分布式系统或集群中的核心,利用它可以充分、高效地利用系统中的计算资源。为此需要对集群中的大计算任务进行分解、分配、移动,从而保持每个计算结点上的负载维持在一个均等的水平线上,以实现负载均衡。在分布式系统环境中,节点之间的联系不仅是松耦合的,而且节点故障、通信失败的机率非常高,这增加了系统进行负载均衡的难度。动态负载均衡能根据系统运行时的状态信息进行任务迁移决策,以适应负载状况的动态变化,这种特性在分布式系统环境中体现出了巨大的优越性。它是分布式系统研究中的一个重要研究领域。
在集群环境中,由于节点的异构性,计算任务的异步性,有时对计算任务的并发要求,从而使得要均衡系统中的负载是非常困难的。如果把计算任务作为一个自主的Agent,它能自主地定位计算资源,然后移动到具有计算资源的节点进行任务计算,最终把计算结果返回到任务发起处以进行结果汇总。当Agent具有自我划分功能时,它可以感知计算节点的负载状况,当出现超载时,它能自动划分为更小的计算任务,并把计算任务移动到轻载节点进行任务处理,从能较容易地实现动态负载均衡。
本文在简单分析Agent技术研究现状、研究热点和发展趋势的基础上,重点研究利用Agent的移动性、智能性、自主性来实现分布式计算中的动态负载均衡。提出了一种基于Agent的分布式动态负载均衡的计算模型-DLBBA,该模型综合考虑每个节点的计算资源的异构,计算时负载状况的变化以及控制策略的选择,能减少网络间的通信代价。DLBBA比较准确地描述了分布式计算中负载均衡的一般特性,力图尽可能多地利用系统中的计算资源,提供数据的透明访问,以实现高性能和高可靠性的目标。我们利用Java在普通局域中实现了这一算法。通过π值计算所获得的数据进行分析,表明DLBBA初步达到了负载均衡的目的,DLBBA具有一定的实用性和研究价值。