Detecting Deadlock in Programs with Data-Centric Synchronization

被引:0
|
作者
Marino, Daniel [1 ]
Hammer, Christian [2 ]
Dolby, Julian [3 ]
Vaziri, Mandana [3 ]
Tip, Frank [4 ]
Vitek, Jan [5 ]
机构
[1] Symantec Res Labs, Culver City, CA 90230 USA
[2] Univ Saarland, Saarbrucken, Germany
[3] IBM Corp, Thomas J Watson Res Ctr, Yorktown Hts, NY USA
[4] Univ Waterloo, Waterloo, ON, Canada
[5] Purdue Univ, W Lafayette, IN USA
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Previously, we developed a data-centric approach to concurrency control in which programmers specify synchronization constraints declaratively, by grouping shared locations into atomic sets. We implemented our ideas in a Java extension called AJ, using Java locks to implement synchronization. We proved that atomicity violations are prevented by construction, and demonstrated that realistic Java programs can be refactored into AJ without significant loss of performance. This paper presents an algorithm for detecting possible deadlock in AJ programs by ordering the locks associated with atomic sets. In our approach, a type-based static analysis is extended to handle recursive data structures by considering programmer-supplied, compiler-verified lock ordering annotations. In an evaluation of the algorithm, all 10 AJ programs under consideration were shown to be deadlock-free. One program needed 4 ordering annotations and 2 others required minor refactorings. For the remaining 7 programs, no programmer intervention of any kind was required.
引用
收藏
页码:322 / 331
页数:10
相关论文
共 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] 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
  • [3] A Data-centric Profiler for Parallel Programs
    Liu, Xu
    Mellor-Crummey, John
    [J]. 2013 INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS (SC), 2013,
  • [4] 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 - +
  • [5] 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):
  • [6] Data-Centric Execution of Speculative Parallel Programs
    Jeffrey, Mark C.
    Subramanian, Suvinay
    Abeydeera, Maleen
    Emer, Joel
    Sanchez, Daniel
    [J]. 2016 49TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO), 2016,
  • [7] Condition-Based Synchronization in Data-Centric Concurrency Control
    Neves, David
    Paulino, Herve
    [J]. 37TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, 2022, : 1268 - 1275
  • [8] Data-Centric AI
    Malerba, Donato
    Pasquadibisceglie, Vincenzo
    [J]. JOURNAL OF INTELLIGENT INFORMATION SYSTEMS, 2024,
  • [9] 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
  • [10] RDF Data-Centric Storage
    Levandoski, Justin J.
    Mokbel, Mohamed F.
    [J]. 2009 IEEE INTERNATIONAL CONFERENCE ON WEB SERVICES, VOLS 1 AND 2, 2009, : 911 - 918