Abstract
Classical lock-based concurrency control does not scale with current and foreseen multi-core architectures, opening space for alternative concurrency control mechanisms. The concept of transactions executing concurrently in isolation with an underlying mechanism maintaining a consistent system state was already explored in fault-tolerant and distributed systems, and is currently being explored by transactional memory, this time being used to manage concurrent memory access. In this paper we discuss the use of Software Transactional Memory (STM), and how Ada can provide support for it. Furthermore, we draft a general programming interface to transactional memory, supporting future implementations of STM oriented to real-time systems.
- Herb Sutter and James Larus. Software and the concurrency revolution. Queue, 3(7):54--62, September 2005. Google Scholar
Digital Library
- Brian N. Bershad. Practical considerations for non-blocking concurrent objects. In Proceedings of the 13th International Conference on Distributed Computing Systems - ICDCS 1993, pages 264--273, May 1993.Google Scholar
Cross Ref
- Philippas Tsigas and Yi Zhang. Non-blocking data sharing in multiprocessor real-time systems. In Proceedings of the 6th IEEE International Conference on Real-Time Computing Systems and Applications - RTCSA'99, pages 247--254, December 1999. Google Scholar
Digital Library
- Björn B. Brandenburg, John M. Calandrino, Aaron Block, Hennadiy Leontyev, and James H. Anderson. Real-Time Synchronization on Multiprocessors: To Block or Not to Block, to Suspend or Spin? In Proceedings of the 14th IEEE Real-Time and Embedded Technology and Applications Symposium - RTAS '08, pages 342--353, April 2008. Google Scholar
Digital Library
- Maurice Herlihy and J. Eliot B. Moss. Transactional memory: architectural support for lock-free data structures. In Proceedings of the 20th anual International Symposium on Computer Architecture - ISCA '93, pages 289--300, May 1993. Google Scholar
Digital Library
- Nir Shavit and Dan Touitou. Software transactional memory. In Proceedings of the 14th annual ACM symposium on Principles of distributed computing - PODC '95, pages 204--213, August 1995. Google Scholar
Digital Library
- Aleksandar Dragojevik, Pascal Felber, Vincent Gramoli, and Rachid Guerraoui. Why STM can be more than a research toy. Communications of the ACM, 54(4):70--77, April 2011. Google Scholar
Digital Library
- Christopher J. Rossbach, Owen S. Hofmann, and Emmett Witchel. Is transactional programming actually easier? In Proceedings of the 15th ACM SIGPLAN symposium on Principles and practice of parallel programming - PPoPP '10, pages 47--56, January 2010. Google Scholar
Digital Library
- Sherif F. Fahmy, Binoy Ravindran, and E. D. Jensen. On Bounding Response Times under Software Transactional Memory in Distributed Multiprocessor Real-Time Systems. In Proceedings of the Design, Automation & Test in Europe Conference & Exhibition - DATE '09, pages 688--693, April 2009. Google Scholar
Digital Library
- Toufik Sarni, Audrey Queudet, and Patrick Valduriez. Real-Time Support for Software Transactional Memory. In Proceedings of the 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications - RTCSA '2009, pages 477--485, August 2009. Google Scholar
Digital Library
- Martin Schoeberl, Florian Brandner, and Jan Vitek. RTTM: Real-Time Transactional Memory. In Proceedings of the 2010 ACM Symposium on Applied Computing - SAC '10, pages 326--333, March 2010. Google Scholar
Digital Library
- António Barros and Luís Miguel Pinho. Software transactional memory as a building block for parallel embedded real-time systems. In Proceedings of the 37th EUROMICRO Conference on Software Engineering and Advanced Applications - SEAA 2011, August 2011. Google Scholar
Digital Library
- Marta Patiño-Martínez, Ricardo Jiménez-Peris, and Sergio Arévalo. Integrating groups and transactions: A faulttolerant extension of Ada. In Proceedings of the International Conference on Reliable Software Technologies - Ada-Europe '98, pages 78--89, 1998. Google Scholar
Digital Library
- Marta Patiño-Martínez, Ricardo Jiménez-Peris, and Sergio Arévalo. Implementing Transactions using Ada Exceptions: Which Features are Missing? Ada Letters, XXI(3):64--75, September 2001. Google Scholar
Digital Library
- Jörg Kienzle, Ricardo Jiménez-Peris, Alexander Romanovsky, and Marta Patiño-Martínez. Transaction Support for Ada. In Proceedings of the 6th International Conference on Reliable Software Technologies - Ada-Europe 2001, pages 290--304, 2001. Google Scholar
Digital Library
- Tim Harris and Keir Fraser. Language support for lightweight transactions. ACMSIGPLAN Notices, 38(11):388--402, November 2003. Google Scholar
Digital Library
- Walther Maldonado, Patrick Marlier, Pascal Felber, Adi Suissa, Danny Hendler, Alexandra Fedorova, Julia L. Lawall, and Gilles Muller. Scheduling support for transactional memory contention management. In Proceedings of the 15th ACM SIGPLAN symposium on Principles and practice of parallel programming - PPoPP '10, pages 79--90, January 2010. Google Scholar
Digital Library
- Tim Harris, James Larus, and Ravi Rajwar. Transactional Memory, 2nd edition. Synthesis Lectures on Computer Architecture, 5(1):1--263, December 2010.Google Scholar
- Michael F. Spear, Virendra J. Marathe, William N. Scherer III, and Michael L. Scott. Conflict Detection and Validation Strategies for Software Transactional Memory. In Proceedings of the 20th International Symposium on Distributed Computing - DISC 2006, pages 179--193, 2006. Google Scholar
Digital Library
- Dave Dice, Ori Shalev, and Nir Shavit. Transactional Locking II. In Proceedings of the 20th International Symposium on Distributed Computing - DISC 2006, pages 194--208, 2006. Google Scholar
Digital Library
- Torvald Riegel, Pascal Felber, and Christof Fetzer. A Lazy Snapshot Algorithm with Eager Validation. In Proceedings of the 20th International Symposium on Distributed Computing - DISC 2006, pages 284--298, 2006. Google Scholar
Digital Library
- Dmitri Perelman and Idit Keidar. SMV: Selective Multi-Versioning STM. In Proceedings of the 5th ACM SIGPLAN Workshop on Transactional Computing, April 2010.Google Scholar
Index Terms
Revisiting transactions in Ada
Recommendations
Implementing transactions using Ada exceptions: which features are missing?
Exception handling for a 21st century programming language proceedingsTransactional Drago programming language is an Ada extension that provides transaction processing capabilities. Exceptions have been integrated with transactions in Transactional Drago; exceptions are used to notify transaction aborts and any unhandled ...






Comments