arrow
Return

Object Proxy Patterns for Accelerating Distributed Applications

delete2025-02-01
delete0
delete
OA
AI
J
J. Gregory Pauloski *
V
Valérie Hayot-Sasson
L
Logan Ward
A
Alexander Brace
A
André Bauer
K
Kyle Chard
I
Ian Foster
DOI:10.1109/TPDS.2024.3511347delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
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.
Keywords:
Distributed databases
Genomics
Computational modeling
Production facilities
Engines
Connectors
Programming
Memory management
Load modeling
Complexity theory
Distributed computing
futures
memory management
open-source software
streaming

Journal

IEEE Transactions on Parallel and Distributed Systems cover
IEEE Transactions on Parallel and Distributed Systems
IF:
6
Papers:
5.2K
Citations:
1.1W

Organization

No organization information available