Safe Privatization in Transactional Memory

被引:7
|
作者
Khyzha, Artem [1 ]
Attiya, Hagit [2 ]
Gotsman, Alexey [3 ]
Rinetzky, Noam [4 ]
机构
[1] Univ Politecn Madrid, IMDEA Software Inst, Madrid, Spain
[2] Technion, Haifa, Israel
[3] IMDEA Software Inst, Madrid, Spain
[4] Tel Aviv Univ, Tel Aviv, Israel
关键词
Software transactional memory; privatization; strong atomicity; observational refinement;
D O I
10.1145/3200691.3178505
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Transactional memory (TM) facilitates the development of concurrent applications by letting the programmer designate certain code blocks as atomic. Programmers using a TM often would like to access the same data both inside and outside transactions, e.g., to improve performance or to support legacy code. In this case, programmers would ideally like the TM to guarantee strong atomicity, where transactions can be viewed as executing atomically also with respect to non-transactional accesses. Since guaranteeing strong atomicity for arbitrary programs is prohibitively expensive, researchers have suggested guaranteeing it only for certain data-race free (DRF) programs, particularly those that follow the privatization idiom: from some point on, threads agree that a given object can be accessed non-transactionally. Supporting privatization safely in a TM is nontrivial, because this often requires correctly inserting transactional fences, which wait until all active transactions complete. Unfortunately, there is currently no consensus on a single definition of transactional DRF, in particular, because no existing notion of DRF takes into account transactional fences. In this paper we propose such a notion and prove that, if a TM satisfies a certain condition generalizing opacity and a program using it is DRF assuming strong atomicity, then the program indeed has strongly atomic semantics. We show that our DRF notion allows the programmer to use privatization idioms. We also propose a method for proving our generalization of opacity and apply it to the TL2 TM.
引用
收藏
页码:233 / 245
页数:13
相关论文
共 50 条
  • [1] The Cost of Privatization in Software Transactional Memory
    Attiya, Hagit
    Hillel, Eshcar
    IEEE TRANSACTIONS ON COMPUTERS, 2013, 62 (12) : 2531 - 2543
  • [2] Privatization Techniques for Software Transactional Memory
    Spear, Michael F.
    Marathe, Virendra J.
    Dalessandro, Luke
    Scott, Michael L.
    PODC'07: PROCEEDINGS OF THE 26TH ANNUAL ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING, 2007, : 338 - 339
  • [3] Safe exception handling with transactional memory
    Felber, Pascal
    Fetzer, Christof
    Gramoli, Vincent
    Harmanci, Derin
    Nowack, Martin
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2015, 8913 : 245 - 267
  • [4] Using Hardware Transactional Memory to Implement Speculative Privatization in OpenMP
    Salamanca, Juan
    Baldassin, Alexandro
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, LCPC 2020, 2022, 13149 : 57 - 73
  • [5] TENET: Memory Safe and Fault Tolerant Persistent Transactional Memory
    Krishnan, R. Madhava
    Zhou, Diyu
    Kim, Wook-Hee
    Kannan, Sudarsun
    Kashyap, Sanidhya
    Min, Changwoo
    PROCEEDINGS OF THE 21ST USENIX CONFERENCE ON FILE AND STORAGE TECHNOLOGIES, FAST 2023, 2023, : 247 - 264
  • [6] Reduced Hardware NOrec: A Safe and Scalable Hybrid Transactional Memory
    Matveev, Alexander
    Shavit, Nir
    ACM SIGPLAN NOTICES, 2015, 50 (04) : 59 - 71
  • [7] Isolation-Safe Speculative Access Control for Hardware Transactional Memory
    Tajimi, Tomoki
    Hayashi, Masaki
    Futamase, Yuki
    Shioya, Ryota
    Goshima, Masahiro
    Tsumura, Tomoaki
    2018 25TH IEEE INTERNATIONAL CONFERENCE ON ELECTRONICS, CIRCUITS AND SYSTEMS (ICECS), 2018, : 517 - 520
  • [8] Thread-Safe Dynamic Binary Translation using Transactional Memory
    Chung, JaeWoong
    Dalton, Michael
    Kannan, Hari
    Kozyrakis, Christos
    2008 IEEE 14TH INTERNATIONAL SYMPOSIUM ON HIGH PEFORMANCE COMPUTER ARCHITECTURE, 2008, : 256 - 266
  • [9] Can Software Transactional Memory Make Concurrent Programs Simple and Safe?
    Malde, Ketil
    BIOINFORMATICS 2013: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON BIOINFORMATICS MODELS, METHODS AND ALGORITHMS, 2013, : 223 - 228
  • [10] Transactional memory
    Grahn, Hakan
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2010, 70 (10) : 993 - 1008