AtomiS: Data-Centric Synchronization Made Practical

Hervé Paulino, Ana Almeida Matos, Jan Cederquist, Marco Giunti, João Matos, António Ravara

Research output: Contribution to journalArticlepeer-review

22 Downloads (Pure)

Abstract

Data-Centric Synchronization (DCS) shifts the reasoning about concurrency restrictions from control structures to data declaration. It is a high-level declarative approach that abstracts away from the actual concurrency control mechanism(s) in use. Despite its advantages, the practical use of DCS is hindered by the fact that it may require many annotations and/or multiple implementations of the same method to cope with differently qualified parameters. To overcome these limitations, in this paper we present AtomiS, a new DCS approach that requires only qualifying types of parameters and return values in interface definitions, and of fields in class definitions. The latter may also be abstracted away in type parameters, rendering class implementations virtually annotation-free. From this high level specification, a static analysis infers the atomicity constraints that are local to each method, considering valid only the method variants that are consistent with the specification, and performs code generation for all valid variants of each method. The generated code is then the target for automatic injection of concurrency control primitives that are responsible for ensuring the absence of data-races, atomicity-violations and deadlocks. We provide a Java implementation and showcase the applicability of AtomiS in real-life code. For the benchmarks analysed, AtomiS requires fewer annotations than the original number of regions requiring locks, as well as fewer annotations than Atomic Sets (a reference DCS proposal).
Original languageEnglish
Article number226
Number of pages30
JournalProceedings of the ACM on Programming Languages
Volume7
Issue numberOOPSLA2
DOIs
Publication statusPublished - 16 Oct 2023

Keywords

  • Concurrency
  • Data-Centric
  • Inference and Synthesis
  • Programming Model

Fingerprint

Dive into the research topics of 'AtomiS: Data-Centric Synchronization Made Practical'. Together they form a unique fingerprint.

Cite this