ABSTRACT
Hardware transactional memory is a promising synchronization technology for chip-multiprocessors. It simplifies programming of concurrent applications and allows for higher concurrency than lock based synchronization. Standard transactional memory is optimized for average case throughput, but for real-time systems we are interested in worst-case execution times. We propose real-time transactional memory (RTTM) as a time-predictable synchronization solution for chip-multiprocessors in real-time systems. We define the hardware for time-predictable transactions and provide a bound for the maximum transaction retries. The proposed RTTM is evaluated with a simulation of a Java chip-multiprocessor.
- WALA - T.J. Watson Libraries for Analysis. http://wala.sourceforge.net/, 2008. Version 1.2.1.Google Scholar
- M. Alt, C. Ferdinand, F. Martin, and R. Wilhelm. Cache behavior prediction by abstract interpretation. In SAS '96: Proceedings of the Third International Symposium on Static Analysis, pages 52--66. Springer-Verlag, 1996. Google ScholarDigital Library
- J. Anderson, S. Ramamurthy, M. Moir, and K. Jeffay. Lock-free transactions for real-time systems. In Real-Time Database Systems: Issues and Applications. Kluwer Academic Publishers, Norwell, Massachusetts, 1997.Google ScholarCross Ref
- G. Bollella, J. Gosling, B. Brosgol, P. Dibble, S. Furr, and M. Turnbull. The Real-Time Specification for Java. Addison-Wesley, 2000. Google ScholarDigital Library
- L. Hammond, B. D. Carlstrom, V. Wong, B. Hertzberg, M. K. Chen, C. Kozyrakis, and K. Olukotun. Programming with transactional coherence and consistency (TCC). In Proceedings of the 11th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2004), pages 1--13, Boston, MA, USA, October 2004. ACM. Google ScholarDigital Library
- L. Hammond, V. Wong, M. Chen, B. D. Carlstrom, J. D. Davis, B. Hertzberg, M. K. Prabhu, H. Wijaya, C. Kozyrakis, and K. Olukotun. Transactional memory coherence and consistency. In ISCA '04: Proceedings of the 31st annual international symposium on Computer architecture, page 102, Washington, DC, USA, 2004. IEEE Computer Society. Google ScholarDigital Library
- T. Harris and K. Fraser. Language support for lightweight transactions. In Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'03), pages 388--402, Seattle, Washington, Nov. 2003. Google ScholarDigital Library
- M. Herlihy, J. Eliot, and B. Moss. Transactional memory: Architectural support for lock-free data structures. In Computer Architecture, 1993. Proceedings of the 20th Annual International Symposium on, pages 289--300, 1993. Google ScholarDigital Library
- M. Herlihy, V. Luchangco, M. Moir, and W. Scherer. Software transactional memory for dynamic-sized data structures. In ACM Conference on Principles of Distributed Computing, pages 92--101, 2003. Google ScholarDigital Library
- M. Herlihy and N. Shavit. The Art of Multiprocessor Programming. Morgan Kaufman, 2008. Google ScholarDigital Library
- T. Knight. An architecture for mostly functional languages. In LFP '86: Proceedings of the 1986 ACM conference on LISP and functional programming, pages 105--112, New York, NY, USA, 1986. ACM Press. Google ScholarDigital Library
- J. Manson, J. Baker, A. Cunei, S. Jagannathan, M. Prochazka, B. Xin, and J. Vitek. Preemptible atomic regions for real-time java. In Proceedings of the 26th IEEE International Real-Time Systems Symposium (RTSS'05), pages 62--71, Los Alamitos, CA, USA, 2005. IEEE Computer Society. Google ScholarDigital Library
- A. Milanova, A. Rountev, and B. G. Ryder. Parameterized object sensitivity for points-to analysis for java. ACM Transactions on Software Engineering and Methodology, 14(1):1--41, 2005. Google ScholarDigital Library
- M. Naik, A. Aiken, and J. Whaley. Effective static race detection for java. In PLDI '06: Proceedings of the 2006 ACM SIGPLAN conference on Programming Language Design and Implementation, pages 308--319. ACM, 2006. Google ScholarDigital Library
- C. Pitter and M. Schoeberl. A real-time Java chip-multiprocessor. Trans. on Embedded Computing Sys., accepted for publication 2009. Google ScholarDigital Library
- B. Saha, A.-R. Adl-Tabatabai, and Q. Jacobson. Architectural support for software transactional memory. In MICRO 39: Proceedings of the 39th Annual IEEE/ACM International Symposium on Microarchitecture, pages 185--196, Washington, DC, USA, 2006. IEEE Computer Society. Google ScholarDigital Library
- M. Schoeberl. A Java processor architecture for embedded real-time systems. Journal of Systems Architecture, 54/1--2:265--286, 2008. Google ScholarDigital Library
- M. Schoeberl. Time-predictable computer architecture. EURASIP Journal on Embedded Systems, vol. 2009, Article ID 758480:17 pages, 2009. Google ScholarDigital Library
- M. Schoeberl, B. Thomsen, and L. L. Tomsen. Towards transactional memory for real-time systems. Research Report 19/2009, Institute of Computer Engineering, Vienna University of Technology, Treitlstr. 1--3/182-1, 1040 Vienna, Austria, 2009.Google Scholar
- D. Sharp. Real-time distributed object computing: Ready for mission-critical embedded system applications. In Proceeding of the Third International Symposium on Distribtued-Objects and Applications (DOA'01), 2001. Google ScholarDigital Library
- N. Shavit and D. Touitou. Software transactional memory. Distributed Computing, 10(2):99--116, 1997.Google ScholarCross Ref
- M. Sridharan and R. Bodík. Refinement-based context-sensitive points-to analysis for Java. In PLDI '06: Proceedings of the 2006 ACM SIGPLAN conference on Programming Language Design and Implementation, pages 387--400. ACM, 2006. Google ScholarDigital Library
Index Terms
- RTTM: real-time transactional memory
Recommendations
Lazy Versus Eager Conflict Detection in Software Transactional Memory: A Real-Time Schedulability Perspective
Transactional memory is a mechanism of controlling access to shared resources in concurrent programs. Though originally implemented in hardware, software implementations of transactional memory are now available as library extensions in all major ...
Wait-n-GoTM: improving HTM performance by serializing cyclic dependencies
ASPLOS '13Transactional memory (TM) has been proposed to alleviate some key programmability problems in chip multiprocessors. Most TMs optimistically allow concurrent transactions, detecting read-write or write-write conflicts. Upon conflicts, existing hardware ...
Comments