TY - GEN
T1 - Experiences of applying one-sided communication to nearest-neighbor communication
AU - Shan, Hongzhang
AU - Williams, Samuel
AU - Zheng, Yili
AU - Zhang, Weiqun
AU - Wang, Bei
AU - Ethier, Stephane
AU - Zhao, Zhengji
N1 - Publisher Copyright:
© 2016 IEEE.
PY - 2017/1/30
Y1 - 2017/1/30
N2 - Nearest-neighbor communication is one of the most important communication patterns appearing in many scientific applications. In this paper, we discuss the results of applying UPC++, a library-based partitioned global address space (PGAS) programming extension to C++, to an adaptive mesh framework (BoxLib), and a full scientific application GTC-P, whose communications are dominated by the nearest-neighbor communication. The results on a Cray XC40 system show that compared with the highly-tuned MPI two-sided implementations, UPC++ improves the communication performance up to 60% and 90% for BoxLib and GTC-P, respectively. We also implement the nearest-neighbor communication using MPI one-sided messages. The performance comparison demonstrates that the MPI one-sided implementation can also improve the communication performance over the two-sided version but not so significantly as UPC++ does.
AB - Nearest-neighbor communication is one of the most important communication patterns appearing in many scientific applications. In this paper, we discuss the results of applying UPC++, a library-based partitioned global address space (PGAS) programming extension to C++, to an adaptive mesh framework (BoxLib), and a full scientific application GTC-P, whose communications are dominated by the nearest-neighbor communication. The results on a Cray XC40 system show that compared with the highly-tuned MPI two-sided implementations, UPC++ improves the communication performance up to 60% and 90% for BoxLib and GTC-P, respectively. We also implement the nearest-neighbor communication using MPI one-sided messages. The performance comparison demonstrates that the MPI one-sided implementation can also improve the communication performance over the two-sided version but not so significantly as UPC++ does.
KW - Concurrent Programming
KW - Performance measures
UR - https://www.scopus.com/pages/publications/85015207512
UR - https://www.scopus.com/inward/citedby.url?scp=85015207512&partnerID=8YFLogxK
U2 - 10.1109/PAW.2016.008
DO - 10.1109/PAW.2016.008
M3 - Conference contribution
AN - SCOPUS:85015207512
T3 - Proceedings of PAW 2016: 1st PGAS Applications Workshop - Held in conjunction with SC 2016: The International Conference for High Performance Computing, Networking, Storage and Analysis
SP - 17
EP - 24
BT - Proceedings of PAW 2016
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 1st PGAS Applications Workshop, PAW 2016
Y2 - 14 November 2016
ER -