将MPI( Message Passing Interface)进程拓扑有效地映射到处理器拓扑上有助于提高MPI程序的通信性能。目前大部分的MPI进程映射只考虑点对点通信,很少考虑到集合通信,原因是获取集合通信的进程拓扑是比较困难的。目前大部分剖析( profiling)工具在剖析集合通信时只考虑了函数的接口语义,而忽视了实现语义,导致这些工具不能正确地获取集合通信进程之间的详细通信情况。文中提出了一套剖析算法,可以准确地计算出参与集合通信的每对进程之间的通信量,并以通信矩阵的形式给出进程拓扑。实验证明了剖析算法的正确性,并且通过这种剖析方法获取的进程拓扑能够提升进程到处理器核的映射实验效果。%The mapping from processes to processors can help the Message Passing Interface ( MPI) application improve the communica-tion performance of parallel program. Most of the mappings at present are based on point-to-point communications,and barely consider the collective communications,because it is difficult to obtain the process topology of collective communications. Most of the profiling tools nowadays only think over the interface semantics of functions in analyzing collective communications,and ignore the implementation semantics,leading to these tools can't acquire detailed communication situation of processes accurately in collective communications. Present a set of profiling algorithm which can obtain the communication traffic for each pair of processes participating collective commu-nications accurately. The experimental results show the correctness of the profiling method,and the process topology acquired through this profiling method can get better effect in the mapping from process to core.
展开▼