《高性能计算之并行编程技术-MPI并行程序设计》
都志辉
李三立
陈渝 刘鹏
第1章 并行计算机
采用并行计算的优点:加快速度,节省投入,打破物理极限的约束。
按指令与数据划分:
SIMD单指令多数据并行计算机,MIMD多指令多数据并行计算机
SIMD计算机同时用相同的指令对不同的数据进行操作,数组或向量运算特别适合在SIMD并行计算机上执行.
MIMD计算机同时有多条指令对不同的数据进行操作.
SPMD(Single-ProgramMultuple-Data)单程序多数据并行计算机,MPMD(Multiple-ProgramMultiple-Data)多程序多数据并行计算机
一般地,SPMD并行计算机是由多个地位相同的计算机或处理器组成的;而MPMD并行计算机内计算机或处理器的地位
是不同的,根据分工的不同,它们擅长完成的工作也不同,因此可以根据需要将不同的程序(任务)放到MPMD并行计算机上执行,使得这些程序协调一致地完成给定的工作.
按存储方式划分:
共享内存和[]分布式内存是两种基本的并行计算机存储方式。除此之外,分布式共享内存也是一种越来越重要的并行计算机存储方式。
共享内存的并行计算机:各个处理单元通过对共享内存的访问来交换信息、协调各处理器对并行任务的处理。对这种共享内存的编程,实现起来相对简单,但共享内存往往成为性能特别是扩展性的重要瓶颈。
分布式内存的并行计算机:各个处理单元都拥有自己独立的局部存储器,由于不存在公共可用的存储单元,因此各个处理器之间通过消息传递来交换信息、协调和控制各个处理器的执行,这是本书介绍的消息传递并行编程模型所面对的并行计算机的存储方式。不难看出,通信对分布式内存并行计算机的性能有重要的影响,复杂的消息传递语句的编写成为在这种并行计算机上进行并行程序设计的难点所在。但是,对于这种类型的并行计算机,由
于它有很好的扩展性和很高的性能,它的应用非常广泛。
分布式共享内存的并行计算机:结合了前两者的特点,是当今新一代并行计算机的一种重要发展方向,对于目前越来越流行的机群计算(ClusterComputing)大多采用这种形式的结构。通过提高一个局部结点内的计算能力使它成为所谓的“超结点”不仅提高了整个系统的计算能力,而且可以提高系统的模块性和扩展性,有利于快速构造超大型的计算系统。