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 条
  • [41] Exposing safe correlations in transactional datasets
    Elie Chicha
    Bechara Al Bouna
    Kay Wünsche
    Richard Chbeir
    Service Oriented Computing and Applications, 2021, 15 : 289 - 307
  • [42] Hardware Transactional Memory meets memory persistency
    Castro, Daniel
    Romano, Paolo
    Barreto, Joao
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2019, 130 : 63 - 79
  • [43] Preemptive Software Transactional Memory
    Silvestri, Emiliano
    Economo, Simone
    Di Sanzo, Pierangelo
    Pellegrini, Alessandro
    Quaglia, Francesco
    2017 17TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER, CLOUD AND GRID COMPUTING (CCGRID), 2017, : 294 - 303
  • [44] A Practical Transactional Memory Interface
    Timnat, Shahar
    Herlihy, Maurice
    Petrank, Erez
    EURO-PAR 2015: PARALLEL PROCESSING, 2015, 9233 : 387 - 401
  • [45] On the Cost of Concurrency in Transactional Memory
    Kuznetsov, Petr
    Ravi, Srivatsan
    PRINCIPLES OF DISTRIBUTED SYSTEMS, 2011, 7109 : 112 - 127
  • [46] The Future(s) of Transactional Memory
    Zeng, Jingna
    Barreto, Joao
    Haridi, Seif
    Rodrigues, Luis
    Romano, Paolo
    PROCEEDINGS 45TH INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING - ICPP 2016, 2016, : 442 - 451
  • [47] Software Transactional Memory on Relaxed Memory Models
    Guerraoui, Rachid
    Henzinger, Thomas A.
    Singh, Vasu
    COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2009, 5643 : 321 - 336
  • [48] Transactional Memory: Glimmer of a Theory
    Guerraoui, Rachid
    Kapalka, Michal
    COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2009, 5643 : 1 - 15
  • [49] Implementing signatures for transactional memory
    Sanchez, Daniel
    Yen, Luke
    Hill, Mark D.
    Sankaralingam, Karthikeyan
    MICRO-40: PROCEEDINGS OF THE 40TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE, 2007, : 123 - 133
  • [50] TRANSACTIONAL MEMORY: A PRIMER FOR THEORISTS
    Fatourou, Panagiota
    Herlihy, Maurice
    BULLETIN OF THE EUROPEAN ASSOCIATION FOR THEORETICAL COMPUTER SCIENCE, 2009, (98): : 123 - 138