Persistent Software Transactional Memory in Haskell
- Publication type:
- Journal article
- Metadata:
-
- Autoren
- Nicolas Krauter
- Patrick Raaf
- Peter Braam
- Reza Salkhordeh
- Sebastian Erdweg
- Andre Brinkmann
- Autoren-URL
- https://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=fis-test-1&SrcAuth=WosAPI&KeyUT=WOS:000687133800003&DestLinkType=FullRecord&DestApp=WOS_CPL
- DOI
- 10.1145/3473568
- eISSN
- 2475-1421
- Externe Identifier
- Clarivate Analytics Document Solution ID: UD3TY
- Zeitschrift
- PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL
- Schlüsselwörter
- persistent transaction support
- non-volatile heap
- Artikelnummer
- ARTN 63
- Datum der Veröffentlichung
- 2021
- Status
- Published
- Titel
- Persistent Software Transactional Memory in Haskell
- Sub types
- Article
- Ausgabe der Zeitschrift
- 5
Data source: Web of Science (Lite)
- Other metadata sources:
-
- Abstract
- <jats:p>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. Our PSTM implementation demonstrates competitive performance with low level libraries and trivial portability of existing STM libraries to PSTM. The implementation allows further interesting use cases, such as persistent memoization and persistent Haskell expressions.</jats:p>
- Autoren
- Nicolas Krauter
- Patrick Raaf
- Peter Braam
- Reza Salkhordeh
- Sebastian Erdweg
- André Brinkmann
- DOI
- 10.1145/3473568
- eISSN
- 2475-1421
- Ausgabe der Veröffentlichung
- ICFP
- Zeitschrift
- Proceedings of the ACM on Programming Languages
- Sprache
- en
- Online publication date
- 2021
- Paginierung
- 1 - 29
- Datum der Veröffentlichung
- 2021
- Status
- Published
- Herausgeber
- Association for Computing Machinery (ACM)
- Herausgeber URL
- http://dx.doi.org/10.1145/3473568
- Datum der Datenerfassung
- 2023
- Titel
- Persistent software transactional memory in Haskell
- Ausgabe der Zeitschrift
- 5
Data source: Crossref
- Autoren
- Nicolas Krauter
- Patrick Raaf
- Peter Braam
- Reza Salkhordeh
- Sebastian Erdweg
- André Brinkmann
- Zeitschrift
- Proc. ACM Program. Lang.
- Artikelnummer
- ICFP
- Paginierung
- 1 - 29
- Datum der Veröffentlichung
- 2021
- Titel
- Persistent software transactional memory in Haskell.
- Ausgabe der Zeitschrift
- 5
Data source: DBLP
- Autoren
- Nicolas Krauter
- Patrick Raaf
- Peter Braam
- Reza Salkhordeh
- Sebastian Erdweg
- Andre Brinkmann
- Autoren-URL
- https://seafile.rlp.net/f/2e9cca0af8424cc88724/
- DOI
- 10.1145/3473568
- Zeitschrift
- Proc. ACM Program. Lang.
- Notes
- articleno: 63 numpages: 29
- Artikelnummer
- ICFP
- Datum der Veröffentlichung
- 2021
- Datum der Datenerfassung
- 2021
- Titel
- Persistent Software Transactional Memory in Haskell
- Ausgabe der Zeitschrift
- 5
Data source: Manual
- Beziehungen:
- Property of