Scaling communication-intensive applications on BlueGene/P using one-sided communication and overlap
Abstract
In earlier work, we showed that the one-sided communication model found in PGAS languages (such as UPC) offers significant advantages in communication efficiency by decoupling data transfer from processor synchronization. We explore the use of the PGAS model on IBM Blue-Gene/P, an architecture that combines low-power, quad-core processors with extreme scalability. We demonstrate that the PGAS model, using a new port of the Berkeley UPC compiler and GASNet one-sided communication layer, outperforms two-sided (MPI) communication in both microbenchmarks and a case study of the communication-limited benchmark, NAS FT. We scale the benchmark up to 16,384 cores of the BlueGene/P and demonstrate that UPC consistently outperforms MPI by as much as 66% for some processor configurations and an average of 32%. Additionally, the results demonstrate the scalability of the PGAS model and the Berkeley implementation of UPC, the viability of using it on machines with multicore nodes, and the effectiveness of the BG/P communication layer for supporting one-sided communication and PGAS languages.
- Authors:
-
- Univ. of California, Berkeley, CA (United States)
- Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
- Publication Date:
- Research Org.:
- Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
- Sponsoring Org.:
- USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR)
- OSTI Identifier:
- 1407080
- DOE Contract Number:
- AC02-05CH11231
- Resource Type:
- Conference
- Resource Relation:
- Conference: International Parallel and Distributed Processing Symposium (IPDPS 2009), Rome (Italy), 23-29 May 2009
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 97 MATHEMATICS AND COMPUTING
Citation Formats
Nishtala, Rajesh, Hargrove, Paul H., Bonachea, Dan O., and Yelick, Katherine A. Scaling communication-intensive applications on BlueGene/P using one-sided communication and overlap. United States: N. p., 2009.
Web. doi:10.1109/IPDPS.2009.5161076.
Nishtala, Rajesh, Hargrove, Paul H., Bonachea, Dan O., & Yelick, Katherine A. Scaling communication-intensive applications on BlueGene/P using one-sided communication and overlap. United States. https://doi.org/10.1109/IPDPS.2009.5161076
Nishtala, Rajesh, Hargrove, Paul H., Bonachea, Dan O., and Yelick, Katherine A. 2009.
"Scaling communication-intensive applications on BlueGene/P using one-sided communication and overlap". United States. https://doi.org/10.1109/IPDPS.2009.5161076. https://www.osti.gov/servlets/purl/1407080.
@article{osti_1407080,
title = {Scaling communication-intensive applications on BlueGene/P using one-sided communication and overlap},
author = {Nishtala, Rajesh and Hargrove, Paul H. and Bonachea, Dan O. and Yelick, Katherine A.},
abstractNote = {In earlier work, we showed that the one-sided communication model found in PGAS languages (such as UPC) offers significant advantages in communication efficiency by decoupling data transfer from processor synchronization. We explore the use of the PGAS model on IBM Blue-Gene/P, an architecture that combines low-power, quad-core processors with extreme scalability. We demonstrate that the PGAS model, using a new port of the Berkeley UPC compiler and GASNet one-sided communication layer, outperforms two-sided (MPI) communication in both microbenchmarks and a case study of the communication-limited benchmark, NAS FT. We scale the benchmark up to 16,384 cores of the BlueGene/P and demonstrate that UPC consistently outperforms MPI by as much as 66% for some processor configurations and an average of 32%. Additionally, the results demonstrate the scalability of the PGAS model and the Berkeley implementation of UPC, the viability of using it on machines with multicore nodes, and the effectiveness of the BG/P communication layer for supporting one-sided communication and PGAS languages.},
doi = {10.1109/IPDPS.2009.5161076},
url = {https://www.osti.gov/biblio/1407080},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Fri Jul 10 00:00:00 EDT 2009},
month = {Fri Jul 10 00:00:00 EDT 2009}
}