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 条
  • [1] Semantics-Driven Migration of Java']Java Programs: A Practical Application
    Aleksyuk, A. O.
    Itsykson, V. M.
    AUTOMATIC CONTROL AND COMPUTER SCIENCES, 2018, 52 (07) : 581 - 588
  • [2] Types for atomicity: Static checking and inference for Java']Java
    Flanagan, Cormac
    Freund, Stephen N.
    Lifshin, Marina
    Qadeer, Shaz
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2008, 30 (04):
  • [3] K-Java']Java: A Complete Semantics of Java']Java
    Bogdanas, Denis
    Rosu, Grigore
    ACM SIGPLAN NOTICES, 2015, 50 (01) : 445 - 456
  • [4] Coalgebras and monads in the semantics of Java']Java
    Jacobs, B
    Poll, E
    THEORETICAL COMPUTER SCIENCE, 2003, 291 (03) : 329 - 349
  • [5] A monad for basic Java']Java semantics
    Jacobs, B
    Poll, E
    ALGEBRAIC METHODOLOGY AND SOFTWARE TECHNOLOGY, PROCEEDINGS, 2000, 1816 : 150 - 164
  • [6] Dynamic semantics of Java']Java bytecode
    Bertelsen, P
    FUTURE GENERATION COMPUTER SYSTEMS, 2000, 16 (07) : 841 - 850
  • [7] Game Semantics for Interface Middleweight Java']Java
    Murawski, Andrzej S.
    Tzevelekos, Nikos
    JOURNAL OF THE ACM, 2021, 68 (01)
  • [8] Extending operational semantics of the Java']Java bytecode
    Czarnik, Patryk
    Schubert, Aleksy
    TRUSTWORTHY GLOBAL COMPUTING, 2008, 4912 : 57 - 72
  • [9] A Java']Java Inspired Semantics for Transactions in SOC
    Bocchi, Laura
    Tuosto, Emilio
    TRUSTWORTHY GLOBAL COMPUTING, 2010, 6084 : 120 - 134
  • [10] Structural Operational Semantics of Packages in Java']Java
    Al Farook, Abdullah
    Arefin, Mohammad Shamsul
    Hoque, Md. Moshiul
    2008 11TH INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION TECHNOLOGY: ICCIT 2008, VOLS 1 AND 2, 2008, : 563 - 568