The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.06 - June (2009 vol.20)
pp: 845-856
Hyeonjoong Cho , Korea University, Korea
Binoy Ravindran , Virginia Polytechnic Institute and State University, Blacksburg
Chewoo Na , Virginia Tech, Blacksburg
ABSTRACT
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.
INDEX TERMS
Real time, garbage collection, time/utility functions, scheduling, multiprocessors.
CITATION
Hyeonjoong Cho, Binoy Ravindran, Chewoo Na, "Garbage Collector Scheduling in Dynamic, Multiprocessor Real-Time Systems", IEEE Transactions on Parallel & Distributed Systems, vol.20, no. 6, pp. 845-856, June 2009, doi:10.1109/TPDS.2009.20
REFERENCES
[1] D. Detlefs, “A Hard Look at Hard Real-Time Garbage Collection,” Proc. IEEE Int'l Symp. Object-Oriented Real-Time Distributed Computing (ISORC '04), pp. 23-32, May 2004.
[2] R. Clark, E.D. Jensen, A. Kanevsky, and J. Maurer, “An Adaptive, Distributed Airborne Tracking System,” Proc. IEEE Int'l Workshop Parallel and Distributed Real-Time Systems (WPDRTS '99), pp. 353-362, Apr. 1999.
[3] R.K. Clark, E.D. Jensen, and N.F. Rouquette, “Software Organization to Facilitate Dynamic Processor Scheduling,” Proc. IEEE Int'l Workshop Parallel and Distributed Real-Time Systems (WPDRTS '04), p.122b, Apr. 2004.
[4] W. Yuan and K. Nahrstedt, “Energy-Efficient CPU Scheduling for Multimedia Applications,” ACM Trans. Computer Systems, vol. 24, no. 3, pp. 292-331, 2006.
[5] E.D. Jensen, C.D. Locke, and H. Tokuda, “A Time-Driven Scheduling Model for Real-Time Systems,” Proc. IEEE Real-Time Systems Symp. (RTSS '85), pp. 112-122, Dec. 1985.
[6] S.G. Robertz and R. Henriksson, “Time-Triggered Garbage Collection: Robust and Adaptive Real-Time GC Scheduling for Embedded Systems,” Proc. ACM Conf. Language, Compiler, and Tool for Embedded Systems (LCTES '03), pp. 93-102, 2003.
[7] R. Henriksson, “Scheduling Garbage Collection in Embedded Systems,” PhD dissertation, Lund Inst. of Tech nology, July 1998.
[8] P. Cheng and G.E. Blelloch, “A Parallel, Real-Time Garbage Collector,” Proc. ACM Programming Language Design and Implementation (PLDI '01), pp. 125-136, 2001.
[9] R.H. Halstead, Jr., “MULTILISP: A Language for Concurrent Symbolic Computation,” ACM Trans. Programming Languages and Systems, vol. 7, no. 4, pp. 501-538, 1985.
[10] A.W. Appel, J.R. Ellis, and K. Li, “Real-Time Concurrent Collection on Stock Multiprocessors,” Proc. ACM Programming Language Design and Implementation (PLDI '88), pp. 11-20, 1988.
[11] M.P. Herlihy and J.E.B. Moss, “Lock-Free Garbage Collection for Multiprocessors,” IEEE Trans. Parallel and Distributed Systems, vol. 3, no. 3, pp. 304-311, May 1992.
[12] D. Doligez and G. Gonthier, “Portable, Unobtrusive Garbage Collection for Multiprocessor Systems,” Proc. ACM Principles of Programming Languages (POPL '94), pp. 70-83, 1994.
[13] S. Nettles and J. O'Toole, “Real-Time Replication Garbage Collection,” Proc. ACM Programming Language Design and Implementation (PLDI '93), pp. 217-226, 1993.
[14] G.E. Blelloch and P. Cheng, “On Bounding Time and Space for Multiprocessor Garbage Collection,” Proc. ACM Programming Language Design and Implementation (PLDI '99), pp. 104-117, 1999.
[15] D.F. Bacon, C.R. Attanasio, H.B. Lee, V.T. Rajan, and S. Smith, “Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector,” Proc. ACM Programming Language Design and Implementation (PLDI '01), pp. 92-103, 2001.
[16] H.G. Baker, “List Processing in Real Time on a Serial Computer,” Comm. ACM, vol. 21, no. 4, pp. 280-294, 1978.
[17] T. Endo, “A Scalable Mark-Sweep Garbage Collector on Large-Scale Shared-Memory Machines,” Master's thesis, Univ. of Tokyo, Feb. 1998.
[18] C. Flood, D. Detlefs, N. Shavit, and C. Zhang, “Parallel Garbage Collection for Shared Memory Multiprocessors,” Proc. USENIX Java Virtual Machine Research and Technology Symp. (JVM), 2001.
[19] S. Feizabadi and G. Back, “Java Garbage Collection Scheduling in Utility Accrual Scheduling Environments,” Proc. Java Technologies for Real-time and Embedded Systems (JTRES '05), Oct. 2005.
[20] H. Cho, C. Na, B. Ravindran, and E.D. Jensen, “On Scheduling Garbage Collector in Dynamic Real-Time Systems with Statistical Timing Assurances,” Proc. IEEE Int'l Symp. Object-Oriented Real-Time Distributed Computing (ISORC '06), pp. 215-223, Apr. 2006.
[21] H.G. Baker, “The Treadmill: Real-Time Garbage Collection without Motion Sickness,” ACM SIGPLAN Notices, vol. 27, no. 3, pp.66-70, 1992.
[22] R.A. Brooks, “Trading Data Space for Reduced Time and Code Space in Real-Time Garbage Collection on Stock Hardware,” Proc. ACM Symp. LISP and Functional Programming (LFP '84), pp. 256-262, 1984.
[23] R.R. Fenichel and J.C. Yochelson, “A LISP Garbage-Collector for Virtual-Memory Computer Systems,” Comm. ACM, vol. 12, no. 11, pp. 611-612, 1969.
[24] S.C. North and J.H. Reppy, “Concurrent Garbage Collection on Stock Hardware,” Proc. Conf. Functional Programming Languages and Computer Architecture, pp. 113-133, 1987.
[25] T. Kim, N. Chang, N. Kim, and H. Shin, “Scheduling Garbage Collector for Embedded Real-Time Systems,” Proc. ACM Conf. Language, Compiler, and Tool for Embedded Systems (LCTES '99), pp.55-64, 1999.
[26] D.F. Bacon, P. Cheng, and V.T. Rajan, “A Real-Time Garbage Collector with Low Overhead and Consistent Utilization,” Proc. ACM Principles of Programming Languages (POPL '03), pp. 285-298, 2003.
[27] D.P. Maynard et al. “An Example Real-Time Command, Control, and Battle Management Application for Alpha,” CMU CS Dept., Technical Report 88121 (Archons Project), Dec. 1988.
[28] B. Brandenburg, J. Calandrino, and J. Anderson, “On the Scalability of Real-Time Scheduling Algorithms on Multicore Platforms: A Case Study,” Proc. IEEE Real-Time Systems Symp. (RTSS), 2008.
[29] C. Na, H. Cho, B. Ravindran, and E.D. Jensen, “Garbage Collector Scheduling in Dynamic, Multiprocessor Real-Time Systems,” Proc. IEEE Int'l Conf. Embedded and Real-Time Computing Systems and Applications (RTCSA '06), pp. 101-105, 2006.
[30] M. Bertogna, M. Cirinei, and G. Lipari, “Improved Schedulability Analysis of EDF on Multiprocessor Platforms,” Proc. IEEE Euromicro Conf. Real-Time Systems (ECRTS '05), pp. 209-218, July 2005.
[31] S.K. Dhall and C.L. Liu, “On a Real-Time Scheduling Problem,” Operations Research, vol. 26, no. 1, pp. 127-140, 1978.
[32] O.U.P. Zapata and P.M. Alvarez, “EDF and RM Multiprocessor Scheduling Algorithms: Survey and Performance Evaluation,” http://delta.cs.cinvestav.mx/~pmejiamultitechreport.pdf , Oct. 2005.
[33] H. Cho, H. Wu, B. Ravindran, and E.D. Jensen, “On Multiprocessor Utility Accrual Real-Time Scheduling with Statistical Timing Assurances,” Proc. IFIP Int'l Conf. Embedded and Ubiquitous Computing (IFIP EUC '06), pp. 274-286, Aug. 2006.
[34] J. Goossens, S. Funk, and S. Baruah, “Priority-Driven Scheduling of Periodic Tasks Systems on Multiprocessors,” Real-Time Systems, vol. 25, nos. 2-3, pp. 187-205, 2003.
961 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool