skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: UPC++: A High-Performance Communication Framework for Asynchronous Computation

Conference ·
 [1];  [1];  [1];  [1];  [2];  [1];  [1];  [1]
  1. Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States). Computation Research Div.
  2. Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States). Computation Research Div.; Univ. of Michigan, Ann Arbor, MI (United States)

© 2019 IEEE UPC++ is a C++ library that supports high-performance computation via an asynchronous communication framework. This paper describes a new incarnation that differs substantially from its predecessor, and we discuss the reasons for our design decisions. We present new design features, including future-based asynchrony management, distributed objects, and generalized Remote Procedure Call (RPC). We show microbenchmark performance results demonstrating that one-sided Remote Memory Access (RMA) in UPC++ is competitive with MPI-3 RMA; on a Cray XC40 UPC++ delivers up to a 25% improvement in the latency of blocking RMA put, and up to a 33% bandwidth improvement in an RMA throughput test. We showcase the benefits of UPC++ with irregular applications through a pair of application motifs, a distributed hash table and a sparse solver component. Our distributed hash table in UPC++ delivers near-linear weak scaling up to 34816 cores of a Cray XC40. Our UPC++ implementation of the sparse solver component shows robust strong scaling up to 2048 cores, where it outperforms variants communicating using MPI by up to 3.1x. UPC++ encourages the use of aggressive asynchrony in low-overhead RMA and RPC, improving programmer productivity and delivering high performance in irregular applications.

Research Organization:
Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
Sponsoring Organization:
USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR)
DOE Contract Number:
AC02-05CH11231
OSTI ID:
1602847
Resource Relation:
Conference: 2019 IEEE International Parallel and Distributed Processing Symposium (IPDPS), Rio de Janeiro, Brazil, May 20-24, 2019
Country of Publication:
United States
Language:
English

Similar Records

UPC++ v1.0 Programmer’s Guide, Revision 2023.3.0
Technical Report · Thu Mar 30 00:00:00 EDT 2023 · OSTI ID:1602847

UPC++ v1.0 Programmer’s Guide, Revision 2022.9.0
Technical Report · Thu Sep 29 00:00:00 EDT 2022 · OSTI ID:1602847

UPC++ v1.0 Programmer’s Guide (Rev. 2023.9.0)
Technical Report · Thu Dec 14 00:00:00 EST 2023 · OSTI ID:1602847

Related Subjects