Skip to main content

Towards a Universal Construction for Transaction-Based Multiprocess Programs

  • Conference paper
Distributed Computing and Networking (ICDCN 2012)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7129))

Included in the following conference series:

Abstract

The aim of a Software Transactional Memory (STM) system is to discharge the programmer from the explicit management of synchronization issues. The programmer’s job resides in the design of multiprocess programs in which processes are made up of transactions, each transaction being an atomic execution unit that accesses concurrent objects. The important point is that the programmer has to focus her/his efforts only on the parts of code which have to be atomic execution units without worrying on the way the corresponding synchronization has to be realized.

Non-trivial STM systems allow transactions to execute concurrently and rely on the notion of commit/abort of a transaction in order to solve their conflicts on the objects they access simultaneously. In some cases, the management of aborted transactions is left to the programmer. In other cases, the underlying system scheduler is appropriately modified or an underlying contention manager is used in order that each transaction be (“practically always” or with high probability) eventually committed.

This paper presents a deterministic STM system in which (1) every invocation of a transaction is executed exactly once and (2) the notion of commit/abort of a transaction remains unknown to the programmer. This system, which imposes restriction neither on the design of processes nor or their concurrency pattern, can be seen as a step towards the design of a deterministic universal construction to execute transaction-based multiprocess programs on top of a multiprocessor. Interestingly, the proposed construction is lock-free (in the sense that it uses no lock).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ansar, M., Luján, M., Kotselidis, C., Jarvis, K., Kirkham, C., Watson, Y.: Steal-on-abort: Dynamic Transaction Reordering to Reduce Conflicts in Transactional Memory. In: 4th Int’l ACM Sigplan Conference on High Performance Embedded Architectures and Compilers, HiPEAC 2009, pp. 4–18. ACM Press (2009)

    Google Scholar 

  2. Attiya, H., Milani, A.: Transactional Scheduling for Read-Dominated Workloads. In: Abdelzaher, T., Raynal, M., Santoro, N. (eds.) OPODIS 2009. LNCS, vol. 5923, pp. 3–17. Springer, Heidelberg (2009)

    Google Scholar 

  3. Borowsky, E., Gafni, E.: Generalized FLP Impossibility Results for t-Resilient Asynchronous Computations. In: Proc. 25th ACM Symposium on Theory of Computing (STOC 1993), pp. 91–100. ACM Press (1993)

    Google Scholar 

  4. Chuong, P., Ellen, F., Ramachandran, V.: A Universal Construction for Wait-free Transaction Friendly Data Structures. In: Proc. 22th Int’l ACM Symposium on Parallelism in Algorithms and Architectures (SPAA 2010), pp. 335–344. ACM Press (2010)

    Google Scholar 

  5. Crain, T., Imbs, D., Raynal, M.: Towards a universal construction for transaction-based multiprocess programs. Tech Report 1971, IRISA, Université de Rennes (F), 16 pages (2011)

    Google Scholar 

  6. Felber, P., Fetzer, C., Riegel, T.: Dynamic Performance Tuning of Word-Based Software Transactional Memory. In: Proc. 13th Int’l ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2008), pp. 237–246. ACM Press (2008)

    Google Scholar 

  7. Frølund, S., Guerraoui, R.: X-Ability: a Theory of Replication. Distributed Computing 14(4), 231–249 (2001)

    Article  MATH  Google Scholar 

  8. Guerraoui, R., Henzinger, T.A., Singh, V.: Permissiveness in Transactional Memories. In: Taubenfeld, G. (ed.) DISC 2008. LNCS, vol. 5218, pp. 305–319. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  9. Guerraoui, R., Herlihy, M., Pochon, B.: Towards a Theory of Transactional Contention Managers. In: Proc. 24th Int’l ACM Symposium on Principles of Distributed Computing (PODC 2005), pp. 258–264. ACM Press (2005)

    Google Scholar 

  10. Guerraoui, R., Kapałlka, M.: Principles of Transactional Memory. In: Synthesis Lectures on Distributed Computing Theory, 180 pages. Morgan & Claypool Publishers (2010)

    Google Scholar 

  11. Herlihy, M.P.: Wait-Free Synchronization. ACM Transactions on Programming Languages and Systems 13(1), 124–149 (1991)

    Article  Google Scholar 

  12. Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.M.: Software Transactional Memory for Dynamic-Sized Data Structures. In: Proc. 22nd Int’l ACM Symposium on Principles of Distributed Computing (PODC 2003), pp. 92–101. ACM Press (2003)

    Google Scholar 

  13. Herlihy, M.P., Moss, J.E.B.: Transactional Memory: Architectural Support for Lock-free Data Structures. In: Proc. 20th ACM Int’l Symposium on Computer Architecture (ISCA 1993), pp. 289–300. ACM Press (1993)

    Google Scholar 

  14. Herlihy, M.P., Wing, J.M.: Linearizability: a Correctness Condition for Concurrent Objects. ACM Transactions on Programming Languages and Systems 12(3), 463–492 (1990)

    Article  Google Scholar 

  15. Larus, J., Kozyrakis, C.: Transactional Memory: Is TM the Answer for Improving Parallel Programming? Communications of the ACM 51(7), 80–89 (2008)

    Article  Google Scholar 

  16. Maldonado, W., Marlier, P., Felber, P., Lawall, J., Muller, G., Revière, E.: Deadline-Aware Scheduling for Software Transactional Memory. In: 41th IEEE/IFIP Int’l Conference on Dependable Systems and Networks ’DSN 2011. IEEE CPS Press (June 2011)

    Google Scholar 

  17. Michael, M.M., Scott, M.L.: Simple, Fast and Practical Blocking and Non-Blocking Concurrent Queue Algorithms. In: Proc. 15th Int’l ACM Symposium on Principles of Distributed Computing (PODC 1996), pp. 267–275. ACM Press (1996)

    Google Scholar 

  18. Spear, M.F., Silverman, M., Dalessandro, L., Michael, M.M., Scott, M.L.: Implementing and Exploiting Inevitability in Software Transactional Memory. In: Proc. 37th Int’l Conference on Parallel Processing (ICPP 2008). IEEE Press (2008)

    Google Scholar 

  19. Shavit, N., Touitou, D.: Software Transactional Memory. Distributed Computing 10(2), 99–116 (1997)

    Article  Google Scholar 

  20. Wamhoff, J.-T., Fetzer, C.: The Universal Transactional Memory Construction. Tech Report, 12 pages, University of Dresden, Germany (2010)

    Google Scholar 

  21. Wamhoff, J.-T., Riegel, T., Fetzer, C., Felber, P.: RobuSTM: A Robust Software Transactional Memory. In: Dolev, S., Cobb, J., Fischer, M., Yung, M. (eds.) SSS 2010. LNCS, vol. 6366, pp. 388–404. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Crain, T., Imbs, D., Raynal, M. (2012). Towards a Universal Construction for Transaction-Based Multiprocess Programs. In: Bononi, L., Datta, A.K., Devismes, S., Misra, A. (eds) Distributed Computing and Networking. ICDCN 2012. Lecture Notes in Computer Science, vol 7129. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25959-3_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-25959-3_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-25958-6

  • Online ISBN: 978-3-642-25959-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics