Garbage Collector Scheduling in Dynamic, Multiprocessor Real-Time Systems

We consider garbage collection (GC) in dynamic, multiprocessor real-time systems. We consider the time-based, concurrent GC approach and focus on real-time scheduling to obtain mutator timing assurances, despite memory allocation and garbage collection. We present a scheduling algorithm called GCMUA. The algorithm considers mutator activities that are subject to time/utility function time constraints, stochastic execution-time and memory demands, and overloads. We establish that GCMUA probabilistically lower bounds each mutator activity's accrued utility, lower bounds the system-wide total accrued utility, and upper bounds the timing assurances' sensitivity to variations in mutator execution-time and memory demand estimates. Our simulation experiments validate our analytical results and confirm GCMUA's effectiveness.

[1]  Andrew W. Appel,et al.  RETROSPECTIVE : Real-time Concurrent Collection on Stock Multiprocessors , 2004 .

[2]  Henry G. Baker,et al.  List processing in real time on a serial computer , 1978, CACM.

[3]  Guy E. Blelloch,et al.  A parallel, real-time garbage collector , 2001, PLDI '01.

[4]  Damien Doligez,et al.  Portable, unobtrusive garbage collection for multiprocessor systems , 1994, POPL '94.

[5]  John H. Reppy,et al.  Concurrent garbage collection on stock hardware , 1987, FPCA.

[6]  Sven Gestegard Robertz,et al.  Time-triggered garbage collection: robust and adaptive real-time GC scheduling for embedded systems , 2003 .

[7]  Nir Shavit,et al.  Parallel Garbage Collection for Shared Memory Multiprocessors , 2001, Java Virtual Machine Research and Technology Symposium.

[8]  Rodney A. Brooks,et al.  Trading data space for reduced time and code space in real-time garbage collection on stock hardware , 1984, LFP '84.

[9]  Binoy Ravindran,et al.  On Scheduling Garbage Collector in Dynamic Real-Time Systems With Statistical Timing Assurances , 2006, ISORC.

[10]  James H. Anderson,et al.  On the Scalability of Real-Time Scheduling Algorithms on Multicore Platforms: A Case Study , 2008, 2008 Real-Time Systems Symposium.

[11]  Guy E. Blelloch,et al.  On Bounding Time and Space for Multiprocessor Garbage Collection , 1999, PLDI.

[12]  Giuseppe Lipari,et al.  Improved schedulability analysis of EDF on multiprocessor platforms , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[13]  Taehyoun Kim,et al.  Scheduling garbage collector for embedded real-time systems , 1999, LCTES '99.

[14]  V. T. Rajan,et al.  Java without the coffee breaks: a nonintrusive multiprocessor garbage collector , 2001, PLDI '01.

[15]  Sanjoy K. Baruah,et al.  Priority-Driven Scheduling of Periodic Task Systems on Multiprocessors , 2003, Real-Time Systems.

[16]  Toshio Endo,et al.  A Scalable Mark-Sweep Garbage Collector on Large-Scale Shared-Memory Machines , 1997, ACM/IEEE SC 1997 Conference (SC'97).

[17]  Scott Nettles,et al.  Real-time replication garbage collection , 1993, PLDI '93.

[18]  RobertzSven Gestegard,et al.  Time-triggered garbage collection , 2003 .

[19]  David Detlefs A hard look at hard real-time garbage collection , 2004, Seventh IEEE International Symposium onObject-Oriented Real-Time Distributed Computing, 2004. Proceedings..

[20]  Sudarshan K. Dhall,et al.  On a Real-Time Scheduling Problem , 1978, Oper. Res..

[21]  Maurice Herlihy,et al.  Lock-Free Garbage Collection for Multiprocessors , 1992, IEEE Trans. Parallel Distributed Syst..

[22]  Roger Henriksson,et al.  Scheduling Garbage Collection in Embedded Systems , 1998 .

[23]  Binoy Ravindran,et al.  On Multiprocessor Utility Accrual Real-Time Scheduling with Statistical Timing Assurances , 2006, EUC.

[24]  Robert Fenichel,et al.  A LISP garbage-collector for virtual-memory computer systems , 1969, CACM.

[25]  V. T. Rajan,et al.  A real-time garbage collector with low overhead and consistent utilization , 2003, POPL '03.

[26]  F BaconDavid,et al.  Java without the coffee breaks , 2001 .

[27]  Binoy Ravindran,et al.  Garbage Collector Scheduling in Dynamic, Multiprocessor Real-Time Systems , 2009, IEEE Transactions on Parallel and Distributed Systems.

[28]  Henry G. Baker,et al.  The treadmill: real-time garbage collection without motion sickness , 1992, SIGP.

[29]  Arkady Kanevsky,et al.  An Adaptive, Distributed Airborne Tracking System ("process the Right Tracks at the Right Time") , 1999, IPPS/SPDP Workshops.

[30]  Godmar Back,et al.  Java Garbage Collection Scheduling in Utility Accrual Scheduling Environments , 2005 .

[31]  Robert H. Halstead,et al.  MULTILISP: a language for concurrent symbolic computation , 1985, TOPL.

[32]  Klara Nahrstedt,et al.  Energy-efficient CPU scheduling for multimedia applications , 2006, TOCS.

[33]  Raymond K. Clark,et al.  Software organization to facilitate dynamic processor scheduling , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..