• DocumentCode
    2406007
  • Title

    Improving the performance of MPI derived datatypes by optimizing memory-access cost

  • Author

    Byna, Surendra ; Gropp, William ; Sun, Xian-He ; Thakur, Rajeev

  • Author_Institution
    Dept. of Comput. Sci., Illinois Inst. of Technol., Chicago, IL, USA
  • fYear
    2003
  • fDate
    1-4 Dec. 2003
  • Firstpage
    412
  • Lastpage
    419
  • Abstract
    The MPI Standard supports derived datatypes, which allow users to describe noncontiguous memory layout and communicate noncontiguous data with a single communication function. This feature enables an MPI implementation to optimize the transfer of noncontiguous data. In practice, however, few MPI implementations implement derived datatypes in a way that performs better than what the user can achieve by manually packing data into a contiguous buffer and then calling an MPI function. In this paper, we present a technique for improving the performance of derived datatypes by automatically using packing algorithms that are optimized for memory-access cost. The packing algorithms use memory-optimization techniques that the user cannot apply easily without advanced knowledge of the memory architecture. We present performance results for a matrix-transpose example that demonstrate that our implementation of derived datatypes significantly outperforms both manual packing by the user and the existing derived-datatype code in the MPI implementation (MPICH).
  • Keywords
    application program interfaces; data structures; memory architecture; message passing; optimisation; MPI derived datatypes; contiguous buffer; derived-datatype code; matrix transposition; memory architecture; memory optimization; memory-access cost; noncontiguous data; noncontiguous memory layout; packing algorithms; packing data; performance improvement; Communication standards; Computer science; Cost function; Data structures; Laboratories; Memory architecture; Message passing; Optimization methods; Parallel processing; Sun; Writing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Cluster Computing, 2003. Proceedings. 2003 IEEE International Conference on
  • Print_ISBN
    0-7695-2066-9
  • Type

    conf

  • DOI
    10.1109/CLUSTR.2003.1253341
  • Filename
    1253341