A Data-Centric Approach to Synchronization

被引:11
|
作者
Dolby, Julian [1 ]
Hammer, Christian [2 ]
Marino, Daniel [4 ]
Tip, Frank [1 ]
Vaziri, Mandana [1 ]
Vitek, Jan [3 ]
机构
[1] IBM Corp, TJ Watson Res Ctr, Yorktown Hts, NY 10598 USA
[2] Univ Saarland, Cyber Secur Lab, D-66123 Saarbrucken, Germany
[3] Purdue Univ, Dept Comp Sci, W Lafayette, IN 47907 USA
[4] Symantec Res Labs, Culver City, CA 90230 USA
基金
美国国家科学基金会;
关键词
Concurrent object-oriented programming; data races; serializability; programming model;
D O I
10.1145/2160910.2160913
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Concurrency-related errors, such as data races, are frustratingly difficult to track down and eliminate in large object-oriented programs. Traditional approaches to preventing data races rely on protecting instruction sequences with synchronization operations. Such control-centric approaches are inherently brittle, as the burden is on the programmer to ensure that all concurrently accessed memory locations are consistently protected. Data-centric synchronization is an alternative approach that offloads some of the work on the language implementation. Data-centric synchronization groups fields of objects into atomic sets to indicate that these fields must always be updated atomically. Each atomic set has associated units of work, that is, code fragments that preserve the consistency of that atomic set. Synchronization operations are added automatically by the compiler. We present an extension to the Java programming language that integrates annotations for data-centric concurrency control. The resulting language, called AJ, relies on a type system that enables separate compilation and supports atomic sets that span multiple objects and that also supports full encapsulation for more efficient code generation. We evaluate our proposal by refactoring classes from standard libraries, as well as a number of multithreaded benchmarks, to use atomic sets. Our results suggest that data-centric synchronization is easy to use and enjoys low annotation overhead, while successfully preventing data races. Moreover, experiments on the SPECjbb benchmark suggest that acceptable performance can be achieved with a modest amount of tuning.
引用
收藏
页数:48
相关论文
共 50 条
  • [1] 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
  • [2] 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
  • [3] 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 - +
  • [4] AtomiS: Data-Centric Synchronization Made Practical
    Paulino, Herve
    Matos, Ana Almeida
    Cederquist, Jan
    Giunti, Marco
    Matos, Joao
    Ravara, Antonio
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (OOPSLA):
  • [5] A Data-Centric Approach to Loss Mechanisms
    Senior, Alistair C.
    Miller, Robert J.
    [J]. JOURNAL OF TURBOMACHINERY-TRANSACTIONS OF THE ASME, 2024, 146 (04):
  • [6] A Data-Centric Approach to Change Management
    Nwokeji, Joshua Chibuike
    Clark, Tony
    Barn, Balbir
    Kulkarni, Vinay
    Anum, Sheena O.
    [J]. PROCEEDINGS OF THE 2015 IEEE 19TH INTERNATIONAL ENTERPRISE DISTRIBUTED OBJECT COMPUTING CONFERENCE, 2015, : 185 - 190
  • [7] A DATA-CENTRIC APPROACH TO LOSS MECHANISMS
    Senior, Alistair C.
    Miller, Robert J.
    [J]. PROCEEDINGS OF ASME TURBO EXPO 2023: TURBOMACHINERY TECHNICAL CONFERENCE AND EXPOSITION, GT2023, VOL 13A, 2023,
  • [8] A data-centric approach to distributed tracing
    Popa, Nicolae Marian
    Oprescu, Ana
    [J]. 11TH IEEE INTERNATIONAL CONFERENCE ON CLOUD COMPUTING TECHNOLOGY AND SCIENCE (CLOUDCOM 2019), 2019, : 209 - 216
  • [9] Condition-Based Synchronization in Data-Centric Concurrency Control
    Neves, David
    Paulino, Herve
    [J]. 37TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, 2022, : 1268 - 1275
  • [10] Data Subsetting: A Data-Centric Approach to Approximate Computing
    Kim, Younghoon
    Venkataramani, Swagath
    Chandrachoodan, Nitin
    Raghunathan, Anand
    [J]. 2019 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 2019, : 576 - 581