An Evaluation of OpenSHMEM Interfaces for the Variable-length Alltoallv() Collective Operation
Abstract
Alltoallv() is a collective operation which allows all pro- cesses to exchange variable amounts of data with all other processes in the communication group. This means that Alltoallv() requires not only O(N2) communications, but typically also additional exchanges of the data lengths that will be transmitted in the eventual Alltoallv() call. This pre-exchange is used to calculate the proper offsets for the re- ceiving buffers on the target processes. However, we propose two new can- didate interfaces for Alltoallv() that would mitigate the need for the user to set up this extra exchange of information at the possible cost of memory efficiency. We explain the new interface variants and show how a single call can be used in place of the traditional Alltoall()/Alltoallv() pair. We then discuss the performance tradeoffs for overall communica- tion and memory costs, as well as both software and hardware-based optimizations and their applicability to the various proposed interfaces.
- Authors:
-
- ORNL
- Publication Date:
- Research Org.:
- Oak Ridge National Lab. (ORNL), Oak Ridge, TN (United States)
- Sponsoring Org.:
- Work for Others (WFO)
- OSTI Identifier:
- 1265652
- DOE Contract Number:
- AC05-00OR22725
- Resource Type:
- Conference
- Resource Relation:
- Conference: OpenSHMEM and Related Technologies, Annapolis, MD, USA, 20150804, 20150806
- Country of Publication:
- United States
- Language:
- English
Citation Formats
Lopez, Matthew Graham, Shamis, Pavel, and Gorentla Venkata, Manjunath. An Evaluation of OpenSHMEM Interfaces for the Variable-length Alltoallv() Collective Operation. United States: N. p., 2015.
Web.
Lopez, Matthew Graham, Shamis, Pavel, & Gorentla Venkata, Manjunath. An Evaluation of OpenSHMEM Interfaces for the Variable-length Alltoallv() Collective Operation. United States.
Lopez, Matthew Graham, Shamis, Pavel, and Gorentla Venkata, Manjunath. 2015.
"An Evaluation of OpenSHMEM Interfaces for the Variable-length Alltoallv() Collective Operation". United States. https://www.osti.gov/servlets/purl/1265652.
@article{osti_1265652,
title = {An Evaluation of OpenSHMEM Interfaces for the Variable-length Alltoallv() Collective Operation},
author = {Lopez, Matthew Graham and Shamis, Pavel and Gorentla Venkata, Manjunath},
abstractNote = {Alltoallv() is a collective operation which allows all pro- cesses to exchange variable amounts of data with all other processes in the communication group. This means that Alltoallv() requires not only O(N2) communications, but typically also additional exchanges of the data lengths that will be transmitted in the eventual Alltoallv() call. This pre-exchange is used to calculate the proper offsets for the re- ceiving buffers on the target processes. However, we propose two new can- didate interfaces for Alltoallv() that would mitigate the need for the user to set up this extra exchange of information at the possible cost of memory efficiency. We explain the new interface variants and show how a single call can be used in place of the traditional Alltoall()/Alltoallv() pair. We then discuss the performance tradeoffs for overall communica- tion and memory costs, as well as both software and hardware-based optimizations and their applicability to the various proposed interfaces.},
doi = {},
url = {https://www.osti.gov/biblio/1265652},
journal = {},
number = ,
volume = ,
place = {United States},
year = {2015},
month = {1}
}