Minimizing MPI Resource Contention in Multithreaded Multicore Environments

Cluster Computing(2010)

引用 21|浏览6
暂无评分
摘要
With the ever-increasing numbers of cores per node in high-performance computing systems, a growing number of applications are using threads to exploit shared memory within a node and MPI across nodes. This hybrid programming model needs efficient support for multithreaded MPI communication. In this paper, we describe the optimization of one aspect of a multithreaded MPI implementation: concurrent accesses from multiple threads to various MPI objects, such as communicators, datatypes, and requests. The semantics of the creation, usage, and destruction of these objects implies, but does not strictly require, the use of reference counting to prevent memory leaks and premature object destruction. We demonstrate how a naive multithreaded implementation of MPI object management via reference counting incurs a significant performance penalty. We then detail two solutions that we have implemented in MPICH2 to mitigate this problem almost entirely, including one based on a novel garbage collection scheme. In our performance experiments, this new scheme improved the multithreaded messaging rate by up to 31% over the naive reference counting method.
更多
查看译文
关键词
multithreaded mpi implementation,naive multithreaded implementation,multithreaded mpi communication,mpi object management,various mpi object,multithreaded messaging rate,memory leak,multithreaded multicore environments,new scheme,naive reference,minimizing mpi resource contention,novel garbage collection scheme,tv,instruction sets,shared memory,semantics,multi threading,resource management,reference counting,message passing,minimisation,benchmark testing
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要