集群的可扩展性及其分布式体系结构(6)
2008-11-25 10:56:49 来源:WEB开发网基于节点信息的平衡
这是一种基于预测的系统,根据节点的"运行情况"(可用缓冲区、可用内存、CPU占空比等等)获取节点在网络流量处理、应用负载能力等方面的信息,借此判断节点将来(到下一次预测前)可用的性能,并根据性能的高低进行优先级的划分以提供基于权值(通过性能指标计算而来)的负载调度算法,它可以和最低缺失法、轮转法和最快响应法合用,但主要搭配的方法是最少连接法。
基于节点流量
在这种方法中,进入集群的访问请求是根据能够反映各节点流量程度的可用网络缓冲区大小来分配的,这与基于源网络流量的技术恰恰相反(它是基于源流量的历史数据)。为了获得每个节点的网络缓存信息,平衡器要在节点上先设一个软件代理来记录网络缓存状态,然后分配流量到拥有"最可用"缓存的结点上。这种方法受网络接口卡的影响比较大,低端的网络接口卡缺少大的缓冲区,同时存在内存通道访问技术上的不足,会引起节点频繁处于中断处理例程中,降低节点CPU的处理效率。而高端网卡不但具有独立处理内存数据的能力,而且还具有端口带宽聚合的功能,可以大大提高节点处理流量的绝对速度。
基于节点负载
这种方法将流量分配到处理器负载最小的节点上。平衡器在节点上维护一个反映当前负载状况的监视程序,定时从各个节点获取必要的信息。反映机器的CPU使用率或系统的负载是很主观的。在UNIX系统中,平均负载不是由硬盘或网络状态单方面决定,而是由系统的综合状况来反映的。这种方法要求节点运行在相似配置和相同的操作系统中;或者针对不同类型的操作系统采用不同的反映负载的代理软件。就目前的操作系统而言,Windows2000的性能监视软件可以比较精确的反映负载情况;而在类UNIX和Linux系统中,就需要针对各个参数设计出能够反映负载状况的采集程序了;而如何准确反映系统真实的负载情况并据此做出合理的预测,是集群技术领域里一直的热点和难点。
更多精彩
赞助商链接