论文部分内容阅读
集群计算技术近年来已成为计算机界研究的一个热点。采用集群技术来解决大数据量或时间复杂度高的问题不仅在计算机界,而且在其它科学领域都是首选的。负载平衡是集群系统中的重要技术,用来确定任务和节点机间的映射,提高系统性能。但往往需要用动态负载平衡来处理很多不确定因素,如任务执行时间不确定、任务数量动态变化等情况。本文针对任务执行叶间不确定这一因素来研究动态负载平衡,寻求一个负载调度策略和一个负载估计方法,使得任务在各个节点机上执行,按照调度评价达到最优。本文主要在以下几方面进行研究:(1)在前人四元组动态负载平衡模型的基础上,提出了五元组模型。动态负载平衡涉及的面比较多,从物理环境到软件环境,以及各种策略,都是相互影响的。五元组动态负载平衡模型,包含了硬件环境,调度环境,任务分配,负载估计,调度策略以及调度评价等各个方面,用数学形式定义,完整地表达了动态负载平衡的各个因素,使各个元素之间的逻辑关系更加明确,算法表达更加直观。用形式化语言来描述比用非形式化语言更能表现问题的逻辑性。(2)根据提出的五元组模型及每个元素对应的解决方案,在Linux集群环境下,一定的实验条件下,实现了动态负载平衡模型。任务分配用数组下标的传递即可完成分配,不再依赖于系统内核,减少了许多烦琐的程序,且减少了数据量的传递。对于不确定因素即任务执行时间的估计,提出了最大最小值法,相比前人做的工作,估计的准确性已经有所改进。调度策略中把节点机状态精减为空闲机和重节点机两种状态,由空闲机发起任务请求,主控机接收请求,计算出重节点机,由重节点机发出起始任务下标给空闲机。这样的调度策略,算法简单,无论是主控机还是节点机都不会占用太多的时间在任务调度上。(3)本文根据提出的五元组模型,主要对独立性强、任务间相关性不大、任务执行时间不确定的任务进行实验。实验结果表明,本文的动态负载平衡策略在同构集群上能够较好地提高任务的响应时间,负载平衡效率有所提高,同时也进行了调度评价,结果较为满意。