Object Proxy Patterns for Accelerating Distributed Applications

Workflow and serverless frameworks have empowered new approaches to distributed application design by abstracting compute resources. However, their typically limited or one-size-fits-all support for advanced data flow patterns leaves optimization to the application programmer—optimization that becomes more difficult as data become larger. The transparent object proxy, which provides wide-area references that can resolve to data regardless of location, has been demonstrated as an effective low-level building block in such situations. Here we propose three high-level proxy-based programming patterns—distributed futures, streaming, and ownership—that make the power of the proxy pattern usable for more complex and dynamic distributed program structures. We motivate these patterns via careful review of application requirements and describe implementations of each pattern. We evaluate our implementations through a suite of benchmarks and by applying them in three meaningful scientific applications, in which we demonstrate substantial improvements in runtime, throughput, and memory usage.

Authors

Institutions

Publication Details

Journal
IEEE Transactions on Parallel and Distributed Systems
Published
2024-12-04
DOI
https://doi.org/10.1109/tpds.2024.3511347
Citations
4
Primary Topic
Distributed and Parallel Computing Systems
Type
article
Field-Weighted Citation Impact
1.40
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Object Proxy Patterns for Accelerating Distributed Applications

Valérie Hayot-Sasson, Logan Ward, Ian Foster, Alexander Brace et al.
4 citations
IEEE Transactions on Parallel and Distributed Systems
Distributed and Parallel Computing Systems
1.40
article

Object Proxy Patterns for Accelerating Distributed Applications

Valérie Hayot-Sasson, Logan Ward, Ian Foster, Alexander Brace, André Bauer, Kyle Chard, J. Gregory Pauloski
article en
4 citations

Abstract

Workflow and serverless frameworks have empowered new approaches to distributed application design by abstracting compute resources. However, their typically limited or one-size-fits-all support for advanced data flow patterns leaves optimization to the application programmer—optimization that becomes more difficult as data become larger. The transparent object proxy, which provides wide-area references that can resolve to data regardless of location, has been demonstrated as an effective low-level building block in such situations. Here we propose three high-level proxy-based programming patterns—distributed futures, streaming, and ownership—that make the power of the proxy pattern usable for more complex and dynamic distributed program structures. We motivate these patterns via careful review of application requirements and describe implementations of each pattern. We evaluate our implementations through a suite of benchmarks and by applying them in three meaningful scientific applications, in which we demonstrate substantial improvements in runtime, throughput, and memory usage.

IEEE Transactions on Parallel and Distributed SystemsVol. 36(2)
Argonne National Laboratory (US), Illinois Institute of Technology (US), University of Chicago (US)
Openalex Percentile: Top 16%
Distributed and Parallel Computing Systems
1.40
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.