GRAPES切线伴随模式MPI/OpenMP高效算法研究
【摘要】:我国自主研发的数值预报系统GRAPES(Global/Regional Assimilation and Prediction System)本着科研与业务通用的原则,设计并实现了模式的并行计算,现已经取得了显著的成果。但它依然存在着问题:GRAPES同时存在多个模式,并且都有着很大的计算量和存储量,运行时间也很长。为了满足GRAPES计算需求,除了提高集群自身性能外,对程序本体实施并行计算也能很好的提高计算能力。作为集群下最常用的消息传递接口MPI有着兼顾高性能、可移植、功能强大等特点,被普遍应用于分布式存储系统,成为当前并行编程的标准。但也有实例表明,运用纯MPI消息传递编程模式并不能充分发挥集群既有分布式存储又有共享存储的硬件资源优势。而在节点间使用MPI进行消息传递、在节点内使用Open MP共享存储的MPI+Open MP混合编程模型则能更加充分利用集群的特点,其优化节点内的通信,从而能取得更加理想的效果。针对如何在代码上进行GRAPES模式改进,提高其加速比和可扩展性,是本文研究的关键与重点。本文深入研究了MPI和Open MP的并行编程机理,详细介绍了GRAPES模式自身特性,并在此基础上实现了切线伴随模式的MPI+Open MP混合编程模型。文章还针对GRAPES切线伴随模式中热点子程序,分别开展了通信优化和线程级并行优化,对模式的极点通信进行了重新设计。对于以上工作是否对GRAPES切线伴随模式有效,还进行了纯MPI和MPI+Open MP混合模型的对比测试,从结果可以看出随着节点的增加当节点数大于4个的时候,MPI+Open MP的混合模式效果要优于纯MPI模式效果;并且当纯MPI模式程序遇到申请不到节点而无法运行的情况时,MPI+Open MP混合模式程序依然可以获得理想的效果。结果数据验证了在计算量和存储量需求都很大的GRAPES上运用MPI+Open MP混合模型的合理性。文章最后还对GRAPES模式的I/O瓶颈问题进行分析,利用IBMcluster1600的磁盘系统的自身资源优势,使用MPI标准中定义的通信操作MPI_FILE_WRITE和MPI_FILE_READ对并行文件系统进行读写的办法进行并行读写,并进行了对比测试,从结果可以看出并行读写有效提高了GRAPES切线伴随模式的扩展性。
【关键词】:GRAPES MPI Open MP 并行I/O 混合编程模型 并行计算
【学位级别】:硕士
【学位授予年份】:2013
【分类号】:TP311.1