mpi与openmp并行程序设计 OpenMP和MPI的各自优缺点是什么?

OpenMP和MPI的各自优缺点是什么?OpenMP和MPI是两种并行编程方法。比较如下:OpenMP:线程级(并行粒度);共享存储;隐式(数据分配);可扩展性差;MPI:进程级;分布式存储;显式;可

OpenMP和MPI的各自优缺点是什么?

OpenMP和MPI是两种并行编程方法。比较如下:OpenMP:线程级(并行粒度);共享存储;隐式(数据分配);可扩展性差;MPI:进程级;分布式存储;显式;可扩展性好。OpenMP使用共享存储,这意味着它只适用于SMP和DSM机器,而不适用于集群。MPI适用于各种机器,但其编程模型复杂:需要对应用问题进行分析和划分,并将问题映射到分布式进程集;需要解决通信延迟和负载不平衡两个主要问题;MPI程序调试麻烦;MPI程序可靠性差,一个过程有问题,整个程序都会出错;第二个问题让人感觉很深。每次听我们部门平行组的汇报,总听到他们在解决通信时延大、负载不平衡的问题。并行算法的质量取决于它能否解决这两个问题。与OpenMP和MPI相比,MapReduce有哪些优点?自动并行;容错;MapReduce的低学习阈值。附件:SMP(对称多处理),共享总线和内存,单操作系统映像。它在软件上是可扩展的,但在硬件上不是。DSM(分布式共享内存),SMP的扩展。物理分布式存储;单一内存地址空间;不一致内存访问;单一操作系统映像。