The design and implementation of an asynchronous communication mechanism for the MPI communication model

  • Authors:
  • M. Matsuda;T. Kudoh;H. Tazuka;Y. Ishikawa

  • Affiliations:
  • Grid Technol. Res. Center, National Inst. of Adv. Ind. Sci. & Technol., Ibaraki, Japan;Grid Technol. Res. Center, National Inst. of Adv. Ind. Sci. & Technol., Ibaraki, Japan;Grid Technol. Res. Center, National Inst. of Adv. Ind. Sci. & Technol., Ibaraki, Japan;-

  • Venue:
  • CLUSTER '04 Proceedings of the 2004 IEEE International Conference on Cluster Computing
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many implementations of an MPI communication library are realized on top of the socket interface which is based on connection-oriented stream communication. This work addresses a mismatch between the MPI communication model and the socket interface. In order to overcome a mismatch and implement an efficient MPI library for large-scale commodity-based clusters, a new communication mechanism, called 02G, is designed and implemented. O2G integrates receive queue management of MPI into a TCP/IP protocol handler, without modifying the protocol stacks. Received data is extracted from the TCP receive buffer and copied into the user space within the TCP/IP protocol handler invoked by interrupts. It totally avoids polling of sockets and reduces system call overhead, which becomes dominant in large-scale clusters. In addition, its immediate and asynchronous receive operation avoids message flow disruption due to a shortage of capacity in the receive buffer, and keeps the bandwidth high. An evaluation using the NAS Parallel Benchmarks shows that 02G made an MPI implementation up to 30 percent faster than the original one. An evaluation on bandwidth also shows that 02G made an MPI implementation independent of the number of connections, while an implementation with sockets was greatly affected by the number of connections.