The Experts below are selected from a list of 288 Experts worldwide ranked by ideXlab platform

Jesper Larsson Traff - One of the best experts on this subject based on the ideXlab platform.

  • On Expected and Observed Communication Performance with MPI Derived Datatypes
    Parallel Computing, 2017
    Co-Authors: Alexandra Carpen-amarie, Sascha Hunold, Jesper Larsson Traff
    Abstract:

    Abstract We are interested in the cost of communicating simple, common, non-contiguous data layouts in various scenarios using the MPI Derived datatype mechanism. Our aim is twofold. First, we provide a framework for studying communication performance for non-contiguous data layouts described with MPI Derived Datatypes in comparison to baseline performance with the same amount of contiguously stored data. Second, we explicate natural expectations on Derived datatype communication performance that any MPI library implementation should arguably fulfill. These expectations are stated semi-formally as MPI datatype performance guidelines. Using our framework, we examine several MPI libraries on two different systems. Our findings are in many ways surprising and disappointing. First, using Derived Datatypes as intended by the MPI standard sometimes performs worse than the semantically equivalent packing and unpacking with the corresponding MPI functionality followed by contiguous communication. Second, communication performance with a single, contiguous datatype can be significantly worse than a repetition of its constituent datatype. Third, the heuristics that are typically employed by MPI libraries at type-commit time turn out to be insufficient to enforce the performance guidelines, showing room for better algorithms and heuristics for representing and processing Derived Datatypes in MPI libraries. In particular, we show cases where all MPI type constructors are necessary to achieve the expected performance. Our findings provide useful information to MPI library implementers, and hints to application programmers on good use of Derived Datatypes. Improved MPI libraries can be validated using our framework and approach.

  • on the expected and observed communication performance with mpi Derived Datatypes
    Proceedings of the 23rd European MPI Users' Group Meeting on, 2016
    Co-Authors: Alexandra Carpenamarie, Sascha Hunold, Jesper Larsson Traff
    Abstract:

    We examine natural expectations on communication performance using MPI Derived Datatypes in comparison to the baseline, "raw" performance of communicating simple, noncontiguous data layouts. We show that common MPI libraries sometimes violate these datatype performance expectations, and discuss reasons why this happens, but also show cases where MPI libraries perform well. Our findings are in many ways surprising and disappointing. First, the performance of Derived Datatypes is sometimes worse than the semantically equivalent packing and unpacking using the corresponding MPI functionality. Second, the communication performance equivalence stated in the MPI standard between a single contiguous datatype and the repetition of its constituent datatype does not hold universally. Third, the heuristics that are typically employed by MPI libraries at type-commit time are insufficient to enforce natural performance guidelines, and better type normalization heuristics may have a significant performance impact. We show cases where all the MPI type constructors are necessary to achieve the expected performance for certain data layouts. We describe our benchmarking approach to verify the datatype performance guidelines, and present extensive verification results for different MPI libraries.

  • MPI Derived Datatypes: Performance Expectations and Status Quo.
    arXiv: Distributed Parallel and Cluster Computing, 2016
    Co-Authors: Alexandra Carpen-amarie, Sascha Hunold, Jesper Larsson Traff
    Abstract:

    We examine natural expectations on communication performance using MPI Derived Datatypes in comparison to the baseline, "raw" performance of communicating simple, non-contiguous data layouts. We show that common MPI libraries sometimes violate these datatype performance expectations, and discuss reasons why this happens, but also show cases where MPI libraries perform well. Our findings are in many ways surprising and disappointing. First, the performance of Derived Datatypes is sometimes worse than the semantically equivalent packing and unpacking using the corresponding MPI functionality. Second, the communication performance equivalence stated in the MPI standard between a single contiguous datatype and the repetition of its constituent datatype does not hold universally. Third, the heuristics that are typically employed by MPI libraries at type-commit time are insufficient to enforce natural performance guidelines, and better type normalization heuristics may have a significant performance impact. We show cases where all the MPI type constructors are necessary to achieve the expected performance for certain data layouts. We describe our benchmarking approach to verify the datatype performance guidelines, and present extensive verification results for different MPI libraries.

  • Message-Combining Algorithms for Isomorphic, Sparse Collective Communication.
    arXiv: Distributed Parallel and Cluster Computing, 2016
    Co-Authors: Jesper Larsson Traff, Alexandra Carpen-amarie, Sascha Hunold, Antoine Rougier
    Abstract:

    Isomorphic (sparse) collective communication is a form of collective communication in which all involved processes communicate in small, identically structured neighborhoods of other processes. Isomorphic neighborhoods are defined via an embedding of the processes in a regularly structured topology, e.g., $d$-dimensional torus, which may correspond to the physical communication network of the underlying system. Isomorphic collective communication is useful for implementing stencil and other regular, sparse distributed computations, where the assumption that all processes behave (almost) symmetrically is justified. In this paper, we show how efficient message-combining communication schedules for isomorphic, sparse collective communication can easily and efficiently be computed by purely local computations. We give schemes for \emph{isomorphic \alltoall} and \emph{\allgather} communication that reduce the number of communication rounds and thereby the communication latency from $s$ to at most $Nd$, for neighborhoods consisting of $s$ processes with the (small) factor $N$ depending on the structure of the neighborhood and the capabilities of the communication system. Using these schedules, we give \emph{zero-copy implementations} of the isomorphic collectives using MPI and its Derived Datatypes to eliminate explicit, process-local copy operations. By benchmarking the collective communication algorithms against straightforward implementations and against the corresponding MPI neighborhood collectives, we document significant latency improvements of our implementations for block sizes of up to a few kilobytes. We discuss further optimizations for computing even better schedules, some of which have been implemented and benchmarked.

  • EuroMPI - On the Expected and Observed Communication Performance with MPI Derived Datatypes
    Proceedings of the 23rd European MPI Users' Group Meeting on - EuroMPI 2016, 2016
    Co-Authors: Alexandra Carpen-amarie, Sascha Hunold, Jesper Larsson Traff
    Abstract:

    We examine natural expectations on communication performance using MPI Derived Datatypes in comparison to the baseline, "raw" performance of communicating simple, noncontiguous data layouts. We show that common MPI libraries sometimes violate these datatype performance expectations, and discuss reasons why this happens, but also show cases where MPI libraries perform well. Our findings are in many ways surprising and disappointing. First, the performance of Derived Datatypes is sometimes worse than the semantically equivalent packing and unpacking using the corresponding MPI functionality. Second, the communication performance equivalence stated in the MPI standard between a single contiguous datatype and the repetition of its constituent datatype does not hold universally. Third, the heuristics that are typically employed by MPI libraries at type-commit time are insufficient to enforce natural performance guidelines, and better type normalization heuristics may have a significant performance impact. We show cases where all the MPI type constructors are necessary to achieve the expected performance for certain data layouts. We describe our benchmarking approach to verify the datatype performance guidelines, and present extensive verification results for different MPI libraries.

Dhabaleswar K Panda - One of the best experts on this subject based on the ideXlab platform.

  • IPDPS - FALCON: Efficient Designs for Zero-Copy MPI Datatype Processing on Emerging Architectures
    2019 IEEE International Parallel and Distributed Processing Symposium (IPDPS), 2019
    Co-Authors: Jahanzeb Maqbool Hashmi, Hari Subramoni, Sourav Chakraborty, Mohammadreza Bayatpour, Dhabaleswar K Panda
    Abstract:

    Derived Datatypes are commonly used in MPI applications to exchange non-contiguous data among processes. However, state-of-the-art MPI libraries do not offer efficient processing of Derived Datatypes and often rely on packing and unpacking the data at the sender and the receiver processes. This approach incurs the cost of extra copies and increases overall communication latency. While zero-copy communication schemes have been proposed for contiguous data, applying such techniques to non-contiguous data transfers bring forth several new challenges. In this work, we address these challenges and propose FALCON — Fast and Low-overhead Communication designs for intra-node MPI Derived Datatypes processing. We show that the memory layouts translation of Derived Datatypes introduce significant overheads in the communication path and propose novel solutions to mitigate such bottlenecks. We also find that the current MPI datatype routines cannot fully take advantage of the zero-copy mechanisms, and propose enhancements to the MPI standard to address these limitations. The experimental evaluations show that our proposed designs achieve up to 3 times improved intra-node communication latency and bandwidth over state-of-the-art MPI libraries. We also evaluate our designs with communication kernels of popular scientific applications such as MILC, WRF, NAS MG, and 3D-Stencil on three different multi-/many-core architectures and show up to 5.5 times improvement over state-of-the-art designs employed by production MPI libraries.

  • high performance mpi datatype support with user mode memory registration challenges designs and benefits
    International Conference on Cluster Computing, 2015
    Co-Authors: Hari Subramoni, Khaled Hamidouche, Dhabaleswar K Panda
    Abstract:

    Noncontiguous data communication has been heavily adopted in scientific applications, especially for those written with MPI. Common strategies to handle noncontiguous data, like packing/unpacking, incur significant performance overhead during communication, which could become as a barrier of using MPI Derived Datatypes. Recently, a novel feature of Mellanox InfiniBand, called User-mode Memory Registration (UMR), has been introduced for noncontiguous data communication. UMR has the potential to support MPI Derived datatype communication efficiently without the overhead of packing/unpacking. In this paper, we analyze the UMR feature and study its basic performance with InfiniBand verbs-level micro-benchmarks. With this knowledge, we propose UMR-based schemes to support zero-copy datatype communication at MPI level. We show that a naive integration of UMR with an MPI stack could not bring performance benefits over existing schemes. Thus we propose two schemes -- UMR Pool and UMR Cache -- to enable high performance MPI datatype communication with UMR. To the best of our knowledge, this is the first paper to study, analyze, and design MPI noncontiguous data communication using the UMR feature. We propose and implement UMR-based designs on top of MVAPICH2 library. The experimental results at the microbenchmark level show that the proposed UMR-based design is able to deliver 4X performance improvement in latency for large message vector benchmarks over the packing/unpacking scheme. At the application level, for a 3D stencil communication kernel with MPI Derived datatype on 512 processes, the optimized UMR-based design outperforms the packing/unpacking scheme by 27% in execution time.

  • CLUSTER - High Performance MPI Datatype Support with User-Mode Memory Registration: Challenges, Designs, and Benefits
    2015 IEEE International Conference on Cluster Computing, 2015
    Co-Authors: Hari Subramoni, Khaled Hamidouche, Dhabaleswar K Panda
    Abstract:

    Noncontiguous data communication has been heavily adopted in scientific applications, especially for those written with MPI. Common strategies to handle noncontiguous data, like packing/unpacking, incur significant performance overhead during communication, which could become as a barrier of using MPI Derived Datatypes. Recently, a novel feature of Mellanox InfiniBand, called User-mode Memory Registration (UMR), has been introduced for noncontiguous data communication. UMR has the potential to support MPI Derived datatype communication efficiently without the overhead of packing/unpacking. In this paper, we analyze the UMR feature and study its basic performance with InfiniBand verbs-level micro-benchmarks. With this knowledge, we propose UMR-based schemes to support zero-copy datatype communication at MPI level. We show that a naive integration of UMR with an MPI stack could not bring performance benefits over existing schemes. Thus we propose two schemes -- UMR Pool and UMR Cache -- to enable high performance MPI datatype communication with UMR. To the best of our knowledge, this is the first paper to study, analyze, and design MPI noncontiguous data communication using the UMR feature. We propose and implement UMR-based designs on top of MVAPICH2 library. The experimental results at the microbenchmark level show that the proposed UMR-based design is able to deliver 4X performance improvement in latency for large message vector benchmarks over the packing/unpacking scheme. At the application level, for a 3D stencil communication kernel with MPI Derived datatype on 512 processes, the optimized UMR-based design outperforms the packing/unpacking scheme by 27% in execution time.

  • High Performance Implementation of MPI Derived Datatype Communication over InfiniBand
    2004
    Co-Authors: Pete Wyckoff, Dhabaleswar K Panda, Dhabaleswar K. P, Over Infiniband
    Abstract:

    MPI Derived datatype is a powerful method to define arbitrary collections of noncontiguous data in memory and to enable noncontiguous data communication in a single MPI function call. It can be expected that MPI Derived datatype could become a key aid in application development. In practice, however, the poor performance of many MPI implementations with Derived Datatypes forces users to resort to packing and unpacking data in contiguous buffers manually. This usage actually defeats the purpose of having Derived datatype in the MPI standard

William Gropp - One of the best experts on this subject based on the ideXlab platform.

  • DAME: Runtime-compilation for data movement
    The International Journal of High Performance Computing Applications, 2017
    Co-Authors: Tarun Prabhu, William Gropp
    Abstract:

    Modern machines consist of multiple compute devices and complex memory hierarchies. For many applications, it is imperative that any data movement between and within the various compute devices be done as efficiently as possible in order to obtain maximum performance. However, hand-optimizing code for one architecture will likely sacrifice both performance portability and software maintainability. In addition, some optimization decisions are best made at runtime. This suggests that the problem ought to be tackled on two fronts. First, provide the programmer with a declarative language to describe data layouts and data motion. This would allow the runtime system to be tuned for each architecture by a specialist and free the programmer to concentrate on the application itself. Second, exploit the execution time information to optimize the data movement code further. MPI Derived Datatypes accomplish the former task and Just In Time (JIT) compilation can be used for the latter. In this paper, we present DAME—...

  • dame a runtime compiled engine for Derived Datatypes
    Proceedings of the 22nd European MPI Users' Group Meeting on, 2015
    Co-Authors: Tarun Prabhu, William Gropp
    Abstract:

    In order to achieve high performance on modern and future machines, applications need to make effective use of the complex, hierarchical memory system. Writing performance-portable code continues to be challenging since each architecture has unique memory access characteristics. In addition, some optimization decisions can only reasonably be made at runtime. This suggests that a two-pronged approach to address the challenge is required. First, provide the programmer with a means to express memory operations declaratively which will allow a runtime system to transparently access the memory in the best way and second, exploit runtime information. MPI's Derived Datatypes accomplish the former although their performance in current MPI implementations shows scope for improvement. JIT-compilation can be used for the latter. In this work, we present DAME --- a language and interpreter that is used as the backend for MPI's Derived Datatypes. We also present DAME-L and DAME-X, two JIT-enabled implementations of DAME. All three implementations have been integrated into MPICH. We evaluate the performance of our implementations using DDTBench and two mini-applications written with MPI Derived Datatypes and obtain communication speedups of up to 20x and mini-application speedup of 3x.

  • EuroMPI - DAME: A Runtime-Compiled Engine for Derived Datatypes
    Proceedings of the 22nd European MPI Users' Group Meeting on ZZZ - EuroMPI '15, 2015
    Co-Authors: Tarun Prabhu, William Gropp
    Abstract:

    In order to achieve high performance on modern and future machines, applications need to make effective use of the complex, hierarchical memory system. Writing performance-portable code continues to be challenging since each architecture has unique memory access characteristics. In addition, some optimization decisions can only reasonably be made at runtime. This suggests that a two-pronged approach to address the challenge is required. First, provide the programmer with a means to express memory operations declaratively which will allow a runtime system to transparently access the memory in the best way and second, exploit runtime information. MPI's Derived Datatypes accomplish the former although their performance in current MPI implementations shows scope for improvement. JIT-compilation can be used for the latter. In this work, we present DAME --- a language and interpreter that is used as the backend for MPI's Derived Datatypes. We also present DAME-L and DAME-X, two JIT-enabled implementations of DAME. All three implementations have been integrated into MPICH. We evaluate the performance of our implementations using DDTBench and two mini-applications written with MPI Derived Datatypes and obtain communication speedups of up to 20x and mini-application speedup of 3x.

  • Coping with Large Data
    2014
    Co-Authors: William Gropp, Torsten Hoefler, Rajeev Thakur, Ewing Lusk
    Abstract:

    This chapter contains sections titled: 8.1 MPI Support for Large Data, 8.2 Using Derived Datatypes, 8.3 Example, 8.4 Limitations of This Approach

  • performance expectations and guidelines for mpi Derived Datatypes
    EuroMPI'11 Proceedings of the 18th European MPI Users' Group conference on Recent advances in the message passing interface, 2011
    Co-Authors: William Gropp, Torsten Hoefler, Rajeev Thakur, Jesper Larsson Traff
    Abstract:

    MPI's Derived Datatypes provide a powerful mechanism for concisely describing arbitrary, noncontiguous layouts of user data for use in MPI communication. This paper formulates self-consistent performance guidelines for Derived Datatypes. Such guidelines make performance expectations for Derived Datatypes explicit and suggest relevant optimizations to MPI implementers. We also identify self-consistent guidelines that are too strict to enforce, because they entail NP-hard optimization problems. Enforced self-consistent guidelines assure the user that certain manual datatype optimizations cannot lead to performance improvements, which in turn contributes to performance portability between MPI implementations that behave in accordance with the guidelines. We present results of tests with several MPI implementations, which indicate that many of them violate the guidelines.

Hari Subramoni - One of the best experts on this subject based on the ideXlab platform.

  • IPDPS - FALCON: Efficient Designs for Zero-Copy MPI Datatype Processing on Emerging Architectures
    2019 IEEE International Parallel and Distributed Processing Symposium (IPDPS), 2019
    Co-Authors: Jahanzeb Maqbool Hashmi, Hari Subramoni, Sourav Chakraborty, Mohammadreza Bayatpour, Dhabaleswar K Panda
    Abstract:

    Derived Datatypes are commonly used in MPI applications to exchange non-contiguous data among processes. However, state-of-the-art MPI libraries do not offer efficient processing of Derived Datatypes and often rely on packing and unpacking the data at the sender and the receiver processes. This approach incurs the cost of extra copies and increases overall communication latency. While zero-copy communication schemes have been proposed for contiguous data, applying such techniques to non-contiguous data transfers bring forth several new challenges. In this work, we address these challenges and propose FALCON — Fast and Low-overhead Communication designs for intra-node MPI Derived Datatypes processing. We show that the memory layouts translation of Derived Datatypes introduce significant overheads in the communication path and propose novel solutions to mitigate such bottlenecks. We also find that the current MPI datatype routines cannot fully take advantage of the zero-copy mechanisms, and propose enhancements to the MPI standard to address these limitations. The experimental evaluations show that our proposed designs achieve up to 3 times improved intra-node communication latency and bandwidth over state-of-the-art MPI libraries. We also evaluate our designs with communication kernels of popular scientific applications such as MILC, WRF, NAS MG, and 3D-Stencil on three different multi-/many-core architectures and show up to 5.5 times improvement over state-of-the-art designs employed by production MPI libraries.

  • high performance mpi datatype support with user mode memory registration challenges designs and benefits
    International Conference on Cluster Computing, 2015
    Co-Authors: Hari Subramoni, Khaled Hamidouche, Dhabaleswar K Panda
    Abstract:

    Noncontiguous data communication has been heavily adopted in scientific applications, especially for those written with MPI. Common strategies to handle noncontiguous data, like packing/unpacking, incur significant performance overhead during communication, which could become as a barrier of using MPI Derived Datatypes. Recently, a novel feature of Mellanox InfiniBand, called User-mode Memory Registration (UMR), has been introduced for noncontiguous data communication. UMR has the potential to support MPI Derived datatype communication efficiently without the overhead of packing/unpacking. In this paper, we analyze the UMR feature and study its basic performance with InfiniBand verbs-level micro-benchmarks. With this knowledge, we propose UMR-based schemes to support zero-copy datatype communication at MPI level. We show that a naive integration of UMR with an MPI stack could not bring performance benefits over existing schemes. Thus we propose two schemes -- UMR Pool and UMR Cache -- to enable high performance MPI datatype communication with UMR. To the best of our knowledge, this is the first paper to study, analyze, and design MPI noncontiguous data communication using the UMR feature. We propose and implement UMR-based designs on top of MVAPICH2 library. The experimental results at the microbenchmark level show that the proposed UMR-based design is able to deliver 4X performance improvement in latency for large message vector benchmarks over the packing/unpacking scheme. At the application level, for a 3D stencil communication kernel with MPI Derived datatype on 512 processes, the optimized UMR-based design outperforms the packing/unpacking scheme by 27% in execution time.

  • CLUSTER - High Performance MPI Datatype Support with User-Mode Memory Registration: Challenges, Designs, and Benefits
    2015 IEEE International Conference on Cluster Computing, 2015
    Co-Authors: Hari Subramoni, Khaled Hamidouche, Dhabaleswar K Panda
    Abstract:

    Noncontiguous data communication has been heavily adopted in scientific applications, especially for those written with MPI. Common strategies to handle noncontiguous data, like packing/unpacking, incur significant performance overhead during communication, which could become as a barrier of using MPI Derived Datatypes. Recently, a novel feature of Mellanox InfiniBand, called User-mode Memory Registration (UMR), has been introduced for noncontiguous data communication. UMR has the potential to support MPI Derived datatype communication efficiently without the overhead of packing/unpacking. In this paper, we analyze the UMR feature and study its basic performance with InfiniBand verbs-level micro-benchmarks. With this knowledge, we propose UMR-based schemes to support zero-copy datatype communication at MPI level. We show that a naive integration of UMR with an MPI stack could not bring performance benefits over existing schemes. Thus we propose two schemes -- UMR Pool and UMR Cache -- to enable high performance MPI datatype communication with UMR. To the best of our knowledge, this is the first paper to study, analyze, and design MPI noncontiguous data communication using the UMR feature. We propose and implement UMR-based designs on top of MVAPICH2 library. The experimental results at the microbenchmark level show that the proposed UMR-based design is able to deliver 4X performance improvement in latency for large message vector benchmarks over the packing/unpacking scheme. At the application level, for a 3D stencil communication kernel with MPI Derived datatype on 512 processes, the optimized UMR-based design outperforms the packing/unpacking scheme by 27% in execution time.

Rajeev Thakur - One of the best experts on this subject based on the ideXlab platform.

  • Coping with Large Data
    2014
    Co-Authors: William Gropp, Torsten Hoefler, Rajeev Thakur, Ewing Lusk
    Abstract:

    This chapter contains sections titled: 8.1 MPI Support for Large Data, 8.2 Using Derived Datatypes, 8.3 Example, 8.4 Limitations of This Approach

  • Processing MPI Derived Datatypes on Noncontiguous GPU-Resident Data
    IEEE Transactions on Parallel and Distributed Systems, 2014
    Co-Authors: John Jenkins, James Dinan, Pavan Balaji, Tom Peterka, Nagiza F. Samatova, Rajeev Thakur
    Abstract:

    Driven by the goals of efficient and generic communication of noncontiguous data layouts in GPU memory, for which solutions do not currently exist, we present a parallel, noncontiguous data-processing methodology through the MPI Datatypes specification. Our processing algorithm utilizes a kernel on the GPU to pack arbitrary noncontiguous GPU data by enriching the Datatypes encoding to expose a fine-grained, data-point level of parallelism. Additionally, the typically tree-based datatype encoding is preprocessed to enable efficient, cached access across GPU threads. Using CUDA, we show that the computational method outperforms DMA-based alternatives for several common data layouts as well as more complex data layouts for which reasonable DMA-based processing does not exist. Our method incurs low overhead for data layouts that closely match best-case DMA usage or that can be processed by layout-specific implementations. We additionally investigate usage scenarios for data packing that incur resource contention, identifying potential pitfalls for various packing strategies. We also demonstrate the efficacy of kernel-based packing in various communication scenarios, showing multifold improvement in point-to-point communication and evaluating packing within the context of the SHOC stencil benchmark and HACC mesh analysis.

  • performance expectations and guidelines for mpi Derived Datatypes
    EuroMPI'11 Proceedings of the 18th European MPI Users' Group conference on Recent advances in the message passing interface, 2011
    Co-Authors: William Gropp, Torsten Hoefler, Rajeev Thakur, Jesper Larsson Traff
    Abstract:

    MPI's Derived Datatypes provide a powerful mechanism for concisely describing arbitrary, noncontiguous layouts of user data for use in MPI communication. This paper formulates self-consistent performance guidelines for Derived Datatypes. Such guidelines make performance expectations for Derived Datatypes explicit and suggest relevant optimizations to MPI implementers. We also identify self-consistent guidelines that are too strict to enforce, because they entail NP-hard optimization problems. Enforced self-consistent guidelines assure the user that certain manual datatype optimizations cannot lead to performance improvements, which in turn contributes to performance portability between MPI implementations that behave in accordance with the guidelines. We present results of tests with several MPI implementations, which indicate that many of them violate the guidelines.

  • EuroMPI - Performance expectations and guidelines for MPI Derived Datatypes
    Recent Advances in the Message Passing Interface, 2011
    Co-Authors: William Gropp, Torsten Hoefler, Rajeev Thakur, Jesper Larsson Traff
    Abstract:

    MPI's Derived Datatypes provide a powerful mechanism for concisely describing arbitrary, noncontiguous layouts of user data for use in MPI communication. This paper formulates self-consistent performance guidelines for Derived Datatypes. Such guidelines make performance expectations for Derived Datatypes explicit and suggest relevant optimizations to MPI implementers. We also identify self-consistent guidelines that are too strict to enforce, because they entail NP-hard optimization problems. Enforced self-consistent guidelines assure the user that certain manual datatype optimizations cannot lead to performance improvements, which in turn contributes to performance portability between MPI implementations that behave in accordance with the guidelines. We present results of tests with several MPI implementations, which indicate that many of them violate the guidelines.

  • Open Issues in MPI Implementation
    2008
    Co-Authors: Rajeev Thakur
    Abstract:

    Abstract. MPI (the Message Passing Interface) continues to be the dominant programming model for parallel machines of all sizes, from small Linux clusters to the largest parallel supercomputers such as IBM Blue Gene/L and Cray XT3. Although the MPI standard was released more than 10 years ago and a number of implementations of MPI are available from both vendors and research groups, MPI implementations still need improvement in many areas. In this paper, we discuss several such areas, including performance, scalability, fault tolerance, support for debugging and verification, topology awareness, collective communication, Derived Datatypes, and parallel I/O. We also present results from experiments with several MPI implementations (MPICH2, Open MPI, Sun, IBM) on a number of platforms (Linux clusters, Sun and IBM SMPs) that demonstrate the need for performance improvement in one-sided communication and support for multithreaded programs.