High Performance Runtime for UPC/PGAS
Network-based Computing Laboratory
Department of Computer Science and Engineering
Ohio State University

Overview        Publications

Partitioned Global Address Space (PGAS) languages are growing in popularity because of their ability to provide shared memory programming model over distributed memory machines. In this model, data can be stored in global arrays and manipulated by individual compute threads. This model shows promise for expressing algorithms that have irregular computation and communication patterns. It is unlikely that such applications written in MPI will be re-written using the emerging PGAS languages in the near future. But, it is more likely that parts of these applications will be converted using newer models. This requires that underlying implementation of system software be able to support multiple programming models simultaneously. In this research work, we propose a Unified Runtime for supporting multiple programming models, Currently our high performance runtime provides support for MPI and UPC (Unified Parallel C) languages. Our high performance runtime provides built-in support for load balancing and work-stealing using multi-end point design. We also proposed features like 'UPC Queues' for expressing irregular applications in UPC, in a high performance manner.