Adjusted Objects: An Efficient and Principled Approach to Scalable Programming

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

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 small subset 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.

Original languageEnglish
Title of host publicationMiddleware 2025 - Proceedings of the 26th ACM International Middleware Conference
PublisherAssociation for Computing Machinery, Inc
Pages215-227
Number of pages13
ISBN (Electronic)9798400715549
DOIs
Publication statusPublished - 14 Dec 2025
Event26th ACM International Middleware Conference, Middleware 2025 - Nashville, United States
Duration: 15 Dec 202519 Dec 2025

Publication series

NameMiddleware 2025 - Proceedings of the 26th ACM International Middleware Conference

Conference

Conference26th ACM International Middleware Conference, Middleware 2025
Country/TerritoryUnited States
CityNashville
Period15/12/2519/12/25

Keywords

  • design
  • multicore
  • performance
  • scalability
  • software interfaces
  • theory

Fingerprint

Dive into the research topics of 'Adjusted Objects: An Efficient and Principled Approach to Scalable Programming'. Together they form a unique fingerprint.

Cite this