A Scalable Actor-based Programming System for PGAS Runtimes

by   Sri Raj Paul, et al.

PGAS runtimes are well suited to irregular applications due to their support for short, one-sided messages. However, there are two major sources of overhead in PGAS runtimes that prevent them from achieving acceptable performance on large scale parallel systems. First, despite the availability of APIs that support non-blocking operations for important special cases, many PGAS operations on remote locations are synchronous by default, which can lead to long-latency stalls. Second, efficient inter-node communication requires careful aggregation and management of short messages. Experiments has shown that the performance of PGAS programs can be improved by more than 20× through the use of specialized lower-level libraries, such as Conveyors, but with a significant impact on programming productivity. The actor model has been gaining popularity in many modern programming languages such as Scala or Rust and also within the cloud computing community. In this paper, we introduce a new programming system for PGAS runtimes, in which all remote operations are asynchronous by default through the use of an actor-based programming system. In this approach, the programmer does not need to worry about complexities related to message aggregation and termination detection. Thus, our approach offers a desirable point in the productivity-performance spectrum, with scalable performance that approaches that of lower-level aggregation libraries but with higher productivity.


BCL: A Cross-Platform Distributed Container Library

One-sided communication is a useful paradigm for irregular parallel appl...

PWCT: Visual Language for IoT and Cloud Computing Applications and Systems

Developing IoT, Data Computing and Cloud Computing software requires dif...

Compiler Optimization for Irregular Memory Access Patterns in PGAS Programs

Irregular memory access patterns pose performance and user productivity ...

Large Scale Analysis of Multitasking Behavior During Remote Meetings

Virtual meetings are critical for remote work because of the need for sy...

Architecture of a Flexible and Cost-Effective Remote Code Execution Engine

Oftentimes, there is a need to experiment with different programming lan...

A Scalable Algorithm for Decentralized Actor Termination Detection

Automatic garbage collection (GC) prevents certain kinds of bugs and red...

High-Performance Deterministic Concurrency using Lingua Franca

Actor frameworks and similar reactive programming techniques are widely ...

Please sign up or login with your details

Forgot password? Click here to reset