TY - GEN
T1 - MPI-interoperable generalized active messages
AU - Zhao, Xin
AU - Balaji, Pavan
AU - Gropp, William D
AU - Thakur, Rajeev
PY - 2013
Y1 - 2013
N2 - Data-intensive applications have become increasingly important in recent years, yet traditional data movement approaches for scientific computation are not well suited for such applications. The Active Message (AM) model is an alternative communication paradigm that is better suited for such applications by allowing computation to be dynamically moved closer to data. Given the wide usage of MPI in scientific computing, enabling an MPI-interoperable AM paradigm would allow traditional applications to incrementally start utilizing AMs in portions of their applications, thus eliminating the programming effort of rewriting entire applications. In our previous work, we extended the MPI ACCUMULATE and MPI GET ACCUMULATE operations in the MPI standard to support AMs. However, the semantics of accumulate-style AMs are fundamentally restricted by the semantics of MPI ACCUMULATE and MPI GET ACCUMULATE, which were not designed to support the AM model. In this paper, we present a new generalized framework for MPI-interoperable AMs that can alleviate those restrictions, thus providing a richer semantics to accommodate a wide variety of application computational patterns. Together with a new API, we present a detailed description of the correctness semantics of this functionality and a reference implementation that demonstrates how various API choices affect the flexibility provided to the MPI implementation and consequently its performance.
AB - Data-intensive applications have become increasingly important in recent years, yet traditional data movement approaches for scientific computation are not well suited for such applications. The Active Message (AM) model is an alternative communication paradigm that is better suited for such applications by allowing computation to be dynamically moved closer to data. Given the wide usage of MPI in scientific computing, enabling an MPI-interoperable AM paradigm would allow traditional applications to incrementally start utilizing AMs in portions of their applications, thus eliminating the programming effort of rewriting entire applications. In our previous work, we extended the MPI ACCUMULATE and MPI GET ACCUMULATE operations in the MPI standard to support AMs. However, the semantics of accumulate-style AMs are fundamentally restricted by the semantics of MPI ACCUMULATE and MPI GET ACCUMULATE, which were not designed to support the AM model. In this paper, we present a new generalized framework for MPI-interoperable AMs that can alleviate those restrictions, thus providing a richer semantics to accommodate a wide variety of application computational patterns. Together with a new API, we present a detailed description of the correctness semantics of this functionality and a reference implementation that demonstrates how various API choices affect the flexibility provided to the MPI implementation and consequently its performance.
UR - http://www.scopus.com/inward/record.url?scp=84900861168&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84900861168&partnerID=8YFLogxK
U2 - 10.1109/ICPADS.2013.38
DO - 10.1109/ICPADS.2013.38
M3 - Conference contribution
AN - SCOPUS:84900861168
SN - 9781479920815
T3 - Proceedings of the International Conference on Parallel and Distributed Systems - ICPADS
SP - 200
EP - 207
BT - Proceedings - 2013 19th IEEE International Conference on Parallel and Distributed Systems, ICPADS 2013
PB - IEEE Computer Society
T2 - 2013 19th IEEE International Conference on Parallel and Distributed Systems, ICPADS 2013
Y2 - 15 December 2013 through 18 December 2013
ER -