(图1-3)按存储方式对并行计算机进行分类


从物理划分上,共享内存和分布式内存是两种基本的并行计算机存储方式,除此之外,分布式共享内存也是一种越来越重要的并行计算机存储方式。
存储问题在计算机中的地位越来越重要,现在计算机的性能在很大程度上决定于存储器,而且新型的计算机有可能采用以存储器为中心而不是传统的以处理器为中心。共享内存的并行计算机在编程上相对简单,容易使用,但是它有一个重要的缺点就是扩展性较差,不可能有太多的处理器共用相同的存储器,这样由于一致性访问和读写冲突等问题会引起计算效率的降低。对于分布式内存的并行计算机,其扩展性较好,增加更多的处理器引起的问题不会象共享内存一样突出,但是在这样的计算机上编写并行程序相对较难。
共享内存的并行计算机
对于共享内存的并行计算机,各个处理单元通过对共享内存的访问来交换信息、协调各处理器对并行任务的处理。对这种共享内存的编程,实现起来相对简单,但共享内存往往成为性能特别是扩展性的重要瓶颈。
分布式内存的并行计算机
对于分布式内存的并行计算机,各个处理单元都拥有自己独立的局部存储器,由于不存在公共可用的存储单元,因此各个处理器之间通过消息传递来交换信息,协调和控制各个处理器的执行。这是本书介绍的消息传递并行编程模型所面对的并行计算机的存储方式。不难看出,通信对分布式内存并行计算机的性能有重要的影响,复杂的消息传递语句的编写成为在这种并行计算机上进行并行程序设计的难点所在,但是,对于这种类型的并行计算机,由于它有很好的扩展性和很高的性能,因此,它的应用非常广泛。
分布式共享内存的并行计算机
分布式共享内存的并行计算机结合了前两者的特点,是当今新一代并行计算机的一种重要发展方向。对于目前越来越流行的机群计算(Cluster Computing),大多采用这种形式的结构。通过提高一个局部结点内的计算能力,使它成为所谓的"超结点",不仅提高了整个系统的计算能力,而且可以提高系统的模块性和扩展性,有利于快速构造超大型的计算系统。