ABSTRACT
This paper proposes a new scheduling method for multiple mutators and a garbage collector running on embedded real-time systems with a single processor and no virtual memory. The hard real-time tasks should reserve a certain amount of heap memory to prevent memory starvation and/or deadline miss. Since the memory requirement depends on the worst-case response time of a garbage collector, the traditional approach in which garbage collection is performed in the background demands large memory space. The proposed scheduling algorithm is based on an aperiodic scheduling technique, sporadic server. This paper also presents a modified copying garbage collection algorithm with hardware support. In order to minimize the worst-case response time of a garbage collector thus reducing the memory requirement, the garbage collector runs as the highest priority task with a preset bandwidth. This paper also investigates the schedulability of a garbage collector and mutator tasks as well as the worst-case memory requirement. Performance analysis shows that the proposed algorithm can provide a considerable reduction in the worst-case memory requirement compared with the background policy. Simulation results demonstrate that the proposed algorithm can produce the feasible memory requirement comparable to the complex on-line scheduling algorithm such as slack stealing.
- 1.APPEL, A. W. Garbage collection can be faster than stack allocation. Information Processing Letters 25, 4 (1987), 275- 279. Google ScholarDigital Library
- 2.BAKER, H. G. List processing in real time on a serial computer. Communications of the ACM 21, 4 (Apr. 1978), 280- 294. Google ScholarDigital Library
- 3.BARRETT, D. A., AND ZORN, B. G. Using lifetime predictors to improve memory allocation performance. In Proceedings of SIGPLAN'93 Conference on Programming Languages Design and Implementation (Jun 1993), pp. 187-196. Google ScholarDigital Library
- 4.BROOKS, R. A. Trading data space for reduced time and code space in real-time collection on stock hardware. In Conference Record of the 1984 ACM Symposium on LISP and Functional Programming (1984), pp. 256--262. Google ScholarDigital Library
- 5.DEUTSCH, L. P., AND BOBROW, D. G. An efficient incremental automatic garbage collector. Communications of the ACM 19, 9 (Sept. 1976), 522-526. Google ScholarDigital Library
- 6.DIJKSTRA, E. W., LAMPORT, L., MARTIN, A. J., SCHOLTEN, C. S., AND STEFFENS, E. F. M. On-the-fly garbage collection: An exercise in cooperation. Communications of the ACM 21, 11 (Nov. 1978), 965-975. Google ScholarDigital Library
- 7.HENRIKSSON, R. Scheduling Garbage Collection in Embedded Systems. PhD thesis, Lund University, July 1998.Google Scholar
- 8.KALMAN, R. E. A new approach to linear filtering and prediction problems. Transactions of the ASME-Journal of Basic Engineering (Mar 1960), 35-45.Google Scholar
- 9.Kalman fileter C++ class, v 1.2. ftp://ftp.taygeta.com/pub/ c++/kalman.tar.Z.Google Scholar
- 10.LEHOCZKEY, J. P., SHA, L., AND DING, Y. The rate monotonic scheduling algorithm: Exact characterization and average case behavior. In Proceedings of the Real-Time Systems Symposium (Dec. 1989), pp. 166-171.Google ScholarCross Ref
- 11.LEHOCZKY, J. P., AND RAMOS-THUEL, S. An optimal algorithm for scheduling soft-aperiodic tasks in fixed-priority preemptive systems. In Proceedings of the Real-Time Systems Symposium (Dec. 1992), pp. 110-123.Google ScholarCross Ref
- 12.LIU, C. L., AND LAYLAND, J. W. Scheduling algorithms for multiprogramming in a hard real-time environment. Journal of the ACM 20, 1 (1973), 46--61. Google ScholarDigital Library
- 13.NILSEN, K. D., AND SCHMIDT, W. J. A high-performance hardware-assisted real time garbage collection system. Journal of Programming Languages 2, 1 (1994).Google Scholar
- 14.SPRtJNT, B., SHA, L., AND LEHOCZKY, J. P. Aperiodic task scheduling for hard-real-time systems. Journal of Real-Time Systems I (1989), 27-60.Google Scholar
- 15.WILSON, P. R. Uniprocessor garbage collection techniques. Tech. rep., University of Texas, Jan 1994.Google Scholar
- 16.WIND RIVER SYSTEMS, INC. VxWorks Programmer's Guide, 5.3.1, 1997.Google Scholar
- 17.YUASA, T. Real-time garbage collection on general-purpose machines. Journal of Software and Systems 11, 3 (1990), 181-198. Google ScholarDigital Library
- 18.ZORN, B. Barrier methods for garbage collection. Tech. Rep. CU-CS-494-90, University of Colorado, Boulder, Nov 1990.Google Scholar
Index Terms
- Scheduling garbage collector for embedded real-time systems
Recommendations
Scheduling garbage collector for embedded real-time systems
LCTES '99. Languages, compilers, and tools for embedded systems: proceedings of the ACM SIGPLAN 1999 workshopThis paper proposes a new scheduling method for multiple mutators and a garbage collector running on embedded real-time systems with a single processor and no virtual memory. The hard real-time tasks should reserve a certain amount of heap memory to ...
Garbage Collector Scheduling in Dynamic, Multiprocessor Real-Time Systems
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. ...
A generational on-the-fly garbage collector for Java
PLDI '00: Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementationAn on-the-fly garbage collector does not stop the program threads to perform the collection. Instead, the collector executes in a separate thread (or process) in parallel to the program. On-the-fly collectors are useful for multi-threaded applications ...
Comments