ABSTRACT
Transactional memory (TM) is a convenient synchronization tool that allows concurrent threads to declare sequences of instructions on shared data as speculative transactions with "all-or-nothing" semantics. It is known that dynamic transactional memory cannot provide wait-free progress ensuring that every transaction commits in a finite number of its own steps. In this paper, we explore the costs of providing wait-freedom to only a subset of transactions. We require that read-only transactions commit in the wait-free manner, while updating transactions are guaranteed to commit only if they run in the absence of concurrency. We show that this kind of partial wait-freedom, combined with attractive requirements like read invisibility or disjoint-access parallelism, incurs considerable complexity costs.
- H. Attiya, R. Guerraoui, D. Hendler, P. Kuznetsov, M. Michael, and M. Vechev. Laws of order: Expensive synchronization in concurrent algorithms cannot be eliminated. In POPL, pages 487--498, 2011. Google ScholarDigital Library
- H. Attiya, E. Hillel, and A. Milani. Inherent limitations on disjoint-access parallel implementations of transactional memory. Theory of Computing Systems, 49(4):698--719, 2011. Google ScholarDigital Library
- H. Attiya and A. Milani. Transactional scheduling for read-dominated workloads. In Proceedings of the 13th International Conference on Principles of Distributed Systems, OPODIS '09, pages 3--17, Berlin, Heidelberg, 2009. Springer-Verlag. Google ScholarDigital Library
- V. Bushkov, D. Dziuma, P. Fatourou, and R. Guerraoui. The pcl theorem: Transactions cannot be parallel, consistent and live. In SPAA, pages 178--187, 2014. Google ScholarDigital Library
- V. Bushkov, R. Guerraoui, and M. Kapalka. On the liveness of transactional memory. In Proceedings of the 2012 ACM Symposium on Principles of Distributed Computing, PODC '12, pages 9--18, New York, NY, USA, 2012. ACM. Google ScholarDigital Library
- D. Dice and N. Shavit. What really makes transactions fast? In Transact, 2006.Google Scholar
- S. Doherty, L. Groves, V. Luchangco, and M. Moir. Towards formally specifying and verifying transactional memory. Formal Aspects of Computing, 25(5):769--799, 2013.Google ScholarDigital Library
- F. Ellen, D. Hendler, and N. Shavit. On the inherent sequentiality of concurrent objects. SIAM J. Comput., 41(3):519--536, 2012.Google ScholarCross Ref
- K. Fraser. Practical lock-freedom. Technical report, Cambridge University Computer Laborotory, 2003.Google Scholar
- R. Guerraoui and M. Kapalka. On obstruction-free transactions. In Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures, SPAA '08, pages 304--313, New York, NY, USA, 2008. ACM. Google ScholarDigital Library
- R. Guerraoui and M. Kapalka. Principles of Transactional Memory, Synthesis Lectures on Distributed Computing Theory. Morgan and Claypool, 2010.Google ScholarCross Ref
- R. Guerraoui, M. Kapalka, and J. Vitek. Stmbench7: A benchmark for software transactional memory. SIGOPS Oper. Syst. Rev., 41(3):315--324, Mar. 2007. Google ScholarDigital Library
- M. Herlihy. Wait-free synchronization. ACM Trans. Prog. Lang. Syst., 13(1):123--149, 1991. Google ScholarDigital Library
- M. Herlihy, V. Luchangco, M. Moir, and W. N. Scherer, III. Software transactional memory for dynamic-sized data structures. In PODC, pages 92--101, 2003. Google ScholarDigital Library
- D. Imbs, J. R. G. de Mendívil, and M. Raynal. Brief announcement: virtual world consistency: a new condition for stm systems. In PODC, pages 280--281, 2009. Google ScholarDigital Library
- A. Israeli and L. Rappoport. Disjoint-access-parallel implementations of strong shared memory primitives. In PODC, pages 151--160, 1994. Google ScholarDigital Library
- P. Kuznetsov and S. Ravi. On the cost of concurrency in transactional memory. In OPODIS, pages 112--127, 2011. full version: http://arxiv.org/abs/1103.1302. Google ScholarDigital Library
- P. E. McKenney. Memory barriers: a hardware view for software hackers. Linux Technology Center, IBM Beaverton, June 2010.Google Scholar
- D. Perelman, R. Fan, and I. Keidar. On maintaining multiple versions in STM. In PODC, pages 16--25, 2010. Google ScholarDigital Library
- F. Tabba, M. Moir, J. R. Goodman, A. W. Hay, and C. Wang. Nztm: Nonblocking zero-indirection transactional memory. In Proceedings of the Twenty-first Annual Symposium on Parallelism in Algorithms and Architectures, SPAA '09, pages 204--213, New York, NY, USA, 2009. ACM. Google ScholarDigital Library
Index Terms
- On Partial Wait-Freedom in Transactional Memory
Recommendations
Operation-Level Wait-Free Transactional Memory with Support for Irrevocable Operations
Transactional memory (TM) aims to be a general purpose concurrency mechanism. However, operations which cause side-effects cannot be easily managed by a TM system, in which transactions are executed optimistically. In particular, networking, I/O, and some ...
Achieving Starvation-Freedom in Multi-version Transactional Memory Systems
Networked SystemsAbstractSoftware Transactional Memory systems (STMs) have garnered significant interest as an elegant alternative for addressing synchronization and concurrency issues with multi-threaded programming in multi-core systems. Client programs use STMs by ...
Achieving starvation-freedom in multi-version transactional memory systems
AbstractSoftware Transactional Memory systems (STMs) have garnered significant interest as an elegant alternative for addressing synchronization and concurrency issues with multi-threaded programming in multi-core systems. Client programs use STMs by ...
Comments