Skip to main content
Log in

On scheduling garbage collector in dynamic real-time systems with statistical timing assurances

  • Published:
Real-Time Systems Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

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

    Chapter  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • Baker HG (1992) The treadmill: real-time garbage collection without motion sickness. SIGPLAN Not 27(3):66–70

    Article  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • 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

    Article  MATH  Google Scholar 

  • 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

    Article  MATH  Google Scholar 

  • 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

    Article  MATH  MathSciNet  Google Scholar 

  • 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

    Article  Google Scholar 

  • Li P, Ravindran B (2004) Fast, best effort real-time scheduling algorithms. IEEE Trans Comput 53(9):1159–1175

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • 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

    Google Scholar 

  • Northcutt JD (1987) Mechanisms for reliable distributed real-time operating systems—the alpha kernel. Academic, New York

    MATH  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • 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

    Article  Google Scholar 

  • Zhang X, Wang Z, et al. (1997) System support for automated profiling and optimization. In: ACM SOSP, October 1997, pp 15–26

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hyeonjoong Cho.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-006-9011-0

Keywords

Navigation