负载平衡也称负载共享,是指对系统中的负载情况进行动态调整,以尽量消除或减少系统中各节点负载不均衡的现象。具体实现方法是将过载节点上的任务转移到其他轻载节点上,尽可能实现系统各节点的负载平衡,从而提高系统的吞吐量。负载共享有利于统筹管理分布式系统中的各种资源,便于利用共享信息及其服务机制扩大系统的处理能力。
动态负载共享策略是指把系统中各节点上已有的负载作为参考信息,在运行过程中,根据系统中各节点的负载状况,随时调整负载的分配,使各节点尽可能保持负载的平衡。
负载:负载共享算法中的关键问题是如何确定负载。根据任务负载可以判断某一任务在特定节点的响应时间,确定在该节点上的执行性能。曾经被研究及使用的负载包括CPU队列长度、某时间内的平均CPU队列长度、CPU利用率等。Kunz发现负载的选取对系统性能有着重要的影响,而最有效的负载计算方式是CPU队列长度。
动机:用户将任务提交给系统处理,由于任务到达的随机性导致了某些处理机处于过载而某些处理处于空闲或轻载状态。负载共享能够通过将过载处理机上的任务迁移到轻载处理机上执行来提高性能。
性能:从静态角度看,高性能是指各处理机上的负载基本平衡。从动态角度看,性能的尺度是任务的平均响应时间,而任务的响应时间是指任务从提交到开始执行的持续时间。
负载平衡策略:动态负载平衡策略包含四个部分:转移策略、选择策略、定位策略和信息策略。