论文部分内容阅读
分布式并行计算可以提供相对廉价且强大的处理能力,在研究和应用领域都得到了广泛的关注。负载平衡是影响分布式并行计算性能的重要因素之一,负载平衡策略的效率直接关系到分布式并行系统的执行效果。负载平衡作为提高分布式并行计算性能的关键技术,是一个NP问题,因此分布式并行系统只能通过优化得到近似解而不能获得最优的负载平衡。分布式并行系统具有的特点也进一步增加了负载平衡难度:首先,分布式并行计算系统中节点的异构性和任务的异构性增加了负载平衡策略的难度;其次,网络的异构性也对负载平衡策略提出了挑战;再次,分布式并行系统的不断扩展要求负载平衡策略具有良好的可扩展性;最后,负载平衡策略需要适应分布式并行系统的动态性。这使得,目前对负载平衡的研究在任务调度模型、算法复杂程度、信息获取、数据传输代价、调整策略等方面存在一些问题。针对上述问题,本文在现有研究的基础上设计了任务调度模型,并基于此模型提出一种简单高效的负载平衡算法。(1)针对分布式并行环境的特点设计了任务调度模型。首先,抽象出包含处理数据的任务和纯计算任务的任务模型。其次,抽象出接近实际的系统结构;基于历史值的影响设计了考虑工作节点计算能力动态性和异构性的处理机模型;提出标准网络距离的概念,更好地处理网络的动态变化和计算通信开销,并基于此设计了包含局域网和广域网的通信模型。最后,根据设计的模型给出任务组织形式、迁移方式以及本文负载平衡算法要解决的问题。(2)基于设计的任务调度模型提出一种高效的负载平衡算法。算法将负载平衡分为Assignment和Redistribution两个过程,针对两个过程分别提出了简单且准确性较高的任务调度算法(SHAS:Simple and High Accuracy Scheduling Algorithm)和基于性能收益因子的动态负载调整算法(DLAPGF:Dynamic Load Adjustment Algorithm based on Performance Gains Factor)。SHAS结合了按需和周期性的信息收集方式,并采用捎带信息的方式进一步提高信息的准确性,在此基础上充分考虑通信开销和数据传输代价,提出任务最终完成时间较准确的计算方式,最后在提出的任务调度原则的指导下采用Min-Min算法对新任务进行调度。DLAPGF通过分析得出负载平衡目标,然后基于标准网络距离确定伙伴节点,并采用改进的交互信息反馈方式获取伙伴节点的信息,最后根据工作节点的最终完成时间提出性能收益因子的概念,并在此概念的基础上采用任务交换和任务迁移操作实现动态调整策略,降低了数据传输代价。同时SHAS和DLAPGF在一定程度对系统的动态性进行了处理。(3)基于系统完成时间、系统平衡性、数据传输代价和消息开销四个性能指标,分别对SHAS和DLAPGF的实验结果进行对比和分析,表明了提出算法的有效性。同时,验证了参数和系统动态性对算法效率的影响。