为了针对多核系统构建更高效的MPI支撑环境,文中提出了一种基于线程的MPI加速器,称作MPIActor.MPIActor是一种用于协助传统MPI库的透明中问件,用户可以在编译期选择是否在单线程MPI程序中采用该中间件.加入MPIActor后,每个节点内的MPI进程都被映射成同一进程中的多个线程,从而节点内的通信可通过轻量级的线程通信机制实现.作者给出了MPIActor的基本设计,详细阐述了其工作机制、通信体系结构及关键技术,并在真实系统上分别针对MVAPICH2和OpenMPI并行环境利用0SULATENCY基准测试进行了性能评测.实验结果表明在两种MPI环境上进行节点内8KB~4MB数据通信时MPIActor都能使通信性能平均提高一倍左右.
Towards building a more effective MPI infrastructure for multieore systems, a thread- based MPI program accelerator, called MPIActor, is proposed in this paper. MPIActor is a transparent middleware to assist general MPI libraries. For any single-thread MPI program, the MPI- Actor is optional in compiling phase. With the join of MPIActor, the MPI processes in each node will be mapped as several threads of one process, and the intra-node communication will be enhanced by taking advantage of the light-weight thread-based mechanism. The authors have designed and implemented the point to-point communication module. This paper details the mecha- nism, the communication architecture and key techniques, and evaluates it with OSU LATENCY benchmark on a real platform. The experimental results show that the introduction of MPIActor can achieve a 2X performance for transferring 8 KB and 4 MB messages on MVPICH2 and OpenMPI parallel environments.