关于并行程序模型的选择
在给定一种体系结构的时候,我们怎么决定采用的什么样的并行程序模型?下面的表给出了目前常用的一些并行程序模型:
并行程序员的选择
控制并行
数据并行
共享存储
MPI, Pthreads, OpenMP,
OpenMP
SMP
DXML, NAG SMP, ESSL etc.
分布存储多处理器系统
MPI,
HPF
DMM
ScaLAPACK, NAG Parallel, PESSL etc.
在很多的计算机系统中,都同时提供了OpenMP和MPI,比如DEC的8400集群计算机和SGI的Origin2000,这两种模型对不同的应用有它们各自的优势。MPI被用于分布式存储的系统,而OpenMP可以被用来在共享存储系统上作为一种循环级并行编译器的工作语言。实质上,OpenMP是更低层的POSIX线程(Pthreads)库的一个应用程序接口(API)。