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).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
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)
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)
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)
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)
Frølund, S., Guerraoui, R.: X-Ability: a Theory of Replication. Distributed Computing 14(4), 231–249 (2001)
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)
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)
Guerraoui, R., Kapałlka, M.: Principles of Transactional Memory. In: Synthesis Lectures on Distributed Computing Theory, 180 pages. Morgan & Claypool Publishers (2010)
Herlihy, M.P.: Wait-Free Synchronization. ACM Transactions on Programming Languages and Systems 13(1), 124–149 (1991)
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)
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)
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)
Larus, J., Kozyrakis, C.: Transactional Memory: Is TM the Answer for Improving Parallel Programming? Communications of the ACM 51(7), 80–89 (2008)
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)
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)
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)
Shavit, N., Touitou, D.: Software Transactional Memory. Distributed Computing 10(2), 99–116 (1997)
Wamhoff, J.-T., Fetzer, C.: The Universal Transactional Memory Construction. Tech Report, 12 pages, University of Dresden, Germany (2010)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)