Title :
Kernel Assisted Collective Intra-node MPI Communication among Multi-Core and Many-Core CPUs
Author :
Ma, Teng ; Bosilca, George ; Bouteiller, Aurelien ; Goglin, Brice ; Squyres, Jeffrey M. ; Dongarra, Jack J.
Author_Institution :
EECS Dept., Univ. of Tennessee, Knoxville, TN, USA
Abstract :
Shared memory is among the most common approaches to implementing message passing within multicorenodes. However, current shared memory techniques donot scale with increasing numbers of cores and expanding memory hierarchies -- most notably when handling large data transfers and collective communication. Neglecting the underlying hardware topology, using copy-in/copy-out memory transfer operations, and overloading the memory subsystem using one-to-many types of operations are some of the most common mistakes in today´s shared memory implementations. Unfortunately, they all negatively impact the performance and scalability of MPI libraries -- and therefore applications. In this paper, we present several kernel-assisted intra-node collective communication techniques that address these three issues on many-core systems. We also present a new OpenMPI collective communication component that uses the KNEMLinux module for direct inter-process memory copying. Our Open MPI component implements several novel strategies to decrease the number of intermediate memory copies and improve data locality in order to diminish both cache pollution and memory pressure. Experimental results show that our KNEM-enabled Open MPI collective component can outperform state-of-art MPI libraries (Open MPI and MPICH2) on synthetic benchmarks, resulting in a significant improvement for a typical graph application.
Keywords :
application program interfaces; message passing; multiprocessing systems; storage management; KNEMLinux module; MPI library; copy-in memory transfer operation; copy-out memory transfer operation; inter-process memory copying; intranode MPI communication; kernel-assisted intra-node collective communication technique; many-core CPU; memory hierarchy; message passing interface; multicore CPU; Bandwidth; Hardware; Kernel; Memory management; Multicore processing; Pipelines; Topology; MPI; NUMA; collective communication; kernel; many-core; multi-core; shared memory;
Conference_Titel :
Parallel Processing (ICPP), 2011 International Conference on
Conference_Location :
Taipei City
Print_ISBN :
978-1-4577-1336-1
Electronic_ISBN :
0190-3918
DOI :
10.1109/ICPP.2011.29