Intel PMDK Transactions: Specification, Validation and Concurrency

被引:2
作者
Raad, Azalea [1 ]
Lahav, Ori [2 ]
Wickerson, John [1 ]
Balcer, Piotr [3 ]
Dongol, Brijesh [4 ]
机构
[1] Imperial Coll London, London, England
[2] Tel Aviv Univ, Tel Aviv, Israel
[3] Intel, Gdansk, Poland
[4] Univ Surrey, Guildford, Surrey, England
来源
PROGRAMMING LANGUAGES AND SYSTEMS, PT II, ESOP 2024 | 2024年 / 14577卷
基金
英国工程与自然科学研究理事会; 以色列科学基金会; 欧洲研究理事会;
关键词
OPACITY;
D O I
10.1007/978-3-031-57267-8_6
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software Transactional Memory (STM) is an extensively studied paradigm that provides an easy-to-use mechanism for thread safety and concurrency control. With the recent advent of byte-addressable persistent memory, a natural question to ask is whether STM systems can be adapted to support failure atomicity. In this paper, we answer this question by showing how STM can be easily integrated with Intel's Persistent Memory Development Kit (PMDK) transactional library (which we refer to as txPMDK) to obtain STM systems that are both concurrent and persistent. We demonstrate this approach using known STM systems, TML and NOrec, which when combined with txPMDK result in persistent STM systems, referred to as PMDK-TML and PMDK-NORec, respectively. However, it turns out that existing correctness criteria are insufficient for specifying the behaviour of txPMDK and our concurrent extensions. We therefore develop a new correctness criterion, dynamic durable opacity, that extends the previously defined notion of durable opacity with dynamic memory allocation. We provide a model of txPMDK, then show that this model satisfies dynamic durable opacity. Moreover, dynamic durable opacity supports concurrent transactions, thus we also use it to show correctness of both PMDK-TML and PMDK-NORec.
引用
收藏
页码:150 / 179
页数:30
相关论文
共 55 条
[1]  
Armstrong Alasdair, 2017, Formal Techniques for Distributed Objects, Components and Systems. 37th IFIP WG 6.1 International Conference, FORTE 2017, held as part of the 12th International Federated Conference on Distributed Computing Techniques, DisCoTec 2017. Proceedings: LNCS 10321, P50, DOI 10.1007/978-3-319-60225-7_4
[2]  
Attiya H, 2014, LECT NOTES COMPUT SC, V8784, P376, DOI 10.1007/978-3-662-45174-8_26
[3]   Persistent Memory: A Survey of Programming Support and Implementations [J].
Baldassin, Alexandro ;
Barreto, Joao ;
Castro, Daniel ;
Romano, Paolo .
ACM COMPUTING SURVEYS, 2021, 54 (07)
[4]  
Ben-David N, 2022, Arxiv, DOI [arXiv:2208.11114, 10.48550/ARXIV.2208.11114, DOI 10.48550/ARXIV.2208.11114]
[5]   MODULARISING VERIFICATION OF DURABLE OPACITY [J].
Bila, Eleni ;
Derrick, John ;
Doherty, Simon ;
Dongol, Brijesh ;
Schellhorn, Gerhard ;
Wehrheim, Heike .
LOGICAL METHODS IN COMPUTER SCIENCE, 2020, 18 (03)
[6]   Defining and Verifying Durable Opacity: Correctness for Persistent Software Transactional Memory [J].
Bila, Eleni ;
Doherty, Simon ;
Dongol, Brijesh ;
Derrick, John ;
Schellhorn, Gerhard ;
Wehrheim, Heike .
FORMAL TECHNIQUES FOR DISTRIBUTED OBJECTS, COMPONENTS, AND SYSTEMS, FORTE 2020, 2020, 12136 :39-58
[7]   View-Based Owicki-Gries Reasoning for Persistent x86-TSO [J].
Bila, Eleni Vafeiadi ;
Dongol, Brijesh ;
Lahav, Ori ;
Raad, Azalea ;
Wickerson, John .
PROGRAMMING LANGUAGES AND SYSTEMS, ESOP 2022, 2022, 13240 :234-261
[8]   SafePM: A Sanitizer for Persistent Memory [J].
Bozdogan, Kartal Kaan ;
Stavrakakis, Dimitrios ;
Issa, Shady ;
Bhatotia, Pramod .
PROCEEDINGS OF THE SEVENTEENTH EUROPEAN CONFERENCE ON COMPUTER SYSTEMS (EUROSYS '22), 2022, :506-524
[9]   Analysing Snapshot Isolation [J].
Cerone, Andrea ;
Gotsman, Alexey .
PROCEEDINGS OF THE 2016 ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING (PODC'16), 2016, :55-64
[10]   Transaction Chopping for Parallel Snapshot Isolation [J].
Cerone, Andrea ;
Gotsman, Alexey ;
Yang, Hongseok .
DISTRIBUTED COMPUTING (DISC 2015), 2015, 9363 :388-404