Open Transactions on Shared Memory

  • Marino Miculan
  • Marco Peressotti
  • Andrea Toneguzzo
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9037)

Abstract

Transactional memory has arisen as a good way for solving many of the issues of lock-based programming. However, most implementations admit isolated transactions only, which are not adequate when we have to coordinate communicating processes. To this end, in this paper we present OCTM, an Haskell-like language with open transactions over shared transactional memory: processes can join transactions at runtime just by accessing to shared variables. Thus a transaction can co-operate with the environment through shared variables, but if it is rolled-back, also all its effects on the environment are retracted. For proving the expressive power of OCTM we give an implementation of TCCS m , a CCS-like calculus with open transactions.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abadi, M., Birrell, A., Harris, T., Isard, M.: Semantics of transactional memory and automatic mutual exclusion. ACM Trans. Program. Lang. Syst. 33(1), 2 (2011)Google Scholar
  2. 2.
    Bruni, R., Melgratti, H.C., Montanari, U.: Nested commits for mobile calculi: Extending join. In: Lévy, J., Mayr, E.W., Mitchell, J.C. (eds.) Proc. TCS. IFIP, vol. 155, pp. 563–576. Springer, Heidelberg (2004)Google Scholar
  3. 3.
    Danos, V., Krivine, J.: Transactions in RCCS. In: Abadi, M., de Alfaro, L. (eds.) CONCUR 2005. LNCS, vol. 3653, pp. 398–412. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    de Vries, E., Koutavas, V., Hennessy, M.: Communicating transactions (extended abstract). In: Gastin, P., Laroussinie, F. (eds.) CONCUR 2010. LNCS, vol. 6269, pp. 569–583. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  5. 5.
    de Vries, E., Koutavas, V., Hennessy, M.: Liveness of communicating transactions (extended abstract). In: Ueda, K. (ed.) APLAS 2010. LNCS, vol. 6461, pp. 392–407. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  6. 6.
    Gray, J., Lamport, L.: Consensus on transaction commit. ACM Transactions Database Systems 31(1), 133–160 (2006)CrossRefGoogle Scholar
  7. 7.
    Harris, T., Marlow, S., Jones, S.L.P., Herlihy, M.: Composable memory transactions. In: Proc. PPOPP, pp. 48–60 (2005)Google Scholar
  8. 8.
    Herlihy, M., Moss, J.E.B.: Transactional memory: Architectural support for lock-free data structures. In: Smith, A.J. (ed.) Proceedings of the 20th Annual International Symposium on Computer Architecture, pp. 289–300. ACM (1993)Google Scholar
  9. 9.
    Herlihy, M., Shavit, N.: Transactional memory: beyond the first two decades. SIGACT News 43(4), 101–103 (2012)CrossRefGoogle Scholar
  10. 10.
    Koutavas, V., Spaccasassi, C., Hennessy, M.: Bisimulations for communicating transactions - (extended abstract). In: Muscholl, A. (ed.) FOSSACS 2014 (ETAPS). LNCS, vol. 8412, pp. 320–334. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  11. 11.
    Leroy, X.: A formally verified compiler back-end. Journal of Automated Reasoning 43(4), 363–446 (2009)CrossRefMATHMathSciNetGoogle Scholar
  12. 12.
    Lesani, M., Palsberg, J.: Communicating memory transactions. In: Cascaval, C., Yew, P. (eds.) Proc. PPOPP, pp. 157–168. ACM (2011)Google Scholar
  13. 13.
    Ma, J., Broda, K., Goebel, R., Hosobe, H., Russo, A., Satoh, K.: Speculative abductive reasoning for hierarchical agent systems. In: Dix, J., Leite, J., Governatori, G., Jamroga, W. (eds.) CLIMA XI. LNCS, vol. 6245, pp. 49–64. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  14. 14.
    Mansutti, A., Miculan, M., Peressotti, M.: Multi-agent systems design and prototyping with bigraphical reactive systems. In: Magoutis, K., Pietzuch, P. (eds.) DAIS 2014. LNCS, vol. 8460, pp. 201–208. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  15. 15.
    Miculan, M., Peressotti, M., Toneguzzo, A.: Open transactions on shared memory. CoRR, abs/1503.09097 (2015)Google Scholar
  16. 16.
    Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)CrossRefGoogle Scholar
  17. 17.
    Shavit, N., Touitou, D.: Software transactional memory. Distributed Computing 10(2), 99–116 (1997)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2015

Authors and Affiliations

  • Marino Miculan
    • 1
  • Marco Peressotti
    • 1
  • Andrea Toneguzzo
    • 1
  1. 1.Laboratory of Models and Applications of Distributed Systems, Department of Mathematics and Computer ScienceUniversity of UdineUdineItaly

Personalised recommendations