共查询到18条相似文献,搜索用时 140 毫秒
1.
2.
基于MPI的并行八叉树碰撞检测 总被引:5,自引:1,他引:5
通过对碰撞检测过程进行分析,发现各节点间相关性较小,存在并行化的可能.在对八叉树碰撞检测算法做适当修改的基础上,结合成熟的消息传递通信(MPI)并行编程环境,提出了基于MPI的并行碰撞检测算法.测试结果表明,碰撞检测效率有较大的提高. 相似文献
3.
为了研究基于软件DSM系统的OpenMP实现,该文以一类具有代表性的用户题为例,分别测试了其基于JIAJIA系统的两种实现方式的加速比:一种是用JIAJIA提供的消息传递系统调用,实现一个类MPI版本(方式1);另一种是用多个处理机对共享数组的读写来替代消息传递系统调用(方式2)。测试结果发现,对少量处理机系统,两种方式还具有可比性,但是,随着处理机数的增多,共享存储应用的性能急剧下降。通过对测试结果的分析及对用户题的进一步测试,发现方式2的时间主要花费在做一致性处理和缺页中断处理而导致的大量小消息通信上。测试表明,JIAJIA共享存储程序一般会比MPI程序导致更重的网络负载。要在JIAJIA共享存储基础之上建立一种实用的共享并行计算环境,尤其在支持OpenMP等共享编程语言方面,还有待进一步工作。 相似文献
4.
为了研究基于软件DSM系统的OpenMP实现,该文以一类具有代表性的用户题为例,分别测试了其基于JIAJIA系统的两种实现力的加速比:一种是用JIAJIA提供的消息传递系统调用,实现了个类MPI版本(方式1):另一种是用多个处理机对共享数组的读写来替代消息传递系统调用(方式2),测试结果发现,对少量处理机系统,两种方式还具有可比性,但是,随着处理机数的增多,共享存储应用的性能急剧下降。通过对测试结果的分析及对用户题的进一步测试,发现方式2的时间主要花费在做一致性处理和缺页中断处理而导致的大量小消息通信上,测试表明,JIAJIA共享存储程序一般会比MPI程序导致更重的网络负载,要在JIAJIA共享存储基础之上建立一种实用的共享并行计算环境,尤其在支持OpenMP等共享编程语言方面,还有待进一步工作。 相似文献
5.
随着高性能计算机的应用和发展,并行应用程序所使用的处理器数越来越多,进程间的通信量也不断增多,这对应用程序的性能有很大影响. 在采用一种快速傅里叶变换HFFT对曙光5000A进行性能测试时发现,MPI集合通信函数MPI Alltoall的巨大通信开销是并行程序设计的瓶颈.为此,对现有主流Alltoall算法在曙光5000A和深腾7000上进行性能测试与分析,以期对未来的Alltoall算法的优化工作做出贡献.利用不同消息长度和不同进程数测试了Alltoall函数多种算法的性能,这些算法包括二维网格算法、三维网格算法、Bruck算法、原始算法、成对交换算法、递归倍增算法、环算法以及LAM/MPI中的简单算法等.实验结果表明:消息长度较小时,在曙光5000A上采用原始算法和Bruck算法的性能较好,而在深腾7000上用时较少的算法是简单算法和Bruck算法;对于长消息,曙光5000A上最优的算法是环算法,深腾7000上成对交换性能最优. 相似文献
6.
本文阐述了MPI和OpenMP的编程模式,并在此基础上利用MPI和OpenMP混合并行的方式,即:在节点内应用OpenMP共享存储、在节点间应用MPI进行消息传递的模式,对我国自行研发的数值天气预报系统GRAPES(Global/Regional Assimilation and Prediction Syste)进行测试,。结果表明,混合并行算法比原来的单纯的MPI模式有更加理想的并行效率和加速比。 相似文献
7.
通过对基于MPI编程模型实现的开源有限元计算分析软件在多核集群计算平台中的程序性能的分析,找出程序瓶颈及其原因,实现了基于MPI编程模型的并行程序在多核计算环境中的性能优化。根据程序性能瓶颈的分析,提出了基于MPI/OpenMP混合并行编程模型的大规模线性/非线性方程组求解和多线程多进程同时进行消息通信的两种程序性能优化方案。不同计算规模的实验结果表明,在多核集群计算平台中,MPI/OpenMP混合编程模型实现的大规模非线性方程组求解器相对于单纯基于MPI编程模型实现的并行程序,其性能有2倍到3倍的提升;多线程多进程同时消息传递的优化方案虽然对程序能够起到性能优化作用,但是对解决程序消息通信瓶颈的问题不是最好的方法。两个方案总体性能分析结果表明,基于MPI/OpenMP混合编程模型实现的并行程序,在多核集群计算平台中能够更好地发挥硬件系统的计算能力。 相似文献
8.
随着高性能计算机系统与并行应用规模的不断增加,大规模并行作业的启动时间不能再被忽略不计.已有的研究给出了在Tianhe-1A系统上加载MPI作业的性能结果.通过分析作业启动在控制消息传递、文件访问、MPI环境初始化等各阶段的时间开销,发现对于大规模MPI作业而言,环境初始化时间是作业启动的主要开销.基于此发现进行了一些优化,减少MPI环境初始化时交换的数据量,并避免不必要的数据传输开销.显著地提高了并行作业启动的性能,进而提出了一种层次式的可扩展进程管理结构,以进一步增强作业启动的可扩展性.与其他主流MPI实现的进程管理机制的作业启动时间进行了比较. 相似文献
9.
在分布式存储系统上,MPI已被证实是理想的并行程序设计模型。MPI是基于消息传递的并行编程模型,进程间的通信是通过调用库函数来实现的,因此MPI并行程序中,通信部分代码的效率对该并行程序的性能有直接的影响。通过用集群通信函数替代点对点通信函数以及通过派生数据类型和建立新通信域这两种方式,两次改进DNS的MPI并行程序实现,并通过实验给出一个优化MPI并行程序的一般思路与方法。 相似文献
10.
提出一种适用于SMP集群的混合MPI+OpenMP并行编程模型。该模型贴近于SMP集群的体系结构且综合了消息传递和共享内存2种编程模型的优势,能获得较好的性能。讨论该混合模型的实现机制以及MPI消息传递模型的特点。实验结果表明,在一定条件下,该混合并行编程模型是SMP集群的最优选择。 相似文献
11.
12.
Clusters, composed of symmetric multiprocessor (SMP) machines and heterogeneous machines, have become increasingly popular for high‐performance computing. Message‐passing libraries, such as message‐passing interface (MPI) and parallel virtual machine (PVM), are de facto parallel programming libraries for clusters that usually consist of homogeneous and uni‐processor machines. For SMP machines, MPI is combined with multithreading libraries like POSIX Thread and OpenMP to take advantage of the architecture. In addition to existing parallel programming libraries that are in C/C++ and FORTRAN programming languages, the Java programming language presents itself as another alternative with its object‐oriented framework, platform neutral byte code, and ever‐increasing performance. This paper presents a new parallel programming model and a library, VCluster, which implements this model. VCluster is based on migrating virtual threads instead of processes to support clusters of SMP machines more efficiently. The implementation uses thread migration, which can be used in dynamic load balancing. VCluster was developed in pure Java, utilizing the portability of Java to support clusters of heterogeneous machines. Several applications are developed to illustrate the use of this library and compare the usability and performance of VCluster with other approaches. Copyright © 2007 John Wiley & Sons, Ltd. 相似文献
13.
MPI(消息传递接口)作为一种著名的底层并行编程模型已被提出来作为网格编程的基础。描述了基于网格的消息传递接口的实现MPICH-G2,它基于MPICH和Gllobus工具包实现,在启动和管理中隐藏了异构性,具有良好的异构通讯性能。用一个例子说明如何在一个由Globus搭建的计算网格环境中通过MPICH-G2来创建和执行MPI计算。 相似文献
14.
15.
消息传递方式是广泛应用于一些并行机,特别是分布存储并行机的一种模式。PVM(ParallelVirtualMachine)和MPI(MessagePassingInterface)都是目前是广受欢迎的基于消息传递的并行程序库,其中PVM的消息传递接口,因其简单性,而没有给用户最大的灵活性以实现最佳的性能:为此,消息传递标准的讨论会工作组制定了消息传递接口MPI标准,为PVM实现最佳性能提供了可能。该文通过对PVM和MPI的比较,指出了从PVM应用移植到MPI应用时有利的方面和潜在的缺陷。如果一个应用程序能避开这些缺陷的影响,那么它就能够从移植中提高通信的性能,从而提高其分布式计算的性能。 相似文献
16.
异构众核架构具有超高的性能功耗比,已成为超级计算机体系结构的重要发展方向.但众核系统更为复杂的并行层次和存储层次,给编程和优化带来了极大的挑战,因此研究面向众核系统的并行编程技术,对于降低国产众核系统并行应用的编程难度、提升并行程序的性能都具有重要的意义.提出统一架构的多模式并行编程模型,包括异构融合的加速运算模型和按同构方式编程的自主运算模型,根据编程模型设计了Parallel C语言,能有效描述国产众核系统的异构并行性,与其它众核系统上MPI+X的使用模式相比,编程和系统优化都具有全局视角,在多级局部性描述、单边消息、兼容已有多核应用等方面具有特色;基于Open64构建了Parallel C编译系统,全面支持加速运算模型和自主运算模型,提出并实现了数据布局与自动DMA、编译指导的线程代理和拓扑位置感知的集合通信等优化.Micro Benchmark和实际应用在神威太湖之光计算机系统上的测试数据表明,Parallel C语言和编译系统具有良好的性能和可扩展性,能够有效支撑大型应用. 相似文献
17.
This paper presents a directive-based programming environment for master–slave message passing applications that enables the efficient execution of the same code on both shared and distributed memory multiprocessors. The environment exports an extension of the OpenMP workqueuing model, supports multiple levels of task parallelism and more than one master and provides transparent load balancing with a combination of static and dynamic scheduling of tasks. In addition, it operates exclusively through the available hardware on shared-memory machines and exploits MPI for explicit communication on clusters. Experimental results on a Linux-cluster demonstrate the successful combination of ease of programming with the performance of message passing. 相似文献
18.