Supercharging the APGAS Programming Model with Relocatable Distributed Collections

07/12/2022
by   Patrick Finnerty, et al.
0

In this article we present our relocatable distributed collections library. Building on top of the AGPAS for Java library, we provide a number of useful intra-node parallel patterns as well as the features necessary to support the distributed nature of the computation through clearly identified methods. In particular, the transfer of distributed collections' entries between processes is supported via an integrated relocation system. This enables dynamic load-balancing capabilities, making it possible for programs to adapt to uneven or evolving cluster performance. The system we developed makes it possible to dynamically control the distribution and the data-flow of distributed programs through high-level abstractions. Programmers using our library can therefore write complex distributed programs combining computation and communication phases through a consistent API. We evaluate the performance of our library against two programs taken from well-known Java benchmark suites, demonstrating superior programmability, and obtaining better performance on one benchmark and reasonable overhead on the second. Finally, we demonstrate the ease and benefits of load-balancing and on a more complex application which uses the various features of our library extensively.

READ FULL TEXT
research
01/14/2018

Distributed dynamic load balancing for task parallel programming

In this paper, we derive and investigate approaches to dynamically load ...
research
09/20/2022

jsdp: a Java Stochastic Dynamic Programming Library

Stochastic Programming is a framework for modelling and solving problems...
research
06/13/2023

Efficient Iterative Programs with Distributed Data Collections

Big data programming frameworks have become increasingly important for...
research
08/01/2019

Popt4jlib: A Parallel/Distributed Optimization Library for Java

This paper describes the architectural design as well as key implementat...
research
12/08/2022

babble: Learning Better Abstractions with E-Graphs and Anti-Unification

Library learning compresses a given corpus of programs by extracting com...
research
03/22/2021

Groovy Parallel Patterns: A Process oriented Parallelization Library

A novel parallel patterns library, Groovy Parallel Patterns, is presente...
research
11/12/2020

Scalable Querying of Nested Data

While large-scale distributed data processing platforms have become an a...

Please sign up or login with your details

Forgot password? Click here to reset