Composable memory transactions with eager version management

Rodrigo Medeiros Duarte, André Rauber Du Bois, Mauricio Lima Pilla, Gerson Geraldo H. Cavalheiro · 2015

STM Haskell extends the Haskell functional programming language with a set of primitives for writing composable memory transactions. STM Haskell employs lazy version management and lazy conflict detection algorithms. This paper describes a new implementation of STM Haskell, completely implemented in Haskell, the LSTM. Different of all previous implementations of the library, it uses eager version management and early conflict detection. It is possible to avoid unnecessary computation using eager versioning by early conflict detection. Preliminary experiments of our prototype applied to the Haskell STM Benchmark suite show that our prototype provides similar speedup behavior to those provided by the native C implementation of STM Haskell. We also compare the performance of our prototype with an STM Haskell implementation using the TL2 algorithm, noticing an effective gain in terms of performance.

Read the paper · More papers on PaperTik