ScalaSTM

Composable transactional objects: a position paper. Memory transactions provide programmers with a convenient abstraction for concurrent programs: a keyword (such as atomic) designating a region of code that appears, from the perspective of concurrent threads, to execute atomically. Unfortunately, existing implementations in the form of software transactional memory (STM) are often ineffective due to their monolithic nature: every single read or write access is automatically tracked and recorded.par In this statement, we advocate a transactional model of programming without a heavyweight software transactional memory, and describe some related, open research challenges. We suggest that a model based on persistent data structures could permit a variety of transactional algorithms to coexist in a library of composable transactional objects. Applications are constructed by snapping these objects together to form atomic transactions, in much the same way that today’s Java programmers compose their applications from libraries such as java.util.concurrent.par We report preliminary results developing this library in ScalaSTM, and discuss the challenges ahead.

Keywords for this software

Anything in here will be replaced on browsers that support the canvas element


References in zbMATH (referenced in 2 articles )

Showing results 1 to 2 of 2.
Sorted by year (citations)

  1. Dickerson, Thomas; Gazzillo, Paul; Herlihy, Maurice; Koskinen, Eric: Adding concurrency to smart contracts (2020)
  2. Herlihy, Maurice; Koskinen, Eric: Composable transactional objects: a position paper (2014) ioport