Overlapping communication and computation by using a hybrid MPI/SMPSs approach
Document typeConference report
PublisherACM Press. Association for Computing Machinery
Rights accessRestricted access - publisher's policy
Communication overhead is one of the dominant factors affecting performance in high-end computing systems. To reduce the negative impact of communication, programmers overlap communication and computation by using asynchronous communication primitives. This increases code complexity, requiring more development effort and making less readable programs. This paper presents the hybrid use of MPI and SMPSs (SMP superscalar, a task-based shared-memory programming model), allowing the programmer to easily introduce the asynchrony necessary to overlap communication and computation. We also describe implementation issues in the SMPSs run time that support its efficient interoperation with MPI. We demonstrate the hybrid use of MPI/SMPSs with four application kernels (matrix multiply, Jacobi, conjugate gradient and NAS BT) and with the high-performance LINPACK benchmark. For the application kernels, the hybrid MPI/SMPSs versions significantly improve the performance of the pure MPI counterparts. For LINPACK we get close to the asymptotic performance at relatively small problem sizes and still get significant benefits at large problem sizes. In addition, the hybrid MPI/SMPSs approach substantially reduces code complexity and is less sensitive to network bandwidth and operating system noise than the pure MPI versions.
CitationMarjanovic, V. [et al.]. Overlapping communication and computation by using a hybrid MPI/SMPSs approach. A: ACM International Conference on Supercomputing. "ICS'10: 24th ACM International Conference on Supercomputing 2010: Tsukuba, Japan: 2-4 June 2010". Tsukuba: ACM Press. Association for Computing Machinery, 2010, p. 5-16.
|Overlapping com ... brid MPISMPSs approach.pdf||Overlapping communication and computation by using a hybrid MPISMPSs approach.pdf||979.7Kb||Restricted access|