Adjusted Objects: An Efficient and Principled Approach to Scalable Programming (Extended Version)

📅 2025-04-28
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Redundant generic shared-object APIs in parallel programs incur substantial performance overhead. This paper introduces the “Tuned Objects” paradigm: domain-specific shared data structures (e.g., queues, maps, counters) meticulously streamlined and optimized for particular concurrency patterns. We present the first systematic formalization of this paradigm, establish a scalability analysis framework grounded in indistinguishability graphs, and distill practical, customizable design principles. We implement DEGO, a Java library embodying these principles, and evaluate it via microbenchmarks and the Retwis social-network workload. Microbenchmarks show up to 100× speedup over JDK standard objects; application-level evaluation demonstrates up to 1.7× higher single-machine throughput. Our core contributions unify formal modeling—via indistinguishability-based scalability analysis—with a principled design methodology and empirical validation across both micro- and macro-benchmarks.

Technology Category

Application Category

📝 Abstract
Parallel programs require software support to coordinate access to shared data. For this purpose, modern programming languages provide strongly-consistent shared objects. To account for their many usages, these objects offer a large API.However, in practice, each program calls only a tiny fraction of the interface. Leveraging such an observation, we propose to tailor a shared object for a specific usage. We call this principle adjusted objects. Adjusted objects already exist in the wild. This paper provides their first systematic study. We explain how everyday programmers already adjust common shared objects (such as queues, maps, and counters) for better performance. We present the formal foundations of adjusted objects using a new tool to characterize scalability, the indistinguishability graph. Leveraging this study, we introduce a library named DEGO to inject adjusted objects in a Java program. In micro-benchmarks, objects from the DEGO library improve the performance of standard JDK shared objects by up to two orders of magnitude. We also evaluate DEGO with a Retwis-like benchmark modeled after a social network application. On a modern server-class machine, DEGO boosts by up to 1.7x the performance of the benchmark.
Problem

Research questions and friction points this paper is trying to address.

Tailoring shared objects for specific program usage
Improving performance via adjusted shared objects
Systematic study and library for scalable programming
Innovation

Methods, ideas, or system contributions that make the work stand out.

Tailors shared objects for specific usage
Uses indistinguishability graph for scalability
Introduces DEGO library for Java performance
🔎 Similar Papers
No similar papers found.
B
Boubacar Kane
Telecom SudParis, Inria Saclay, Institut Polytechnique de Paris, Palaiseau, France
Pierre Sutra
Pierre Sutra
Télécom SudParis, Institut Polytechnique de Paris
Distributed SystemsDistributed Computing