Supercharging the APGAS Programming Model with Relocatable Distributed Collections
Patrick Finnerty, Yoshiki Kawanishi, Tomio Kamada, Chikara Ohta

TL;DR
This paper introduces a relocatable distributed collections library built on APGAS for Java, enabling dynamic load-balancing and high-level control of distributed computations, with demonstrated performance benefits and programmability improvements.
Contribution
We developed a relocatable distributed collections library that extends APGAS for Java, supporting dynamic load-balancing and flexible data distribution through high-level abstractions.
Findings
Superior programmability demonstrated
Better performance on one benchmark
Reasonable overhead on second benchmark
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsService-Oriented Architecture and Web Services · Distributed systems and fault tolerance · Software System Performance and Reliability
