Abstract
We consider garbage collection (GC) in dynamic real-time systems. We consider the time-based GC approach of running the collector as a separate, concurrent thread, and focus on real-time scheduling to obtain assurances on mutator timing behavior, while ensuring that memory is never exhausted. We present a scheduling algorithm called GCUA. The algorithm considers mutator activities that are subject to time/utility function time constraints, variable execution time demands, the unimodal arbitrary arrival model that allows a strong adversary, and resource overloads. We establish several properties of GCUA including probabilistically-satisfied utility lower bounds for each mutator activity, a lower bound on the system-wide total accrued utility, bounded sensitivity for the assurances to variations in mutator execution time demand estimates, and no memory exhaustion at all times. Our simulation experiments validate our analytical results and confirm the algorithm’s effectiveness and superiority.
Similar content being viewed by others
References
Appel AW, Ellis JR, Li K (1988) Real-time concurrent collection on stock multiprocessors. In: PLDI ’88: proceedings of the ACM SIGPLAN 1988 conference on programming language design and implementation. ACM, New York, pp 11–20
Aydin H, Melhem R, Mosse D, Mejia-Alvarez P (2001) Dynamic and aggressive scheduling techniques for power-aware real-time systems. In: IEEE RTSS, December 2001, pp 95–105
Bacon DF, Cheng P, Rajan VT (2003) A real-time garbage collector with low overhead and consistent utilization. In: POPL ’03: proceedings of the 30th ACM SIGPLAN-SIGACT symposium on principles of programming languages. ACM, New York, pp 285–298
Baker HG (1992) The treadmill: real-time garbage collection without motion sickness. SIGPLAN Not 27(3):66–70
Brooks RA (1984) Trading data space for reduced time and code space in real-time garbage collection on stock hardware. In: LFP ’84: proceedings of the 1984 ACM symposium on LISP and functional programming. ACM, New York, pp 256–262
Cheng P, Blelloch GE (2001) A parallel, real-time garbage collector. In: PLDI ’01: proceedings of the ACM SIGPLAN 2001 conference on programming language design and implementation. ACM, New York, pp 125–136
Clark RK (1990) Scheduling dependent real-time activities. PhD thesis, Carnegie Mellon University
Clark RK, Jensen ED, et al. (1999) An adaptive, distributed airborne tracking system. In: IEEE WPDRTS, April 1999
Clark RK, Jensen ED, Rouquette NF (2004) Software organization to facilitate dynamic processor scheduling. In: IEEE WPDRTS, April 2004
Detlefs D (2004) A hard look at hard real-time garbage collection. In: IEEE international symposium on object-oriented real-time distributed computing, May 2004, pp 23–32
Feizabadi S, Back G (2005) Java garbage collection scheduling in utility accrual scheduling environments. In: Workshop on Java technologies for real-time and embedded systems, October 2005
Fenichel RR, Yochelson JC (1969) A lisp garbage-collector for virtual-memory computer systems. Commun ACM 12(11):611–612
Henriksson R (1998) Scheduling garbage collection in embedded systems. PhD thesis, Lund Institute of Technology
Henry J, Baker G (1978) List processing in real time on a serial computer. Commun ACM 21(4):280–294
Hermant J-F, Lann GL (1998) A protocol and correctness proofs for real-time high-performance broadcast networks. In: IEEE ICDCS, pp 360–369
Horn W (1974) Some simple scheduling algorithms. Nav Res Logist Q 21:177–185
Jensen ED, Locke CD, Tokuda H (1985) A time-driven scheduling model for real-time systems. In: IEEE RTSS, December 1985, pp 112–122
Johnstone MS (1997) Non-compacting memory allocation and real-time garbage collection. PhD thesis, University of Texas at Austin (supervisor Paul R. Wilson)
Kim T, Chang N, Kim N, Shin H (1999) Scheduling garbage collector for embedded real-time systems. SIGPLAN Not 34(7):55–64
Li P, Ravindran B (2004) Fast, best effort real-time scheduling algorithms. IEEE Trans Comput 53(9):1159–1175
Li P, Ravindran B, et al. (2004) A formally verified application-level framework for real-time scheduling on posix real-time operating systems. IEEE Trans Softw Eng 30(9):613–629
Locke CD (1986) Best-effort decision making for real-time scheduling. PhD thesis, Carnegie Mellon University
Maynard DP, Shipman SE, et al. (1988) An example real-time command, control, and battle management application for alpha. Technical report, CMU CS Dept. Archons Project TR 88121
Nettles S, O’Toole J (1993) Real-time replication garbage collection. In: PLDI ’93: proceedings of the ACM SIGPLAN 1993 conference on programming language design and implementation. ACM, New York, pp 217–226
North SC, Reppy JH (1987) Concurrent garbage collection on stock hardware. In: Proceedings of the conference on functional programming languages and computer architecture. London, UK, 1987. Springer, Berlin, pp 113–133
Northcutt JD (1987) Mechanisms for reliable distributed real-time operating systems—the alpha kernel. Academic, New York
Ravindran B, Jensen ED, Li P (2005) On recent advances in time/utility function real-time scheduling and resource management. In: IEEE ISORC, May 2005, pp 55–60
Robertz SG, Henriksson R (2003) Time-triggered garbage collection: robust and adaptive real-time gc scheduling for embedded systems. In: LCTES ’03: proceedings of the 2003 ACM SIGPLAN conference on language, compiler, and tool for embedded systems. ACM, New York, pp 93–102
Sha L, Rajkumar R, Lehoczky JP (1994) Generalized rate-monotonic scheduling theory. Proc IEEE 82(1)
Yuasa T (1990) Real-time garbage collection on general-purpose machines. J Syst Softw 11(3):181–198
Zhang X, Wang Z, et al. (1997) System support for automated profiling and optimization. In: ACM SOSP, October 1997, pp 15–26
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Cho, H., Na, C., Ravindran, B. et al. On scheduling garbage collector in dynamic real-time systems with statistical timing assurances. Real-Time Syst 36, 23–46 (2007). https://doi.org/10.1007/s11241-006-9011-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-006-9011-0