Garbage collection-aware utility accrual scheduling

  • Authors:
  • Shahrooz Feizabadi;Godmar Back

  • Affiliations:
  • Department of Computer Science, Virginia Tech, Blacksburg, USA;Department of Computer Science, Virginia Tech, Blacksburg, USA

  • Venue:
  • Real-Time Systems
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

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.