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. 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. We report preliminary results developing this library in ScalaSTM, and discuss the challenges ahead. © 2014 Springer-Verlag.
CITATION STYLE
Herlihy, M., & Koskinen, E. (2014). Composable transactional objects: A position paper. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 8410 LNCS, pp. 1–7). Springer Verlag. https://doi.org/10.1007/978-3-642-54833-8_1
Mendeley helps you to discover research relevant for your work.