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 条
  • [31] Weak Fairness Semantic Drawbacks in Java']Java Multithreading
    Kaiser, Claude
    Pradat-Peyre, Jean-Francois
    RELIABLE SOFTWARE TECHNOLOGIES - ADA-EUROPE 2009, 2009, 5570 : 90 - +
  • [32] jS']jStar: Towards Practical Verification for Java']Java
    Distefano, Dino
    Parkinson, Matthew J.
    OOPSLA 2008 NASHVILLE, CONFERENCE PROCEEDINGS: MUSIC CITY USA, OOPSLA, 2008, : 213 - +
  • [33] Practical Experiences with Java']Java Software Transactional Memory
    Brevnov, Evgueni
    Dolgov, Yuri
    Kuznetsov, Boris
    Yershov, Dmitry
    Shakin, Vyacheslav
    Chen, Dong-Yuan
    Menon, Vijay
    Srinivas, Suresh
    PPOPP'08: PROCEEDINGS OF THE 2008 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, 2008, : 287 - 288
  • [34] On patterns for practical fault tolerant software in Java']Java
    Richard, GG
    Tu, SR
    SEVENTEENTH IEEE SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS, PROCEEDINGS, 1998, : 144 - 150
  • [35] Practical virtual method call resolution for Java']Java
    Sundaresan, V
    Hendren, L
    Razafimahefa, C
    Vallée-Rai, R
    Lam, P
    Gagnon, E
    Godin, C
    ACM SIGPLAN NOTICES, 2000, 35 (10) : 264 - 280
  • [36] Java']Java Card Performance Optimization of Secure transaction Atomicity based on Increasing the Class Field Locality
    Loinig, Johannes
    Steger, Christian
    Weiss, Reinhold
    Haselsteiner, Ernst
    2009 THIRD IEEE INTERNATIONAL CONFERENCE ON SECURE SOFTWARE INTEGRATION AND RELIABILITY IMPROVEMENT, PROCEEDINGS, 2009, : 342 - 347
  • [37] jS']jStar: Towards Practical Verification for Java']Java
    Distefano, Dino
    Parkinson, Matthew J.
    ACM SIGPLAN NOTICES, 2008, 43 (10) : 213 - 226
  • [38] Inferring Weak References for Fixing Java']Java Memory Leaks
    Qian, Ju
    Zhou, Xiaoyu
    2012 28TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE (ICSM), 2012, : 571 - 574
  • [39] A compositional operational semantics for Java']JavaMT
    Abrahám, E
    de Boer, RS
    de Roever, WP
    Steffen, M
    VERIFICATION: THEORY AND PRACTICE: ESSAYS DEDICATED TO ZHOAR MANNA ON THE OCCASION OF HIS 64TH BIRTHDAY, 2003, 2772 : 290 - 303
  • [40] Formal semantics for the Java modeling language
    Bruns, Daniel
    Informatik-Spektrum, 2012, 35 (01) : 45 - 49