EMPI: Enhanced Message Passing Interface in Modern C++
Message Passing Interface (MPI) is a well-known standard for programming distributed and HPC systems. While the community has been continuously improving MPI to address the requirements of next-generation architectures and applications, its interface has not substantially evolved. In fact, MPI only...
Saved in:
Published in | 2023 IEEE/ACM 23rd International Symposium on Cluster, Cloud and Internet Computing (CCGrid) pp. 141 - 153 |
---|---|
Main Authors | , , |
Format | Conference Proceeding |
Language | English |
Published |
IEEE
01.05.2023
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Abstract | Message Passing Interface (MPI) is a well-known standard for programming distributed and HPC systems. While the community has been continuously improving MPI to address the requirements of next-generation architectures and applications, its interface has not substantially evolved. In fact, MPI only provides an interface to C and Fortran and does not support recent features of modern C++. Moreover, MPI programs are error-prone and subject to different syntactic and semantic errors. This paper introduces EMPI, an Enhanced Message Passing Interface based on modern C++, which is directly mapped to the OpenMPI implementation and exploits modern C++ for safe and efficient distributed programming. EMPI proposes novel C++RAII-based semantics and constant specialization to prevent error-prone code patterns such as parameter mismatch, and reduce the overhead of handling multiple objects and perinvocation time. Consequently, EMPI programs are safer: six out of nine well-known MPI error patterns do not occur while correctly using EMPI semantics. Experimental results on five microbenchmarks and two applications on a large-scale cluster using up to 1024 processes show that EMPI's performance is very similar to native MPI and considerably faster than the MPL C++ interface. |
---|---|
AbstractList | Message Passing Interface (MPI) is a well-known standard for programming distributed and HPC systems. While the community has been continuously improving MPI to address the requirements of next-generation architectures and applications, its interface has not substantially evolved. In fact, MPI only provides an interface to C and Fortran and does not support recent features of modern C++. Moreover, MPI programs are error-prone and subject to different syntactic and semantic errors. This paper introduces EMPI, an Enhanced Message Passing Interface based on modern C++, which is directly mapped to the OpenMPI implementation and exploits modern C++ for safe and efficient distributed programming. EMPI proposes novel C++RAII-based semantics and constant specialization to prevent error-prone code patterns such as parameter mismatch, and reduce the overhead of handling multiple objects and perinvocation time. Consequently, EMPI programs are safer: six out of nine well-known MPI error patterns do not occur while correctly using EMPI semantics. Experimental results on five microbenchmarks and two applications on a large-scale cluster using up to 1024 processes show that EMPI's performance is very similar to native MPI and considerably faster than the MPL C++ interface. |
Author | Crisci, Luigi Beni, Majid Salimi Cosenza, Biagio |
Author_xml | – sequence: 1 givenname: Majid Salimi surname: Beni fullname: Beni, Majid Salimi email: msalimibeni@unisa.it organization: University of Salerno,Department of Computer Science,Salerno,Italy – sequence: 2 givenname: Luigi surname: Crisci fullname: Crisci, Luigi email: lcrisci@unisa.it organization: University of Salerno,Department of Computer Science,Salerno,Italy – sequence: 3 givenname: Biagio surname: Cosenza fullname: Cosenza, Biagio email: bcosenza@unisa.it organization: University of Salerno,Department of Computer Science,Salerno,Italy |
BookMark | eNotjj1PwzAUAI1EByj9Bwh5rxL8_PFss6EolEiN6FDm6pE8F0vgooSFf08lWO62012Ly3IqLMQdqBpAxfum2Ux5dB6DrrXSplbqzAuxij4G45RRADFeCWz7Xfcg2_JOZeBR9jzPdGS5o3nO5Si78s1TooFlLrI_jTwV2azXN2KR6GPm1b-X4vWp3TfP1fZl0zWP2yoDelOxcXogMEkHE7xDcgZUerOalSZywdtEDHj-8YiMmJL1w-iCHq1GYGuW4vavm5n58DXlT5p-DqDAg7NofgHTfEGH |
CODEN | IEEPAD |
ContentType | Conference Proceeding |
DBID | 6IE 6IL CBEJK RIE RIL |
DOI | 10.1109/CCGrid57682.2023.00023 |
DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE Electronic Library (IEL) IEEE Proceedings Order Plans (POP All) 1998-Present |
DatabaseTitleList | |
Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/ sourceTypes: Publisher |
DeliveryMethod | fulltext_linktorsrc |
EISBN | 9798350301199 |
EndPage | 153 |
ExternalDocumentID | 10171546 |
Genre | orig-research |
GroupedDBID | 6IE 6IL CBEJK RIE RIL |
ID | FETCH-LOGICAL-i1673-e352ca13f2838756a5310fb42e02aa5874fae16350766e66ff47cd582d4261e43 |
IEDL.DBID | RIE |
IngestDate | Thu Jan 18 11:14:47 EST 2024 |
IsDoiOpenAccess | false |
IsOpenAccess | true |
IsPeerReviewed | false |
IsScholarly | false |
Language | English |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-i1673-e352ca13f2838756a5310fb42e02aa5874fae16350766e66ff47cd582d4261e43 |
OpenAccessLink | https://doi.org/10.1109/CCGrid57682.2023.00023 |
PageCount | 13 |
ParticipantIDs | ieee_primary_10171546 |
PublicationCentury | 2000 |
PublicationDate | 2023-May |
PublicationDateYYYYMMDD | 2023-05-01 |
PublicationDate_xml | – month: 05 year: 2023 text: 2023-May |
PublicationDecade | 2020 |
PublicationTitle | 2023 IEEE/ACM 23rd International Symposium on Cluster, Cloud and Internet Computing (CCGrid) |
PublicationTitleAbbrev | CCGRID |
PublicationYear | 2023 |
Publisher | IEEE |
Publisher_xml | – name: IEEE |
Score | 1.8551908 |
Snippet | Message Passing Interface (MPI) is a well-known standard for programming distributed and HPC systems. While the community has been continuously improving MPI... |
SourceID | ieee |
SourceType | Publisher |
StartPage | 141 |
SubjectTerms | C++ languages Computational modeling Computer architecture High Performance Computing Message passing Message Passing Interface (MPI) Modern C++ Multiprotocol label switching Programming Programming Models Semantics |
Title | EMPI: Enhanced Message Passing Interface in Modern C++ |
URI | https://ieeexplore.ieee.org/document/10171546 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3PS8MwFA5uJ08qTvxNDt5Gtv5IXluvZXMKGzs42G0kzYsOoZOxXfzrfUk3FUHwVkpKmzThfS953_cxdpcotFZnKAoLIKRKjTDaOQFQFCa2uXNBnX88gdFMPs3VfEdWD1wYRAzFZ9jzl-Es366qrd8q6_vpQyEfWqxFmVtD1tqxfuOo6Jflw3ppPYD2DKvES5dG3oboh21KiBrDIzbZv68pFnnrbTemV338kmL89wcds843QY9Pv0LPCTvA-pTBYDx9vOeD-jWc6vOxdzd5oYaEj6kVD5t_TtOjy5o3Hmi87HY7bDYcPJcjsbNFEMsYslQgYaZKx6kjZEDZBmhaRpEzMsEo0VrlmXQaCWYR0gNAAOdkVlmVJ9anSyjTM9auVzWeMw5aIyiVWOdt0NMoN0WmMHMy97JhRXrBOr7Ti_dG-WKx7-_lH_ev2KEf-KYg8Jq1N-st3lDQ3pjb8LM-AT6UlPQ |
linkProvider | IEEE |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3PS8MwGA06D3pSceJvc_A2svVH8rX1WqabrmOHDXYbSfNFh9DJ2C7-9SbppiII3kpJaUNS3kvyvfcIuYsEai0TZJkGYFzEiilpDAPIMhXq1Bjvzl8MoTfhT1Mx3YjVvRYGEX3xGbbdpT_L14ty7bbKOm76WMiHXbJngV-EtVxro_sNg6yT54_LuXYU2mmsImdeGrggoh_BKR43Hg7JcPvGulzkrb1eqXb58cuM8d-fdESa3xI9OvoCn2Oyg9UJgW4x6t_TbvXqz_Vp4fJNXmxDy5BtK-q3_4y0j84rWqeg0bzVapLJQ3ec99gmGIHNQ0hihpY1lTKMjeUGdr0B0v5IgVE8wiCSUqQJNxIt0bJcDwABjOFJqUUaabdgQh6fkka1qPCMUJASQYhIGxeEHgepyhKBieGpMw7L4nPSdJ2evdfeF7Ntfy_-uH9L9nvjYjAb9IfPl-TADUJdHnhFGqvlGq8thK_UjR-4Tzy1mD0 |
openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2023+IEEE%2FACM+23rd+International+Symposium+on+Cluster%2C+Cloud+and+Internet+Computing+%28CCGrid%29&rft.atitle=EMPI%3A+Enhanced+Message+Passing+Interface+in+Modern+C%2B%2B&rft.au=Beni%2C+Majid+Salimi&rft.au=Crisci%2C+Luigi&rft.au=Cosenza%2C+Biagio&rft.date=2023-05-01&rft.pub=IEEE&rft.spage=141&rft.epage=153&rft_id=info:doi/10.1109%2FCCGrid57682.2023.00023&rft.externalDocID=10171546 |