Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Asynchronous Programming in UPC: A Case Study and Potential for Improvement

Conference ·
OSTI ID:961770
In a traditional Partitioned Global Address Space language like UPC, an application programmer works with the model of a static set of threads performing locality-aware accesses on a global address space. On the other hand, asynchronous programming provides a simple interface for expressing the concurrency in dynamic, irregular algorithms, with the prospect of efficient portable execution from sophisticated runtime schemes handling the exposed concurrency. In this paper, we adopt the asynchronous style of programming to parallelize a nested, tree-based code in UPC. To maximize performance without losing the ease of application programming, we design Asynchronous Remote Methods as a potential extension to the UPC standard. Our prototype implementation of this construct in Berkeley UPC yields within 7% of ideal performance and 20-fold improvement over the original Standard UPC solution in some cases.
Research Organization:
Oak Ridge National Laboratory (ORNL); Center for Computational Sciences
Sponsoring Organization:
ORNL LDRD Director's R&D
DOE Contract Number:
AC05-00OR22725
OSTI ID:
961770
Country of Publication:
United States
Language:
English

Similar Records

Runtime Detection of C-Style Errors in UPC Code
Conference · Thu Sep 29 00:00:00 EDT 2011 · OSTI ID:1037834

A Performance Analysis of the Berkeley UPC Compiler
Conference · Sun Nov 30 23:00:00 EST 2003 · OSTI ID:1511290

UPC++ Programmer’s Guide (v1.0 2017.9)
Technical Report · Fri Sep 29 00:00:00 EDT 2017 · OSTI ID:1398522