机群是一种分布存储的并行系统,属于NORMA,各结点通信主要使用消息传递方式。机群与MPP的主要区别有:机群的每个结点都是一个完整的计算机系统,包括CPU、内存、硬盘,但可能没有显示器、键盘、鼠标等外围设备,这样的结点称为"无头工作站";MPP的每个结点内不一定有硬盘。机群的结点间通常使用低成本的商品化网络相连,如以太网、ATM、Myrinet等,而MPP使用专门定制的网络,这个特征被认为是机群与MPP最主要的区别。机群结点与系统级网络的网络接口是连接到结点内的I/O总线上的,属于松耦合;而MPP的网络接口是连到结点内的存储总线上的,属于紧耦合。机群的每个结点上驻留有完整的操作系统;而MPP的结点内通常只有操作系统的微核。机群的结构如下图所示。


  机群是处理器技术和网络技术不断提高的产物。商品处理器运算速度飞速提高而且越来越便宜。网络技术的进步使得商品网络的带宽已经很高。目前,很多商品网络的带宽已达Gb/s量级。高速的网络硬件再加上特殊设计的网络协议,其传输速度已能达到甚至超过某些MPP专门定制的网络。这就为并行计算的通信提供了有力的保障。

  机群系统提出之后发展得十分迅猛,已成为目前研究的热点。机群受到广泛关注的原因是多方面的。其中之一就是它可以用商品处理器和商品网络方便地构造。另外它还有许多过去的并行系统不可比拟的优势。第一,投资风险小。传统的大规模并行处理机比较昂贵,如果性能不好就等于浪费了大量资金。而机群即使作为并行系统效果不好,它的每个结点仍可以作为高性能微机使用,不会浪费资金。第二,性能价格比高。传统的并行机由于生产批量小往往价格昂贵。而机群基本上使用市售的商品化部件,价格较低。机群整体的性能可达GFlops量级,已经接近一些MPP的水平。第三,系统的开发周期短,机群的硬件都是商用的,开发的重点在通信机制和并行编程环境上。第四,编程方便,软件继承性好。在机群系统中用户无需学习新的并行程序设计语言。只需在常规的C、C++、Fortran串行程序中插入少量通信原语,即可使其在机群上运行。第五,系统结构灵活。不同结构、不同性能、不同操作系统的工作站都可以连接起来构成机群系统。这样用户就可以充分利用现有设备以及闲散的计算机,用少量投资获得较大的计算能力。第六,通过把个人工作站(或微机)连接成机群,可在个人工作站空闲时给其分配任务,当工作站被使用时再回收任务和结果。可以充分利用分散的计算资源。第七,可扩展性好。这些突出的优点使机群受到广泛欢迎。

  可以从不同的角度对机群分类:按照应用目的可以分成高性能(HP,High Performance)机群和高可用性(HA,High Availability)机群;按照结点的归属可分为专用(Dedicated)机群和非专用(Nondedicated)机群;按照结点的机型可分为PC机群(COPs)、工作站机群(COWs)和SMP机群(CLUMPs);按照结点的操作系统可分为Linux机群、Solaris机群、NT机群等;按照各结点是否相同可分为同构(Homogeneous)机群和异构(Heterogeneous)机群。