一般并行计算机系统有两个基本的体系结构:分布存储和共享存储。基于分布存储的 并行计算机的每个节点都有各自的本地存储器,同时也能通过高速网络接口等方式访问其 他节点的存储器。各节点通过消息传递来进行数据交换。而基于共享存储的并行机系统则 是多个节点通过高速总线访问一个全局的存储器空间。这种方式由于总线带宽的限制, 一 般将处理器个数限制在2~16个之间。最新的并行计算机体系结构使用分布存储和共享存 储混合的方式,即每个节点都是由2~16个基于共享存储的处理器组成,再由多个这样的节 点通过高速的通信结构构成分布存储的并行计算机系统。 MPI是由MPI论坛组织开发的适用于基于分布内存的并行计算机系统的消息传递模 型。它提供了一个实际可用的、可移植的、高效的和灵活的消息传递接口标准。MPI以语言 独立的形式来定义这个接口库,并提供了与C、Fortran和Java语言的绑定。这个定义不包含任何专用于某个特别的制造商、操作系统或硬件的特性。由于这个原因,MPI在并行计算界 被广泛地接受。其标准已由原来的MPI-1发展到目前的MPI-2。 MPI-1标准规定了如下的规范:①Fortran77和C分别调用MPI子程序(函数)的命名、调 用顺序以及返回值的规则,所有的MPI实现都必须遵循这些规则,从而保证遵循这些标准的 MPI程序可以在任何平台上的可移植性。②具体的MPI库实现由硬件供应商提供,从而开 发出适合各供应商硬件的最优版本。MPI-2规范对MPI-1进行了如下的扩展:动态进程;单边通信;非阻塞群集通信模式和通信子间群集通信模式;对可扩展的I/0的支持,叫作MPI- I0,在MPI- 1 中, IO 问题全部忽略, MPI- 1只定义对Fortran 77和C语言的绑定, MPI-2将语 言绑定扩展到Fortran 90和C++;对实时处理的支持;扩展了MPI-1 的外部接口,以便使环 境工具的开发者更易于访问MPI对象。这将有助于开发剖析(profiling)、监视(monitoring) 和调试(debugging)工具。
|