为了提高分布式系统的性能,设计了能根据节点当前任务负载强度和调度能力,动态地改变集群的逻辑控制结构的2层负载均衡算法.算法把系统中的节点分成多个簇,每个簇有1个调度节点和若干个工作节点,簇内工作节点形成算法的第1层,执行用户提交的任务;簇间的调度节点形成算法的第2层,调度节点间通过相互协作,均衡簇间的负载.算法可以通过分裂簇增加调度节点的方式来提高系统的调度能力;通过合并簇增加工作节点的方式来提高系统的执行能力.对于不同类型任务,算法能根据任务到达流的速度调整逻辑控制结构,从而提高CPU利用率.测试结果表明,该算法不仅能提高系统性能,而且经过调整后的系统会进入稳定状态.
In order to improve system performance, a two-tier hierarchical load-balancing algorithm by adjusting system's logical control topology based on the load and scheduling capability is proposed. The system is divided into clusters, and each cluster has a scheduling node and several working nodes. These working nodes executing jobs submitted by users consist of the first tier, and these schedule nodes, which cooperate to balance loads among clusters, consist of the second tier. In order to improve the scheduling capability, the clusters are divided to create more scheduling nodes. In order to improve system efficiency, the clusters are merged to extend more working nodes. For different kinds of tasks, the algorithm adjusts the system's logical control topology to obtain better CPU usability. Test results show that the algorithm is able to on the one hand enhance system performance, on the other hand lead the system into a stable state after the adjustments.