Academia.eduAcademia.edu

Outline

Scheduling Hard Real-time Garbage Collection

2009, Proceedings - Real-Time Systems Symposium

https://doi.org/10.1109/RTSS.2009.40

Abstract

Managed languages such as Java and C# are increasingly being considered for hard real-time applications because of their productivity and software engineering advantages. Automatic memory management, or garbage collection, is a key enabler for robust, reusable libraries, yet remains a challenge for analysis and implementation of real-time execution environments. This paper comprehensively compares the two leading approaches to hard real-time garbage collection. While there are many design decisions involved in selecting a real-time garbage collection algorithm, for timebased garbage collectors researchers and practitioners remain undecided as to whether to choose periodic scheduling or slackbased scheduling. A significant impediment to valid experimental comparison is that the commercial implementations use completely different proprietary infrastructures. Here, we present Minuteman, a framework for experimenting with realtime collection algorithms in the context of a high-performance execution environment for real-time Java. We provide the first comparison of the two approaches, both experimentally using realistic workloads, and analytically in terms of schedulability.

References (30)

  1. G. Bollella, J. Gosling, B. Brosgol, P. Dibble, S. Furr, and M. Turnbull, The Real-Time Specification for Java. Addison- Wesley, 2000.
  2. A. Armbruster, J. Baker, A. Cunei, D. Holmes, C. Flack, F. Pizlo, E. Pla, M. Prochazka, and J. Vitek, "A Real- time Java virtual machine with applications in avionics," ACM Transactions in Embedded Computing Systems (TECS), vol. 7, no. 1, 2007.
  3. F. Pizlo and J. Vitek, "Memory management for real-time Java: State of the art," in Proceedings of the IEEE Sym- posium on Object-oriented Real-Time Distributed Computing (ISORC), 2008.
  4. J. Honig Spring, F. Pizlo, R. Guerraoui, and J. Vitek, "Reflexes: Abstractions for highly responsive systems," in Proceedings of the ACM/USENIX Conference on Virtual Execution Environments (VEE), 2007.
  5. T. Kalibera, M. Prochazka, F. Pizlo, M. Decky, J. Vitek, and M. Zulianello, "Real-time Java in space: Potential benefits and open challenges," in Proceedings of Data Systems in Aerospace (DASIA), 2009.
  6. D. F. Bacon, P. Cheng, and V. T. Rajan, "A real-time garbage collector with low overhead and consistent utilization," in Proceedings of the ACM Symposium on Principles of Pro- gramming Languages (POPL), 2003.
  7. R. Henriksson, "Scheduling garbage collection in embedded systems," Ph.D. dissertation, Lund University, 1998.
  8. G. Bollella, B. Delsart, R. Guider, C. Lizzi, and F. Parain, "Mackinac: Making hotspot real-time," in Proceedings of the Eighth IEEE Symposium on Object-Oriented Real-Time Distributed Computing (ISORC), 2005.
  9. J. Auerbach, D. F. Bacon, P. Cheng, D. Grove, B. Biron, C. Gracie, B. McCloskey, A. Micic, and R. Sciampacone, "Tax-and-spend: democratic scheduling for real-time garbage collection," in Proceedings of the ACM Conference on Em- bedded Software (EMSOFT), 2008.
  10. R. A. Brooks, "Trading data space for reduced time and code space in real-time garbage collection on stock hardware," in Proceedings of the ACM Symposium on Lisp and Functional Programming (LFP), 1984.
  11. S. Nettles and J. O'Toole, "Real-time replication garbage collection," in Proceedings of the ACM Conference on Pro- gramming Language Design and Implementation (PLDI), 1993.
  12. T. Yuasa, "Real-time garbage collection on general-purpose machines," Journal of Systems and Software, vol. 11, no. 3, 1990.
  13. J. Baker, A. Cunei, F. Pizlo, and J. Vitek, "Accurate garbage collection in uncooperative environments," Concurrency and Computation: Practice and Experience, 2009.
  14. M. Joseph and P. K. Pandya, "Finding response times in a real-time system," Computer Journal, vol. 29, no. 5, 1986.
  15. C. J. Fidge, "Real-time schedulability tests for preemptive multitasking," Real-Time Systems, vol. 14, no. 1, 1998.
  16. S. Gestegard Robertz and R. Henriksson, "Time-triggered garbage collection: robust and adaptive real-time GC schedul- ing for embedded systems," in Proceedings of the Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), 2003.
  17. M. Schoeberl, "Real-time garbage collection for Java," in IEEE Symposium on Object-Oriented Real-Time Distributed Computing (ISORC), 2006.
  18. P. Cheng and G. E. Blelloch, "A parallel, real-time garbage collector," in Proceedings of the ACM Conference on Pro- gramming language design and implementation (PLDI), 2001.
  19. E. J. Bruno and G. Bollella, Real-Time Java Programming with Java RTS. Prentice Hall, 2009.
  20. T. Kalibera, J. Hagelberg, F. Pizlo, A. Plsek, B. Titzer, and J. Vitek, "CDx: A family of real-time Java benchmarks," in Workshop on Java Technologies for Real-time and Embedded Systems (JTRES), 2009.
  21. A. Burns, K. Tindell, and A. Wellings, "Effective analysis for engineering real-time fixed priority schedulers," IEEE Transactions on Software Engineering, vol. 21, no. 5, 1995.
  22. S. M. Blackburn, et al., "The DaCapo benchmarks: Java benchmarking development and analysis," in Proceedings of the ACM Conference on Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA), 2006.
  23. H. G. Baker, "List processing in real time on a serial computer," Communications of the ACM, vol. 21, no. 4, Apr. 1978.
  24. W. J. Schmidt and K. D. Nilsen, "Performance of a hardware- assisted real-time garbage collector," in Proceedings of the Conference on Architectural Support for Programming Lan- guages and Operating Systems, 1994.
  25. M. van Assche, J. Goossens, and R. Devillers, "Joint garbage collection and hard real-time scheduling," Journal on Embed- ded Computing, vol. 2, no. 3-4, 2006.
  26. J. Strosnider, J. Lehoczky, and L. Sha, "The deferrable server algorithm for enhanced aperiodic responsiveness in hard real-time environments," IEEE Transactions on Computers, vol. 44, no. 1, 1995.
  27. T. Kim, N. Chang, and H. Shin, "Joint scheduling of garbage collector and hard real-time tasks for embedded applications," Journal of Systems and Software, vol. 58, no. 3, 2001.
  28. D. F. Bacon, P. Cheng, and V. T. Rajan, "Controlling frag- mentation and space consumption in the Metronome, a real- time garbage collector for Java," in Proceedings of the ACM Conference on Language, Compiler, and Tool Support for Embedded Systems (LCTES), 2003.
  29. F. Siebert, "Real-time garbage collection in multi-threaded systems on a single processor," in IEEE Real-Time Systems Symposium (RTSS), 1999.
  30. D. Frampton, D. F. Bacon, P. Cheng, and D. Grove, "Gen- erational real-time garbage collection," in Proceedings of the European Conference on Object-Oriented Programming (ECOOP), 2007.