Skip to main content
QUICK REVIEW

[论文解读] Hybrid MPI-OpenMP Paradigm on SMP Clusters: MPEG-2 Encoder and N-Body Simulation

Truong Vinh Truong Duy, Katsuhiro Yamazaki|arXiv (Cornell University)|Nov 10, 2012
Parallel Computing and Optimization Techniques参考文献 6被引用 8
一句话总结

本文提出一种混合MPI-OpenMP编程模型,以在SMP集群上同时利用分布式内存(MPI)和共享内存(OpenMP)并行性。通过采用分层数据分解和OpenMP调度实现的动态负载均衡,该模型在n体模拟中相比纯MPI实现1.52倍的加速,在MPEG-2编码中实现18%的性能提升。

ABSTRACT

Clusters of SMP nodes provide support for a wide diversity of parallel programming paradigms. Combining both shared memory and message passing parallelizations within the same application, the hybrid MPI-OpenMP paradigm is an emerging trend for parallel programming to fully exploit distributed shared-memory architecture. In this paper, we improve the performance of MPEG-2 encoder and n-body simulation by employing the hybrid MPI-OpenMP programming paradigm on SMP clusters. The hierarchical image data structure of the MPEG bit-stream is eminently suitable for the hybrid model to achieve multiple levels of parallelism: MPI for parallelism at the group of pictures level across SMP nodes and OpenMP for parallelism within pictures at the slice level within each SMP node. Similarly, the work load of the force calculation which accounts for upwards of 90% of the cycles in typical computations in the n-body simulation is shared among OpenMP threads after ORB domain decomposition among MPI processes. Besides, loop scheduling of OpenMP threads is adopted with appropriate chunk size to provide better load balance of work, leading to enhanced performance. With the n-body simulation, experimental results demonstrate that the hybrid MPI-OpenMP program outperforms the corresponding pure MPI program by average factors of 1.52 on a 4-way cluster and 1.21 on a 2-way cluster. Likewise, the hybrid model offers a performance improvement of 18% compared to the MPI model for the MPEG-2 encoder.

研究动机与目标

  • 通过结合MPI和OpenMP范式,提升SMP集群上计算密集型科学与多媒体工作负载的性能。
  • 通过混合并行化方法,解决纯MPI实现中负载不均和资源利用效率低下的问题。
  • 在MPEG-2编码和n体模拟等数据并行应用中,利用多级并行性。
  • 通过不同集群配置评估混合MPI-OpenMP在真实工作负载中的有效性。

提出的方法

  • 在MPEG-2编码中以组内画面(GoP)级别、在n体模拟中以域分解级别使用MPI实现节点间并行性。
  • 在MPEG-2中以片级别、在n体模拟中以力计算域内使用OpenMP实现节点内并行性。
  • 在OpenMP中应用动态循环调度并优化分块大小,以在各线程间均衡工作负载,减少负载不均。
  • 通过ORC(基于轨道)域分解将n体问题在MPI进程中分布,由OpenMP负责每个域内的力计算。
  • 在MPEG-2编码中实现分层数据结构,以支持SMP节点间和节点内多级并行性。
  • 通过在2路和4路SMP集群上比较混合MPI-OpenMP与纯MPI实现,测量性能提升。

实验结果

研究问题

  • RQ1在SMP集群上,与纯MPI相比,混合MPI-OpenMP模型在n体模拟中的性能提升如何?
  • RQ2混合模型通过多级并行性在MPEG-2编码中性能提升的幅度有多大?
  • RQ3OpenMP循环调度结合自适应分块大小在减少混合模型中负载不均方面发挥什么作用?
  • RQ4ORC域分解与OpenMP线程结合在实现n体模拟可扩展性能方面有多有效?
  • RQ5在SMP集群上,真实应用中采用混合MPI-OpenMP范式可实现多大性能增益?

主要发现

  • 在4路SMP集群上,混合MPI-OpenMP实现相比纯MPI在n体模拟中平均获得1.52倍加速。
  • 在2路SMP集群上,混合模型相比纯MPI在n体模拟工作负载中实现1.21倍加速。
  • 在MPEG-2编码中,混合模型相比纯MPI版本性能提升18%。
  • 采用合适分块大小的动态OpenMP循环调度显著改善了负载均衡,并对性能提升有重要贡献。
  • MPEG-2编码中的分层数据结构有效支持了节点间(MPI)和节点内(OpenMP)的并行性。
  • 该混合模型在不同集群配置下均表现出一致的性能提升,验证了其可扩展性和高效性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。