KIT | KIT-Bibliothek | Impressum | Datenschutz

Persistent Software Transactional Memory in Haskell

Krauter, Nicolas; Raaf, Patrick; Braam, Peter; Salkhordeh, Reza; Erdweg, Sebastian ORCID iD icon 1; Brinkmann, Andre
1 Institut für Programmstrukturen und Datenorganisation (IPD), Karlsruher Institut für Technologie (KIT)

Abstract (englisch):

Emerging persistent memory in commodity hardware allows byte-granular accesses to persistent state at memory speeds. However, to prevent inconsistent state in persistent memory due to unexpected system failures, different write-semantics are required compared to volatile memory. Transaction-based library solutions for persistent memory facilitate the atomic modification of persistent data in languages where memory is explicitly managed by the programmer, such as C/C++. For languages that provide extended capabilities like automatic memory management, a more native integration into the language is needed to maintain the high level of memory abstraction. It is shown in this paper how persistent software transactional memory (PSTM) can be tightly integrated into the runtime system of Haskell to atomically manage values of persistent transactional data types. PSTM has a clear interface and semantics extending that of software transactional memory (STM). Its integration with the language’s memory management retains features like garbage collection and allocation strategies, and is fully compatible with Haskell's lazy execution model. ... mehr


Verlagsausgabe §
DOI: 10.5445/IR/1000188602
Veröffentlicht am 22.12.2025
Originalveröffentlichung
DOI: 10.1145/3473568
Scopus
Zitationen: 3
Dimensions
Zitationen: 3
Cover der Publikation
Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Zeitschriftenaufsatz
Publikationsdatum 18.08.2021
Sprache Englisch
Identifikator ISSN: 2475-1421
KITopen-ID: 1000188602
Erschienen in Proceedings of the ACM on programming languages
Verlag Association for Computing Machinery (ACM)
Band 5
Heft ICFP
Seiten 1-29
Schlagwörter persistent transaction support, non-volatile heap
Nachgewiesen in Scopus
Dimensions
OpenAlex
KIT – Die Universität in der Helmholtz-Gemeinschaft
KITopen Landing Page