Du är här

Automatic memory management for flexible real-time systems

Publiceringsår: 2006
Språk: Engelska
Sidor: 202
Dokumenttyp: Doktorsavhandling
Förlag: Department of Computer Science

Sammanfattning

In a flexible real-time system, the constraints in available CPU time and memory lead to resource management problems, which must be handled carefully in order to maximize quality of service while avoiding overload. Managing CPU time -- scheduling -- is well studied and dynamic scheduling is widely accepted in the real-time industry. In order to make safe high-level languages, like Java, practically feasible for use in hard real-time systems, memory management and particularly the dependencies between memory and CPU usage must be studied.

The traditional approach to incremental GC scheduling, to perform garbage collection work in proportion to the amount of allocated memory, has drawbacks such as inconsistent utilization due to bursty allocations. To remedy this, time-triggered GC scheduling is proposed. It is shown that this strategy gives real-time performance that is equal to, or better than, that of an allocation-triggered GC. It is also shown that by using a deadline-based scheduler, the GC scheduling and, consequently, the real-time performance, is independent of complex and error-prone work metrics.

Time-triggered GC also allows a more high-level view on GC scheduling, as the entire GC cycle is considered rather than each individual increment. This makes it possible to schedule GC as a normal task. As the scheduling parameters are explicit in the model, it also makes the time-triggered strategy well suited for auto-tuning and fits well into feedback scheduling systems.

A novel approach of applying priorities to memory allocation is introduced and it is shown how this can be used to enhance the robustness of real-time applications. The proposed mechanisms can also be used to increase performance of systems with automatic memory management by limiting the amount of garbage collection work.

Together, these solutions facilitate flexible and robust automatic memory management for real-time systems. Adaptive techniques are presented, aimed at replacing or complementing a priori analysis with on-line auto-tuning. The presented ideas have been successfully implemented and validated in an experimental real-time Java environment, supporting the claim that this work is a step towards write once -- run anywhere with hard real-time performance.

Disputation

2006-05-24
10:15
Room E:1406, E-building, Ole Römers väg 3, Faculty of Engineering, Lund University
  • Eric Jul (Professor)

Nyckelord

  • Technology and Engineering
  • Computer science
  • feedback scheduling
  • embedded systems
  • real-time
  • memory management
  • garbage collection
  • numerical analysis
  • systems
  • control
  • Datalogi
  • numerisk analys
  • system
  • kontroll

Övriga

  • Klas Nilsson
  • ISSN: 1404-1219
  • ISBN: 91-628-6829-2

Box 117, 221 00 LUND
Telefon 046-222 00 00 (växel)
Telefax 046-222 47 20
lu [at] lu [dot] se

 

Fakturaadress: Box 188, 221 00 LUND
Organisationsnummer: 202100-3211
Om webbplatsen