http://zhangyu8374.iteye.com/blog/86305
OpenMP和MPI是并行编程的两个手段,对比如下:
OpenMP:线程级(并行粒度);共享存储;隐式(数据分配方式);可扩展性差;
MPI:进程级;分布式存储;显式;可扩展性好。
OpenMP采用共享存储,意味着它只适应于SMP,DSM机器,不适合于集群。MPI虽适合于各种机器,但它的编程模型复杂:
需要分析及划分应用程序问题,并将问题映射到分布式进程集合;
需要解决通信延迟大和负载不平衡两个主要问题;
调试MPI程序麻烦;
MPI程序可靠性差,一个进程出问题,整个程序将错误;
其中第2个问题感受深刻。每次听我们部门并行组的人做报告,总是听到他们在攻克通信延迟大和负载不平衡的问题。一种并行算法的好坏就看它有没有很好的解决这两个问题。
与OpenMP,MPI相比,MapReduce的优势何在呢?
自动并行;
容错;
MapReduce学习门槛低。
附:
SMP(Symmetric multi-processing),共享总线与内存,单一操作系统映象。在软件上是可扩展的,而硬件上不能。
DSM(distributed shared memory),SMP的扩展。物理上分布存储;单一内存地址空间;非一致内存访问;单一操作系统映象。
分享到:
相关推荐
基于openmp和mpi的并行程序设计,代码,报告,以及分析!
主要采用快速排序实现(串行,openmp、mpi、openmp+mpi)排序算法,所需环境为VS2019+openmp+mpi,cmd命令 (1)完成了CPU串行程序和三种并行程序在各种规模的运行,并作出时间对比图 (2)完成了串行,openmp使用...
并行计算机架构与编程上机实验程序 求矩阵行列式MPI+OpenMP多线程编程 MPI+OpenMP多线程编程的PBS
MPI与OpenMP并行程序设计:C语言版
linux下程序,有openmp和mpi,用来完成tsp和cannon程序。
《MPI与OpenMP并行程序设计(C语言版)》是美国Oregon州立大学的Michael J.Quinn教授在多年讲授“并行程序设计”课程的基础上编写而成的,主要介绍用C语言,并结合使用MPI和OpenMP进行并行程序设计,内容包括并行体系...
MPI与OpenMP并行程序设,c语言,并行计算入门书籍。全书。
一部经典教材的ppt的补充,本人自己做的,很辛苦!
基于OpenMP_MPI并行编程模型的N体问题的优化实现,可以给刚接触openmp+mpi混合编程的人一些参考
康奈尔大学资源,mpi和openmp混合编程详解,有一定参考价值。
因此,需要考虑如何将旧版OpenMP代码重构为MapReduce模型。 提出了一种相关的重构方法,并针对上述问题开发了原型工具O2MR。 通过实验验证,该方法是有效的,并且该工具在重构过程中很有帮助。
在华为鲲鹏服务器上的 OpenMP+MPI矩阵LU分解 实验报告
一本好书,网上流传的好多版本扫描的都有问题,只显示了一半,但是这个是绝对没有问题的。
propose a parallel programming approach using hybrid CUDA OpenMP, and MPI programming, which partition loop iterations according to the number of C1060 GPU nodes in a GPU cluster which consists of one...
MPI+OpenMP混合并行编程模型应用研究
基于MPI和OpenMP的三维FDTD并行算法的研究
并行计算求素数个数包括java、OpenMP、MPI、.NET、MFC、Windows Api等方法 并行计算求素数个数包括java、OpenMP、MPI、.NET、MFC、Windows Api等方法
MPI与OpenMP的一些并行计算代码和实验报告
MPI与OpenMP并行程序设计:C语言版
MPI与OpenMP并行程序设计中文电子书,讲得很不错