欢迎来到天天文库
浏览记录
ID:9707649
大小:62.00 KB
页数:11页
时间:2018-05-05
《基于linux的集群系统(九)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、基于Linux的集群系统(九) 在计算机硬件价格下降、计算机网络拓扑发展的情况下,分布式计算机系统给用户提供了一个丰富的资源集合。人们在研究分布式系统时,就注意到了这样一个问题:在一个由网络连接起来的多计算机环境中,在某一时刻,一些计算机的负载比较重,而另外一些计算机的负载却比较轻。平衡各计算机之间的负载是任务分配与调度的一个主要目标,它能够提高整个系统的性能。 为了改善系统的性能,通过在多台计算机之间合理地分配负载,使各台计算机的负载基本均衡,这种计算能力共享的形式,通常被称为负载平衡或负
2、载共享。一般来说,负载平衡要达到的目标是使各台计算机之间的负载基本均衡,而负载共享意味着只是简单的负载的重新分配。 负载平衡包括两种,一种是静态负载平衡,一种是动态负载平衡。只是利用系统负载的平均信息,而忽视系统当前的负载状况的方法被称为静态负载平衡。根据系统当前的负载状况来调整任务划分的方法被称为动态负载平衡。 导致负载不平衡主要是由于: 某些算法的迭代大小不是固定的,但迭代的大小在编译时却可以被求得; 某些算法的迭代大小不是固定的,并且迭代的大小依赖于被处理的数据,在编译时无法求得;
3、 即使迭代大小是固定的,也会有许多不定因素导致计算速度的差异。 考察这三个原因,对第一种情况可在编译时估计各迭代的工作量,按照处理节点的处理能力分布迭代,这就是静态负载平衡的方法。对第二、三种情况来说,必须采用动态负载平衡的手段,在运行过程中根据各个处理节点完成任务的情况,动态地迁移任务,实现动态负载平衡。进行动态负载平衡需要考察处理节点的处理能力,它的基本依据是根据处理节点先前的处理速度预见未来的处理速度。 负载平衡算法 一个负载平衡算法都包含以下三个组成部分: 信息策略:制定任务放
4、置策略的制定者使用的负载和任务量,以及信息分配的方式。 传送策略:基于任务和计算机负载,判断是否要把一个任务传送到其它计算机上处理。 放置策略:对于适合传送到其它计算机处理的任务,选择任务将被传送的目的计算机。 负载平衡的上述三个部分之间是以不同的方式相互作用的。放置策略利用信息策略提供的负载信息,仅当任务被传送策略判断为适于传送之后才行动。 总之,负载平衡的目标是:提供最短的平均任务响应时间;能适于变化的负载;是可靠的负载平衡机制。 信息策略 人们用来描述负载信息采用的参数有:
5、运行队列中的任务数; 系统调用的速率; CPU上下文切换率; 空闲CPU时间百分比; 空闲存储器的大小(K字节); 1分钟内的平均负载。对于这些单个的负载描述参数,第(1)个,即采用运行队列中的任务数作为描述负载的参数被证明是最有效的,即它的平均任务响应时间最短,并且已经得到广泛应用。但是,如果为了使系统信息更全面而采集了更多的参数,则往往由于增加了额外开销,却得不到所希望的性能改善。例如,采用将六个参数中的某两个进行AND或OR组合,得到的平均响应时间反而比单个参数的平均响应时间还要
6、差一些。 传送策略 为了简单起见,在选用传送策略时,多选用阀值策略。例如,Eager等人的方法是:在判断是否要在本地处理一个任务时,无需交换计算机之间的状态信息,一旦服务队列或等待服务队列的长度大于阀值时,就传送这个任务,而且传送的是刚刚接收的任务。而进程迁移能够迁移正在执行的任务,是对这种只能传送刚刚接收的任务的一种改进。 Zhou在模拟研究七个负载平衡算法时,其传送策略都采用阀值策略。它的阀值策略基于两个阀值∶计算机的负载阀值Load和任务执行时间阀值TCPU。如果计算机的负载超过Lo
7、ad并且任务的执行时间超过TCPU时,就把此任务传送到其它计算机执行。 放置策略 经过总结,共有以下四种放置策略。 集中策略。每隔P秒,其中一个计算机被指定为负载信息中心(LIC),接受所有其它负载的变更值,并把它们汇集到一个负载向量中,然后把负载向量广播给所有其它的计算机。当一台计算机认为一个任务适于传送到其它计算机上执行时,它就给LIC发送一个请求,并告知当前负载的值。LIC选一台具有最短运行队列长度的计算机,并且通知任务所在的计算机把任务发送给它,同时,它把目的主机负载值增加1。
8、阀值策略。随机选择一台计算机,判断若把任务传送到那台计算机后,那台计算机的任务队列长度是否会超过阀值。如果不超过阀值,就传送此任务;否则,随机选择另一台计算机,并以同样方式判断,继续这样做直到找到一台合适的目的计算机,或探测次数超过一个静态值限制LP,当任务真正到达计算机以后,不管状态如何,必须处理该任务。 最短任务队列策略。随机选择LP台不同的计算机,察看每台计算机的任务队列长度,任务被传送到具有最短任务队列长度的计算机。当任务真正到达计算机,无论状态如何,目的计算机必须处理该任务。对此策略
此文档下载收益归作者所有