传感器开发平台
直播中

汪潇潇

7年用户 851经验值
私信 关注

并行编程模型有什么优势

并行编程模型是并行计算,尤其是并行软件的基础,也是并行硬件系统的导向,在面临多核新挑战的情况下,什么样的并行编程模型在未来能成为主流,还很难说。至少到目前,还处于百家争鸣的时代,很多模型提出,很多在应用,下面我们简单介绍一下当前的并行编程模型现状。







回帖(7)

李汉荣

2019-7-11 11:41:33
并行编程模型一直是并行计算研究领域中的重点内容,它和并行计算机体系结构紧密相关。共享存储体系结构下的并行编程模型主要是共享变量编程模型,它具有单地址空间、编程容易、可移植性差等特点,其实现有OpenMP和Pthreads等。分布式存储体系结构下的并行编程模型主要有消息传递编程模型和分布式共享编程模型两种:消息传递编程模型的特点是多地址空间、编程困难、可移植性好,其实现有 MPI, PVM等;分布式共享编程模型是指有硬件或软件的支持,在分布式体系结构下实现的具有共享变量编程模型特点的编程模型。后者可以分别按照硬件或软件的实现分为 DSM和SVM,其实现有TreadMark和JiaJia等,目前研究热点的分割全局地址空间(PGAS)模型的研究有UPC等代表,具有很强的发展潜力。
举报

魏贝贝

2019-7-11 11:41:38
多层次的SMP集群是由共享内存的SMP作为超节点,而超节点间采用消息传递,内存不能直接访问。SMP集群同时具备了共享存储和分布式存储体系结构的特点,因而传统并行体系结构下的编程模型己经不再完全适用于它。根据SMP集群多级并行结构的特点,很自然地考虑到将共享存储编程模型与分布式存储编程模型相结合。目前国内外学术界对于 SMP集群体系结构上编程模型的选择仍然存在着分歧,为此已经提出了多种方案,有的侧重性能有的侧重可移植性和易用性,孰优孰劣,尚无定论。但从编程模型的评价标准— 计算性能和易用性综合的角度考虑,Openw 优于Thread,使得MPI+OpenMP的混合编程模型得到了广泛的应用。
举报

秦婷婷

2019-7-11 11:41:43
混合编程模型提供了节点间和节点内的两级并行机制,它的优势在于结合了进程级的粗粒度并行(例如区域分解)和线程级的细粒度并行(如循环并行)。实践证明,在很多情况下,其执行效率高于纯MPI或OpenMP程序,解决了一些它们无法解决的问题主要有:
1、负载平衡问题
在MPI并行程序中可能出现负载不平衡的问题,使程序的性能受损。而在混合编程模型中,OpenMP能够很好地解决该问题,弥补了MPI的不足,从而提高并行程序的性能。
举报

李红霞

2019-7-11 11:41:52
2、 MPI进程数目受限的问题
一些应用问题存在所需进程数目与处理机数目不匹配的问题。若前者太小,则不能充分发挥机器的效率:太大,又无法执行。使用混合编程模型,首先执行MPI分解策略,启动理想数目的进程,再用OpenMP进一步分解子任务,则可以使所有处理机得到高效利用。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分