Abstract

A concurrent implementation of software transactional memory in Concurrent Haskell using a call-by-need functional language with processes and futures is given. The description of the small-step operational semantics is precise and explicit, and employs an early abort of conflicting transactions. A proof of correctness of the implementation is given for a contextual semantics with may- and should-convergence. This implies that our implementation is a correct evaluator for an abstract specification equipped with a big-step semantics.
- A. Bieniusa and P. Thiemann. Proving isolation properties for software transactional memory. In Proc. ESOP'11, LNCS 6602, pp. 38--56, Springer 2011. Google Scholar
Digital Library
- J. Borgström, K. Bhargavan, and A. D. Gordon. A compositional theory for S™ Haskell. In Proc. Haskell '09, pp. 69--80. ACM, 2009. Google Scholar
Digital Library
- V. Bushkov, R. Guerraoui, and M. Kapalka. On the liveness of transactional memory. In Proc. PODC'12, pp. 9--18. ACM, 2012. Google Scholar
Digital Library
- C. Cascaval, C. Blundell, M. M. Michael, H. W. Cain, P. Wu, S. Chiras, and S. Chatterjee. Software transactional memory: why is it only a research toy? Commun. ACM, 51 (11): 40--46, 2008. Google Scholar
Digital Library
- R. Guerraoui and M. Kapalka. On the correctness of transactional memory. In Proc. PPoPP'08, pp. 175--184. ACM, 2008. Google Scholar
Digital Library
- T. Harris, S. Marlow, S. Peyton Jones, and M. Herlihy. Composable memory transactions. In Proc. PPoPP'05, pp. 48--60. ACM, 2005. Google Scholar
Digital Library
- T. Harris, S. Marlow, S. L. Peyton Jones, and M. Herlihy. Composable memory transactions. Commun. ACM, 51 (8): 91--100, 2008. Google Scholar
Digital Library
- T. Harris, J. R. Larus, and R. Rajwar. Transactional Memory, 2nd edition. Synthesis Lectures on Computer Architecture. Morgan & Claypool Publishers, 2010. Google Scholar
Digital Library
- L. Hu and G. Hutton. Towards a verified implementation of software transactional memory. In Proc. TFP'08, vol. 9, pp. 129--144. Intellect, 2009.Google Scholar
- A. Rensink and W. Vogler. Fair testing. Inform. and Comput., 205 (2): 125--198, 2007. Google Scholar
Digital Library
- D. Sabel and M. Schmidt-Schauß. A call-by-need lambda-calculus with locally bottom-avoiding choice: Context lemma and correctness of transformations. Math. Structures Comput. Sci., 18 (03): 501--553, 2008. Google Scholar
Digital Library
- D. Sabel and M. Schmidt-Schauß. A contextual semantics for Concurrent Haskell with futures. In Proc. PPDP'11, pp. 101--112. ACM, 2011. Google Scholar
Digital Library
- D. Sabel and M. Schmidt-Schauß. Conservative concurrency in Haskell. In Proc. LICS'12, pp. 561--570. IEEE, 2012. Google Scholar
Digital Library
- M. Schmidt-Schauß and D. Sabel. Correctness of an S™ Haskell implementation. Frank report 50, Institut f. Informatik. Goethe-University Frankfurt, 2013. available at http://www.ki.informatik.uni-frankfurt.de/papers/frank/.Google Scholar
- M. Schmidt-Schauß, J. Niehren, J. Schwinghammer, and D. Sabel. Adequacy of compositional translations for observational semantics. In Proc. IFIP TCS'08, IFIP 273, pp. 521--535. Springer, 2008.Google Scholar
- N. Shavit and D. Touitou. Software transactional memory. In Proc. PODC'95, pp. 204--213. ACM, 1995. Google Scholar
Digital Library
- N. Shavit and D. Touitou. Software transactional memory. Distributed Computing, Special Issue, 10: 99--116, 1997.Google Scholar
- M. C. J. D. van Eekelen, M. J. Plasmeijer, and J. E. W. Smetsers. Parallel graph rewriting on loosely coupled machine architectures. In Proc. CTRS'90, LNCS 516, pp. 354--369. Springer, 1990. Google Scholar
Digital Library
Index Terms
Correctness of an STM Haskell implementation
Recommendations
Correctness of an STM Haskell implementation
ICFP '13: Proceedings of the 18th ACM SIGPLAN international conference on Functional programmingA concurrent implementation of software transactional memory in Concurrent Haskell using a call-by-need functional language with processes and futures is given. The description of the small-step operational semantics is precise and explicit, and employs ...
Open transactional actions: interacting with non-transactional resources in STM Haskell
Haskell 2022: Proceedings of the 15th ACM SIGPLAN International Haskell SymposiumThis paper addresses the problem of accessing external resources from inside transactions in STM Haskell, and for that purpose introduces a new abstraction called Open Transactional Actions (OTAs) that provides a framework for wrapping non-transactional ...
Irrevocable transactions and their applications
SPAA '08: Proceedings of the twentieth annual symposium on Parallelism in algorithms and architecturesTransactional memory (TM) provides a safer, more modular, and more scalable alternative to traditional lock-based synchronization. Implementing high performance TM systems has recently been an active area of research. However, current TM systems provide ...







Comments