Schedulability Analysis of Transactions in Software Transactional Memory Using Timed Automata

Software Transactional Memory (STM) is a mechanism for controlling access to shared resources in memory using an abort-restart preemption model for tasks which share data objects. This execution model of STM is different from the classical preemptive or non-preemptive models and currently the only method to determine schedulability is through an exhaustive search through the state space of all release scenarios of higher priority tasks. The existing method is costly and scales exponentially with the number of tasks making its use limited in practical situations. Timed Automata has been proven as an expressive formalism for time based systems. This paper presents a methodology for developing Timed Automata encodings for the schedulability analysis of STM systems. We validate our models using the model checker UPPAAL, and show that Timed Automata offers an efficient alternative for schedulability analysis in real-time STM.

[1]  Wang Yi,et al.  Timed Automata with Asynchronous Processes: Schedulability and Decidability , 2002, TACAS.

[2]  Jan Vitek,et al.  RTTM: real-time transactional memory , 2010, SAC '10.

[3]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[4]  William N. Scherer,et al.  Advanced contention management for dynamic software transactional memory , 2005, PODC '05.

[5]  Binoy Ravindran,et al.  On bounding response times under software transactional memory in distributed multiprocessor real-time systems , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[6]  Binoy Ravindran,et al.  Response time analysis of software transactional memory-based distributed real-time systems , 2009, SAC '09.

[7]  Kim G. Larsen,et al.  A Tutorial on Uppaal , 2004, SFM.

[8]  Patrick Valduriez,et al.  Real-Time Support for Software Transactional Memory , 2009, 2009 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[9]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[10]  Albert Mo Kim Cheng,et al.  Lazy Versus Eager Conflict Detection in Software Transactional Memory: A Real-Time Schedulability Perspective , 2011, IEEE Embedded Systems Letters.

[11]  Maurice Herlihy,et al.  Transactional Memory: Architectural Support For Lock-free Data Structures , 1993, Proceedings of the 20th Annual International Symposium on Computer Architecture.

[12]  Wang Yi,et al.  Schedulability analysis of fixed-priority systems using timed automata , 2006, Theor. Comput. Sci..

[13]  Michael F. Spear,et al.  Conflict Detection and Validation Strategies for Software Transactional Memory , 2006, DISC.

[14]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[15]  Adam Welc,et al.  Towards transactional memory semantics for C++ , 2009, SPAA '09.

[16]  Kim Guldstrand Larsen,et al.  Model-Based Framework for Schedulability Analysis Using Uppaal 4.1 , 2018, Model-Based Design for Embedded Systems.

[17]  Jan Vitek,et al.  Preemptible atomic regions for real-time Java , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[18]  Rachel Cardell-Oliver,et al.  Analysis of Scheduling Behaviour using Generic Timed Automata , 2001, Electron. Notes Theor. Comput. Sci..

[19]  Oded Maler,et al.  Preemptive Job-Shop Scheduling Using Stopwatch Automata , 2002, TACAS.

[20]  Michael M. Swift,et al.  Pathological Interaction of Locks with Transactional Memory , 2008 .