Abstract
This article introduces STM-HRT, a nonblocking wait-free software transactional memory (STM) for hard real-time (HRT) multicore embedded systems. Resource access control in HRT systems is usually implemented with lock-based synchronization. However, these mechanisms may lead to deadlocks or starvations and do not scale well with the number of cores. Most existing nonblocking STM are not suitable for HRT systems, because it is not possible to find an upper bound of the execution time for each task. In this article, we show how STM-HRT can be a robust solution for resource sharing in HRT multicore systems. We provide a detailed description of STM-HRT architecture. We propose a set of arguments to establish the functional correctness of its concurrency control protocol. Finally, as part of a real-time analysis, we derive upper bounds on the computations required to access shared data under STM-HRT.
- J. H. Anderson and M. Moir. 1995. Universal construction for multi-object operations. In Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing. 184--193. Google Scholar
Digital Library
- J. H. Anderson and M. Moir. 1999. Universal constructions for large objects. IEEE Transactions on Parallel and Distributed Systems 10, 12, 1317--1332. Google Scholar
Digital Library
- AUTOSAR. 2015. AUTOSAR GbR. Technical Overview. {Online} http://www.autosar.org.Google Scholar
- T. P. Baker. 1990. A stack-based resource allocation policy for realtime processes. In Proceedings of the 11th IEEE Real-Time Systems Symposium. 191--200.Google Scholar
Cross Ref
- J. L. Béchennec, M. Briday, S. Faucou, and Y. Trinquet. 2006. Trampoline—an open source implementation of the OSEK/VDX RTOS specification. In Proceedings of the IEEE Conference on Emerging Technologies and Factory Automation. IEEE, Los Alamitos, CA, 62--69.Google Scholar
- A. Benveniste, P. Caspi, M. Di Natale, C. Pinello, A. Sangiovanni-Vincentelli, and S. Tripakis. 2007. Loosely time-triggered architectures based on communication-by-sampling. In Proceedings of the International Conference on Embedded Software (EMSOFT’07). 301--310. Google Scholar
Digital Library
- A. Block, H. Leontyev, B. B. Brandenburg, and J. H. Anderson. 2007. A flexible real-time locking protocol for multiprocessors. In Proceedings of the 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications. IEEE, Los Alamitos, CA, 47--56. Google Scholar
Digital Library
- J. Bobba, K. E. Moore, L. Yen, H. Volos, M. D. Hill, M. M. Swift, and D. A. Wood. 2007. Performance pathologies in hardware transactional memory. In Proceedings of the 34th Annual International Symposium on Computer Architecture (ISCA’07). 81--91. Google Scholar
Digital Library
- T. Carle and D. Potop-Butucaru. 2014. Predicate-aware, makespan-preserving software pipelining of scheduling tables. ACM Transactions on Architecture and Code Optimization 11, 1--26. Google Scholar
Digital Library
- J. Chen and A. Burns. 1997. A Fully Asynchronous Reader/Writer Mechanism for Multiprocessor Real-Time Systems. Technical Report. Department of Computer Science, University of York.Google Scholar
- H. Cho, B. Ravindran, and E. D. Jensen. 2007. Space-optimal, wait-free real-time synchronization. IEEE Transactions on Computers 56, 3, 373--384. Google Scholar
Digital Library
- K. P. Eswaran, J. N. Gray, R. A. Lorie, and I. L. Traiger. 1976. The notions of consistency and predicate locks in a database system. Communications of the ACM 19, 624--633. Google Scholar
Digital Library
- P. Fatourou. 2013. Theory results in transactional memory. In Proceedings of the 1st Euro-TM School on Transactional Memory, Co-Located with the 6th School on Hot Topics in Distributed Computing.Google Scholar
- J. Forget, F. Boniol, E. Grolleau, D. Lesens, and C. Pagetti. 2010. Scheduling dependent periodic tasks without synchronization mechanisms. In Proceedings of the 16th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS’10). 301--310. Google Scholar
Digital Library
- K. Fraser. 2004. Practical Lock-Freedom. Technical Report. University of Cambridge.Google Scholar
- T. Haerder and A. Reuter. 1983. Principles of transaction-oriented database recovery. ACM Computing Surveys, 15, 287--317. Google Scholar
Digital Library
- T. Harris and K. Fraser. 2003. Language support for lightweight transactions. In Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications. 388--402. Google Scholar
Digital Library
- T. Harris, J. R. Larus, and R. Rajwar. 2010. Transactional Memory (2nd ed.). Morgan and Claypool. Google Scholar
Digital Library
- M. Herlihy. 1991. Wait-free synchronization. ACM Transactions on Programming Languages and Systems 13, 1, 124--149. Google Scholar
Digital Library
- M. Herlihy. 1993. A methodology for implementing highly concurrent data objects. ACM Transactions on Programming Languages and Systems 15, 5, 745--770. Google Scholar
Digital Library
- M. Herlihy, J. Eliot, and B. Moss. 1993. Transactional memory: Architectural support for lock-free data structures. In Proceedings of the 20th Annual International Symposium on Computer Architecture. 289--300. Google Scholar
Digital Library
- M. Herlihy, V. Luchangco, M. Moir, and W. N. Scherer III. 2003. Software transactional memory for dynamic-sized data structures. In Proceedings of the Annual Symposium on Principles of Distributed Computing (PODC’03). 92--101. Google Scholar
Digital Library
- G. J. Holzmann. 1997. The model checker SPIN. IEEE Transactions on Software Engineering: Special Issue on Formal Methods in Software Practice 23, 5, 279--295. Google Scholar
Digital Library
- J. M. Lopez, J. L. Diaz, and D. F. Garcia. 2004. Utilization bounds for EDF scheduling on real-time multiprocessor systems. Journal of Real-Time Systems 28, 1, 39--68. Google Scholar
Digital Library
- A. K. Mok. 1983. Fundamental Design Problems of Distributed Systems for the Hard-Real-Time Environment. Technical Report. Laboratory for Computer Science, Massachusetts Institute of Technology, Cambridge, MA. Google Scholar
Digital Library
- R. Rajkumar. 1991. Synchronization in Real-Time Systems: A Priority Inheritance Approach. Kluwer Academic. Google Scholar
Digital Library
- W. N. Scherer III and M. L. Scott. 2004. Contention management in dynamic software transactional memory. In Proceedings of the Principles of Distributed Computing Workshop on Concurrency and Synchronization in Java Programs.Google Scholar
- T. Sarni, A. Queudet, and P. Valduriez. 2009a. Real-time support for software transactional memory. In Proceedings of the 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications. 477--485. Google Scholar
Digital Library
- T. Sarni, A. Queudet, and P. Valduriez. 2009b. Transactional memory: Worst case execution time analysis. In Proceedings of the 17th IEEE International Conference on Real-Time and Network Systems.Google Scholar
- L. Sha, R. Rajkumar, and J. P. Lehoczky. 1990. Priority inheritance protocols: An approach to real-time synchronization. IEEE Transactions on Computers 39, 9, 1175--1185. Google Scholar
Digital Library
- N. Shavit and D. Touitou. 1995. Software transactional memory. In Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing. 204--213. Google Scholar
Digital Library
- A. Shriraman and S. Dwarkadas. 2009. Refereeing conflicts in hardware transactional memory. In Proceedings of the 23rd International Conference on Supercomputing. 136--146. Google Scholar
Digital Library
- O. Song and C. H. Choi. 2003. Wait-free data sharing between periodic tasks in multiprocessor control systems. Control Engineering Practice 11, 6, 601--611.Google Scholar
Cross Ref
- H. Zeng and M. Di Natale. 2011. Mechanisms for guaranteeing data consistency and flow preservation in AUTOSAR software on multi-core platforms. In Proceedings of the Symposium on Industrial Embedded Systems. 140--149.Google Scholar
Index Terms
STM-HRT: A Robust and Wait-Free STM for Hard Real-Time Multicore Embedded Systems
Recommendations
A Lock-Based STM Protocol That Satisfies Opacity and Progressiveness
OPODIS '08: Proceedings of the 12th International Conference on Principles of Distributed SystemsThe aim of a software transactional memory (STM) system is to facilitate the delicate problem of low-level concurrency management, i.e. the design of programs made up of processes/threads that concurrently access shared objects. To that end, a STM ...
McRT-STM: a high performance software transactional memory system for a multi-core runtime
PPoPP '06: Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programmingApplications need to become more concurrent to take advantage of the increased computational power provided by chip level multiprocessing. Programmers have traditionally managed this concurrency using locks (mutex based synchronization). Unfortunately, ...
Hybrid STM/HTM for nested transactions on OpenJDK
OOPSLA '16Transactional memory (TM) has long been advocated as a promising pathway to more automated concurrency control for scaling concurrent programs running on parallel hardware. Software TM (STM) has the benefit of being able to run general transactional ...






Comments