AtomiS: Data-Centric Synchronization Made Practical

被引:0
|
作者
Paulino, Herve [1 ,2 ]
Matos, Ana Almeida [3 ,4 ]
Cederquist, Jan [3 ,4 ]
Giunti, Marco [1 ]
Matos, Joao [5 ]
Ravara, Antonio [1 ,2 ]
机构
[1] NOVA Univ Lisbon, Dept Comp Sci, NOVA LINCS, Caparica, Portugal
[2] NOVA Univ Lisbon, FCT NOVA, Caparica, Portugal
[3] Inst Telecomunicacoes, SQIG, Aveiro, Portugal
[4] Univ Lisbon, Dept Comp Sci & Engn & IST, Lisbon, Portugal
[5] Univ Lisbon, Dept Comp Sci, IST, Lisbon, Portugal
来源
关键词
Concurrency; Data-Centric; Programming Model; Inference and Synthesis; INFERENCE;
D O I
10.1145/3622801
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 annotationfree. 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).
引用
收藏
页数:30
相关论文
共 50 条
  • [1] A Data-Centric Approach to Synchronization
    Dolby, Julian
    Hammer, Christian
    Marino, Daniel
    Tip, Frank
    Vaziri, Mandana
    Vitek, Jan
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2012, 34 (01):
  • [2] Practical data-centric storage
    Ee, Cheng Tien
    Ratnasamy, Sylvia
    Shenker, Scott
    [J]. USENIX ASSOCIATION PROCEEDINGS OF THE 3RD SYMPOSIUM ON NETWORKED SYSTEMS DESIGN & IMPLEMENTATION (NSDI 06), 2006, : 325 - +
  • [3] A Type System for Data-Centric Synchronization
    Vaziri, Mandana
    Tip, Frank
    Dolby, Julian
    Hammer, Christian
    Vitek, Jan
    [J]. ECOOP 2010: OBJECT-ORIENTED PROGRAMMING, 2010, 6183 : 304 - 328
  • [4] Detecting Deadlock in Programs with Data-Centric Synchronization
    Marino, Daniel
    Hammer, Christian
    Dolby, Julian
    Vaziri, Mandana
    Tip, Frank
    Vitek, Jan
    [J]. PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), 2013, : 322 - 331
  • [5] Colorama: Architectural support for data-centric synchronization
    Ceze, Luis
    Montesinos, Pablo
    von Praun, Christoph
    Torrellas, Josep
    [J]. THIRTEENTH INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE COMPUTER ARCHITECTURE, PROCEEDINGS, 2007, : 133 - +
  • [6] Condition-Based Synchronization in Data-Centric Concurrency Control
    Neves, David
    Paulino, Herve
    [J]. 37TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, 2022, : 1268 - 1275
  • [7] CateCom: A Practical Data-Centric Approach to Categorization of Computational Models
    Zech, Alexander
    Bazhirov, Timur
    [J]. JOURNAL OF CHEMICAL INFORMATION AND MODELING, 2022, 62 (05) : 1268 - 1281
  • [8] From Model-Centric to Data-Centric: A Practical MPC Implementation Framework for Buildings
    Zhan, Sicheng
    Quintana, Matias
    Miller, Clayton
    Chong, Adrian
    [J]. PROCEEDINGS OF THE 2022 THE 9TH ACM INTERNATIONAL CONFERENCE ON SYSTEMS FOR ENERGY-EFFICIENT BUILDINGS, CITIES, AND TRANSPORTATION, BUILDSYS 2022, 2022, : 270 - 273
  • [9] Data-Centric AI
    Malerba, Donato
    Pasquadibisceglie, Vincenzo
    [J]. JOURNAL OF INTELLIGENT INFORMATION SYSTEMS, 2024,
  • [10] Data-centric automated data mining
    Campos, MM
    Stengard, PJ
    Milenova, BL
    [J]. ICMLA 2005: FOURTH INTERNATIONAL CONFERENCE ON MACHINE LEARNING AND APPLICATIONS, PROCEEDINGS, 2005, : 97 - 104