The Community for Technology Leaders
RSS Icon
Issue No.08 - August (2010 vol.59)
pp: 1063-1075
Yang Chang , University of York, York
Andy Wellings , University of York, York
Hard real-time systems always choose not to use garbage collection in order to avoid its unpredictable executions. Much effort has been expended trying to build predictable garbage collectors which can provide both temporal and spatial guarantees. Unfortunately, most existing work leads to systems that cannot easily achieve a balance between temporal and spatial performances. Moreover, the scheduling of garbage collectors has not been integrated into modern real-time scheduling frameworks, which makes the benefits provided by the advancement of scheduling techniques very difficult to obtain. This paper argues that the existing design criteria for real-time garbage collectors do not reflect the unique requirements of flexible hard real-time systems. As a part of our design criteria, a new performance indicator is proposed to describe the capability of a real-time garbage collector to achieve a better balance between temporal and spatial performances. A hybrid garbage collection algorithm is designed accordingly which also uses dual priority scheduling algorithm to reclaim spare capacity while guaranteeing deadlines.
Real-time hybrid garbage collection, garbage collection granularity, advanced real-time scheduling.
Yang Chang, Andy Wellings, "Garbage Collection for Flexible Hard Real-Time Systems", IEEE Transactions on Computers, vol.59, no. 8, pp. 1063-1075, August 2010, doi:10.1109/TC.2010.13
[1] A. Borg, A. Wellings, C. Gill, and R.K. Cytron, "Real-Time Memory Management: Life and Times," Proc. 18th Euromicro Conf. Real-Time Systems, pp. 237-250, 2006.
[2] Y. Chang, "Garbage Collection for Flexible Hard Real-Time Systems," PhD dissertation, The Univ. of York, http://www. 2007/YCST/24YCST-2007-24.pdf , 2007.
[3] Y. Chang and A. Wellings, "Hard Real-Time Hybrid Garbage Collection with Low Memory Requirements," Proc. 27th IEEE Real-Time Systems Symp., pp. 77-86, 2006.
[4] R. Davis and A. Wellings, "Dual Priority Scheduling," Proc. 16th IEEE Real-Time Systems Symp., pp. 100-109, 1995.
[5] H.G. Baker, "List Processing in Real Time on a Serial Computer," Comm. ACM, vol. 21, no. 4, pp. 280-294, 1978.
[6] M.S. Johnstone, "Non-Compacting Memory Allocation and Real-Time Garbage Collection," PhD dissertation, The Univ. of Texas at Austin, 1997.
[7] D.F. Bacon, P. Cheng, and V. Rajan, "A Real-Time Garbage Collector with Low Overhead and Consistent Utilization," Proc. Symp. Principles of Programming Languages (POPL '03), pp. 285-298, 2003.
[8] T. Kim, N. Chang, and H. Shin, "Joint Scheduling of Garbage Collector and Hard Real-Time Tasks for Embedded Applications," J. Systems and Software, vol. 58, no. 3, pp. 247-260, 2001.
[9] R. Henriksson, "Scheduling Garbage Collection in Embedded Systems," PhD dissertation, Lund Univ., thesis.pdf, 1998.
[10] F. Siebert, "Hard Real Time Garbage Collection in Modern Object Oriented Programming Languages," PhD dissertation, Univ. of Karlsruhe, 2002.
[11] F. Siebert, "Eliminating External Fragmentation in a Non-Moving Garbage Collector for Java," Proc. Int'l Conf. Compilers, Architectures and Synthesis for Embedded Systems (CASES '00), pp. 9-17, 2000.
[12] T. Ritzau, "Hard Real-Time Reference Counting without External Fragmentation," Proc. Java Optimization Strategies for Embedded Systems Workshop at ETAPS, 2001.
[13] L. Sha, J.P. Lehoczky, and R. Rajkumar, "Solutions for Some Practical Problems in Prioritised Preemptive Scheduling," Proc. IEEE Real-Time Systems Symp., pp. 181-191, 1986.
[14] T. Kim and H. Shin, "Scheduling-Aware Real-Time Garbage Collection Using Dual Aperiodic Servers," Proc. IEEE Ninth Int'l Conf. Real-Time and Embedded Computing Systems and Applications (RTCSA), pp. 3-20, 2003.
[15] S.G. Robertz and R. Henriksson, "Time-Triggered Garbage Collection-Robust and Adaptive Real-Time Gc Scheduling for Embedded Systems," Proc. Conf. Languages, Compilers, and Tools for Embedded Systems (LCTES '03), pp. 93-102, 2003.
[16] A. Burns and A. Wellings, Real-Time Systems and Programming Languages, third ed., Addison Wesley, 2001.
[17] N. Audsley, A. Burns, M. Richardson, K. Tindell, and A. Wellings, "Applying New Scheduling Theory to Static Priority Pre-Emptive Scheduling," Software Eng. J., vol. 8, no. 5, pp. 284-292, 1993.
[18] S.G. Robertz, "Applying Priorities to Memory Allocation," Proc. Int'l Symp. Memory Management, pp. 108-118, 2003.
[19] K. Havelund and T. Pressburger, "Model Checking Java Programs Using Java PathFinder," Int'l J. Software Tools for Technology Transfer, vol. 2, no. 4, pp. 366-381, 2000.
[20] A. Corsaro and D.C. Schmidt, "The Design and Performance of the JRate Real-Time Java Implementation," Proc. Fourth Int'l Symp. Distributed Objects and Applications, pp. 900-921, 2002.
[21] M. Rivas and M. Harbour, "MaRTE OS: An Ada Kernel for Real-Time Embedded Applications," Proc. Ada Europe, pp. 305-316, 2001.
[22] T. Ritzau, "Memory Efficient Hard Real-Time Garbage Collection," PhD dissertation, Linköping Univ., , 2003.
4 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool