research review slides
TRANSCRIPT
Software Transactional Memoryas an alternative to lock-based concurrency
Hazel McKendrick
2010
Overview
I Concurrency method analogous with database transactions
I Alternative to coarse lock-based methodsI Shared memory access through atomic transaction
I composed of reads and writes
I Transaction process
1. Transaction begins2. Reads and writes are logged separately3. Read log is verified against memory contents4. If they don’t match, transaction is aborted and repeated5. Otherwise writes are permanently committed
Problems
I Problems with lock-based concurrencyI Composition and scalabilityI Conceptual difficultiesI Deadlock, livelock and race conditions
I Does STM adequately resolve these issues?
I Application Issues
1. Performance overheads2. Semantics and ease of use for practitioners3. Non-transactional code access and migration
I Implementation Issues
1. Locking and safety2. Failure, side-effects and retrying aborted transactions
References I
C. Cascaval, C. Blundell, M. Michael, H. W Cain, P. Wu, S. Chiras, andS. Chatterjee.Software transactional memory: why is it only a research toy?Communications of the ACM, 51(11), 2008.
S. Chandrasekaran, O. Cooper, A. Deshpande, M. J Franklin, J. M Hellerstein,W. Hong, S. Krishnamurthy, S. R Madden, F. Reiss, and M. A Shah.TelegraphCQ: continuous dataflow processing.In Proceedings of the 2003 ACM SIGMOD international conference onManagement of data, 2003.
D. Dice, O. Shalev, and N. Shavit.Transactional locking II.Distributed Computing, 2006.
D. Grossman.The transactional memory/garbage collection analogy.In Proceedings of the 22nd annual ACM SIGPLAN conference onObject-oriented programming systems and applications, 2007.
T. Harris and K. Fraser.Language support for lightweight transactions.ACM SIGPLAN Notices, 38(11), 2003.
References II
Tim Harris, Simon Marlow, Simon Peyton-Jones, and Maurice Herlihy.Composable memory transactions.In Proceedings of the tenth ACM SIGPLAN symposium on Principles andpractice of parallel programming, Chicago, IL, USA, 2005. ACM.
H. T. Kung and J. T Robinson.On optimistic methods for concurrency control.ACM Transactions on Database Systems (TODS), 6(2), 1981.
C. J Rossbach, O. S Hofmann, and E. Witchel.Is transactional programming actually easier?In Proceedings of the 15th ACM SIGPLAN symposium on Principles and practiceof parallel computing, 2010.
T. Shpeisman, V. Menon, A. R Adl-Tabatabai, S. Balensiefer, D. Grossman, R. LHudson, K. F Moore, and B. Saha.Enforcing isolation and ordering in STM.ACM SIGPLAN Notices, 42(6), 2007.
A. Welc, B. Saha, and A. R Adl-Tabatabai.Irrevocable transactions and their applications.In Proceedings of the twentieth annual symposium on Parallelism in algorithmsand architectures, 2008.
Review Structure
1. Introduction
1.1 Brief overview of lock-based concurrency as motivation1.2 Overview of STM1.3 Summary of trends in research and implementations1.4 Summary of concerns in practice
2. Body
2.1 Brief history and development2.2 Deadlock, livelock and formal correctness2.3 Scalability, composition, safety and locking2.4 Conceptual and semantic difficulties - convincing studies?2.5 Performance overheads and implementations available
3. Conclusion
3.1 Evaluate state of the art for practical implementations3.2 Future avenues for research