RTTM: real-time transactional memory

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.

[1]  James Gosling,et al.  The Real-Time Specification for Java , 2000, Computer.

[2]  Manu Sridharan,et al.  Refinement-based context-sensitive points-to analysis for Java , 2006, PLDI '06.

[3]  Reinhard Wilhelm,et al.  Cache Behavior Prediction by Abstract Interpretation , 1996, Sci. Comput. Program..

[4]  Quinn Jacobson,et al.  Architectural Support for Software Transactional Memory , 2006, 2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'06).

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

[6]  Alexander Aiken,et al.  Effective static race detection for Java , 2006, PLDI '06.

[7]  D. M. Hutton,et al.  The Art of Multiprocessor Programming , 2008 .

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

[9]  Kunle Olukotun,et al.  Programming with transactional coherence and consistency (TCC) , 2004, ASPLOS XI.

[10]  Ondrej Lhoták,et al.  Context-Sensitive Points-to Analysis: Is It Worth It? , 2006, CC.

[11]  Martin Schoeberl,et al.  A real-time Java chip-multiprocessor , 2010, TECS.

[12]  Kunle Olukotun,et al.  Transactional memory coherence and consistency , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..

[13]  Douglas C. Schmidt,et al.  Enhancing real-time CORBA via real-time Java features , 2004, 24th International Conference on Distributed Computing Systems, 2004. Proceedings..

[14]  Christof Pitter,et al.  Time-predictable memory arbitration for a Java chip-multiprocessor , 2008, JTRES '08.

[15]  Maurice Herlihy,et al.  Software transactional memory for dynamic-sized data structures , 2003, PODC '03.

[16]  Barbara G. Ryder,et al.  Parameterized object sensitivity for points-to analysis for Java , 2005, TSEM.

[17]  Martin Schoeberl,et al.  Time-Predictable Computer Architecture , 2009, EURASIP J. Embed. Syst..

[18]  Nir Shavit,et al.  Software transactional memory , 1995, PODC '95.

[19]  Keir Fraser,et al.  Language support for lightweight transactions , 2003, SIGP.

[20]  Alexander Aiken,et al.  Conditional must not aliasing for static race detection , 2007, POPL '07.

[21]  Martin Schoeberl,et al.  A Java processor architecture for embedded real-time systems , 2008, J. Syst. Archit..

[22]  Thomas F. Knight An architecture for mostly functional languages , 1986, LFP '86.

[23]  Lone Leth Thomsen,et al.  Towards Transactional Memory for Real-Time Systems , 2009 .

[24]  David C. Sharp,et al.  Real-time distributed object computing: ready for mission-critical embedded system applications , 2001, Proceedings 3rd International Symposium on Distributed Objects and Applications.

[25]  Mark Moir,et al.  Lock-Free Transactions for Real-Time Systems , 1996, RTDB.