Skip to main content
Log in

Garbage collection-aware utility accrual scheduling

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

Abstract

The convenience and robustness of automatic memory management have long been exploited by modern systems that use type-safe programming languages such as Java. The timeliness requirements of real-time systems, however, impose specific demands on the operational parameters of the garbage collector. The memory requirements of real-time tasks must be accommodated with a predictable impact on the time-line and under the purview of the scheduler.

Utility Accrual is a method of dynamic overload scheduling that is designed to respond to overload conditions by producing a schedule that heuristically maximizes a pre-defined metric of utility. Traditionally, UA schedulers have focused primarily on CPU overload. We explore memory overload conditions in which the memory demands exceed the system’s available memory bandwidth.

This paper presents a utility accrual algorithm for uniprocessor CPU and garbage collection scheduling that addresses such memory overload conditions. By tightly linking CPU and memory allocation, the scheduler can appropriately respond to overload along both dimensions. This scheduler is the first of its kind to enable the use of automatic memory management in a utility accrual system. Experimental results based on actual Java application profiles indicate the benefits of our model when compared to memory-unaware scheduling.

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.

Institutional subscriptions

Similar content being viewed by others

References

  • Back G, Hsieh WC (2005) The KaffeOS Java runtime system. ACM Trans Program Lang Syst 27(4):583–630

    Article  Google Scholar 

  • Bacon DF, Cheng P, Rajan VT (2003) A real-time garbage collecor with low overhead and consistent utilization. In: Conference record of the thirtieth annual ACM symposium on principles of programming languages. ACM SIGPLAN notices. ACM, New Orleans

    Google Scholar 

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

  • Bini E, Buttazzo G (2005) Measuring the performance of schedulability tests. Real-Time Syst 30(1–2):129–154

    Article  MATH  Google Scholar 

  • Bollella G, Gosling J, Brosgol B, Dibble P, Furr S, Turnbull M (2000) In: The real-time specification for Java, 1st edn. The Java Series. Addison-Wesley, Reading, MA

    Google Scholar 

  • Buttazzo G (2005) Rate monotonic vs. EDF: judment day. Real-Time Syst 29(1):5–26

    Article  MATH  Google Scholar 

  • Buttazzo G, Stankovic J (1993) In: Proceedings of the third international workshop on responsive computing systems, Lincoln, NH, September 1993, pp 100–111

  • Clark RK (1990) Scheduling dependent real-time activities. PhD thesis, Carnegie Mellon University. CMU-CS-90-155

  • Feizabadi S, Beebee W Jr, Ravindran B, Li P, Rinard M (2003) Utility accrual scheduling with real-time Java. In: Proceedings of JTRES, pp 550–563

  • Feizabadi S, Back G (2006) Automatic memory management in utility accrual scheduling environments. In: Proceedings of the 9th IEEE international symposium on object and component-oriented real-time distributed computing (ISORC 2006). IEEE, Gyeongju, pp 11–19

    Chapter  Google Scholar 

  • Henriksson R (1996) Scheduling real-time garbage collection. Licentiate thesis, Department of Computer Science, Lund University. Lund technical report LU-CS-TR:96-161

  • Henriksson R (1998) Scheduling garbage collection in embedded systems. PhD thesis, Lund Institute of Technology

  • Jensen ED (1992) Asynchronous decentralized real-time computer systems. In: Halang, WA, Stoyenko, AD (eds), Real-time computing. Proceedings of the NATO Advanced Study Institute

  • Jensen ED, Ravindran B (2002) Guest editor’s introduction to special section on asynchronous real-time distributed systems. In: Proceedings of The IEEE Transactions on Computers, pp 881–882

  • Jones RE (1996) Garbage collection: algorithms for automatic dynamic memory management. Wiley, Chichester, with a chapter on Distributed Garbage Collection by R. Lins

    MATH  Google Scholar 

  • Kim T, Chang N, Shin H (2001) Joint scheduling of garbage collector and hard real-time tasks for embedded applications. J Syst Software 58(3):247–260

    Article  Google Scholar 

  • Lim TF, Pardyak P, Bershad BN (1998). A memory-efficient real-time non-copying garbage collector. In: Jones, R (ed) ISMM’98 proceedings of the first international symposium on memory management. ACM SIGPLAN notices, vol. 34. ACM, Vancouver, pp 118–129

    Chapter  Google Scholar 

  • Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard real-time environment. J ACM 20(1):46–61

    Article  MATH  MathSciNet  Google Scholar 

  • Nilsen K (1996) Starting to PERC. Java Dev J 1(2):11

    Google Scholar 

  • Pfeffer M, Ungerer T, Fuhrmann S, Kreuzinger J, Brinkschulte U (2004) Real-time garbage collection for a multithreaded Java microcontroller. Real-Time Syst 26(1):89–106

    Article  Google Scholar 

  • Robertz SG, Henriksson R (2003) Time-triggered garbage collection—robust and adaptive real-time GC scheduling for embedded systems. In: Proceedings of the ACM SIGPLAN LCTES

  • Siebert F (1999) Hard real-time garbage collection in the Jamaica virtual machine. In: Sixth international conference on real-time computing systems and applications (RTCSA’99)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Godmar Back.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Feizabadi, S., Back, G. Garbage collection-aware utility accrual scheduling. Real-Time Syst 36, 3–22 (2007). https://doi.org/10.1007/s11241-007-9020-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-007-9020-7

Keywords

Navigation