Practical Weak-Atomicity Semantics for Java']Java STM

被引:0
|
作者
Menon, Vijay [1 ]
Balensiefer, Steven [2 ]
Shpeisman, Tatiana [1 ]
Adl-Tabatabai, Ali-Reza [1 ]
Hudson, Richard L. [1 ]
Saha, Bratin [1 ]
Welc, Adam [1 ]
机构
[1] Intel Corp, Programming Syst Lab, Santa Clara, CA 95054 USA
[2] Univ Washington, Dept Comp Sci & Engn, Seattle, WA 98195 USA
关键词
Algorithms; Design; Experimentation; Languages; Measurement; Performance;
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
As memory transactions have been proposed as a language-level replacement for locks, there is growing need for well-defined semantics. In contrast to database transactions, transaction memory (TM) semantics are complicated by the fact that programs may access the same memory locations both inside and outside transactions. Strongly atomic semantics, where non-transactional accesses are treated as implicit single-operation transactions, remain difficult to provide without specialized hardware support or significant performance overhead. As an alternative, many in the community have informally proposed that a single global lock semantics [18, 10], where transaction semantics are mapped to those of regions protected by a single global lock, provide an intuitive and efficiently implementable model for programmers. In this paper, we explore the implementation and performance implications of single global lock semantics in a weakly atomic STM from the perspective of Java, and we discuss why even recent STM implementations fall short of these semantics. We describe a new weakly atomic Java STM implementation that provides single global lock semantics while permitting concurrent execution, but we show that this comes at a significant performance cost. We also propose and implement various alternative semantics that loosen single lock requirements while still providing strong guarantees. We compare our new implementations to previous ones, including a strongly atomic STM. [24]
引用
收藏
页码:314 / +
页数:2
相关论文
共 50 条
  • [21] An operational semantics of Java']Java 2 access control
    Karjoth, G
    13TH IEEE COMPUTER SECURITY FOUNDATIONS WORKSHOP, PROCEEDINGS, 2000, : 224 - 232
  • [22] A practical method for watermarking Java']Java programs
    Monden, A
    Iida, H
    Matsumoto, K
    Inoue, K
    Torii, K
    24TH ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COSPSAC 2000), 2000, 24 : 191 - 197
  • [23] Java']Java™:: the practical virtuality of Internet programming
    MacKenzie, Adrian
    NEW MEDIA & SOCIETY, 2006, 8 (03) : 441 - 465
  • [24] Practical experience with an application extractor for Java']Java
    Tip, F
    Laffra, C
    Sweeney, PF
    Streeter, D
    ACM SIGPLAN NOTICES, 1999, 34 (10) : 292 - 305
  • [25] Verification of Atomicity Preservation in Model-to-Code Transformations using Generic Java']Java Code
    Zhang, Dan
    Bosnacki, Dragan
    van den Brand, Mark
    Huizing, Cornelis
    Kuiper, Ruurd
    Jacobs, Bart
    Wijs, Anton
    PROCEEDINGS OF THE 4TH INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT (MODELSWARD 2016), 2016, : 578 - 588
  • [26] As-if-serial exception handling semantics for Java']Java futures
    Zhang, Lingli
    Krintz, Chandra
    SCIENCE OF COMPUTER PROGRAMMING, 2009, 74 (5-6) : 314 - 332
  • [27] The Equivalence of Reduction and Translation Semantics of Java']Java Simple Closures
    Bellia, Marco
    Occhiuto, M. Eugenia
    FUNDAMENTA INFORMATICAE, 2012, 119 (3-4) : 249 - 264
  • [28] An Operational Semantics for Java']JavaScript
    Maffeis, Sergio
    Mitchell, John C.
    Taly, Ankur
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2008, 5356 : 307 - +
  • [29] Semantics of Asynchronous Java']JavaScript
    Loring, Matthew C.
    Marron, Mark
    Leijen, Daan
    ACM SIGPLAN NOTICES, 2017, 52 (11) : 51 - 62
  • [30] How Weak Reference is Used in Java']Java Projects?
    Higo, Yoshiki
    Matsumoto, Shinsuke
    Kim, Taeyoung
    Kusumoto, Shinji
    2020 27TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2020), 2020, : 445 - 449