WEB开发网
开发学院服务器服务器方案 Linux集群之负载平衡原理和实现算法 阅读

Linux集群之负载平衡原理和实现算法

 2008-11-26 10:59:37 来源:WEB开发网   
核心提示:在计算机硬件价格下降、计算机网络拓扑发展的情况下,分布式计算机系统给用户提供了一个丰富的资源集合,Linux集群之负载平衡原理和实现算法,人们在研究分布式系统时,就注意到了这样一个问题:在一个由网络连接起来的多计算机环境中,实现动态负载平衡,进行动态负载平衡需要考察处理节点的处理能力,在某一时刻,一些计算机的负载比较重

在计算机硬件价格下降、计算机网络拓扑发展的情况下,分布式计算机系统给用户提供了一个丰富的资源集合。人们在研究分布式系统时,就注意到了这样一个问题:在一个由网络连接起来的多计算机环境中,在某一时刻,一些计算机的负载比较重,而另外一些计算机的负载却比较轻。平衡各计算机之间的负载是任务分配与调度的一个主要目标,它能够提高整个系统的性能。

为了改善系统的性能,通过在多台计算机之间合理地分配负载,使各台计算机的负载基本均衡,这种计算能力共享的形式,通常被称为负载平衡或负载共享。一般来说,"负载平衡"要达到的目标是使各台计算机之间的负载基本均衡,而"负载共享"意味着只是简单的负载的重新分配。

负载平衡包括两种,一种是静态负载平衡,一种是动态负载平衡。只是利用系统负载的平均信息,而忽视系统当前的负载状况的方法被称为静态负载平衡。根据系统当前的负载状况来调整任务划分的方法被称为动态负载平衡。

导致负载不平衡主要是由于:

某些算法的迭代大小不是固定的,但迭代的大小在编译时却可以被求得;

某些算法的迭代大小不是固定的,并且迭代的大小依赖于被处理的数据,在编译时无法求得;

即使迭代大小是固定的,也会有许多不定因素导致计算速度的差异。

考察这三个原因,对第一种情况可在编译时估计各迭代的工作量,按照处理节点的处理能力分布迭代,这就是静态负载平衡的方法。对第二、三种情况来说,必须采用动态负载平衡的手段,在运行过程中根据各个处理节点完成任务的情况,动态地迁移任务,实现动态负载平衡。进行动态负载平衡需要考察处理节点的处理能力,它的基本依据是根据处理节点先前的处理速度预见未来的处理速度。

1 2 3 4 5 6  下一页

Tags:Linux 集群 负载

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接