Transactional Boosting on Glasgow Haskell Compiler
Jonathas Augusto de Oliveira Conceição, André Rauber Du Bois, Rodrigo Geraldo Ribeiro · 2018
Transactional Boosting is a methodology used to transform highly concurrent linearizable actions into highly concurrent transactional actions, enabling their use within transactions. This methodology can be used as a way to avoid false conflicts, thus avoiding performance loss in some transactional applications. In this paper we present a STM Haskell extension, alongside the necessary extensions to the compiler's Runtime System, that allows programmers to develop applications that utilizes Transactional Boosting, and thus validate the use of this methodology in Haskell.