Integrated hardware garbage collection for real-time embedded systems

Student thesis: Doctoral ThesisDoctor of Philosophy (PhD)

Abstract

Modern programming languages, like Python and C#, provide productivity and trust benefits that are key in managing the growing complexity of computer systems. However, modern language implementations rely on software garbage collection which imposes high overheads and unpredictable pauses. This is tolerable in large computer systems, like desktops and servers, but impractical for real-time embedded systems. Hence modern languages are rarely used to program embedded devices.

This thesis investigates a shift in architecture towards hardware garbage collection to better support modern languages in embedded devices while meeting their unique performance and real-time requirements. We present an Integrated Hardware Garbage Collector (IHGC) that demonstrates this approach: a collector that is tightly coupled with the processor and runs continuously in the background. Our design allocates a memory cycle to the collector when the processor is not using the memory. The IHGC achieves this by careful subdivision of collection work into single-memory-access steps that are interleaved with the processor’s memory accesses. We also introduce a static analysis technique to guarantee that real-time programs are never paused by the IHGC. As a result, our collector eliminates run-time overheads and is suitable for real-time embedded systems.

The IHGC is evaluated through simulation based on a hardware implementation model using modern fabrication technologies. Our experiments indicate that the IHGC offers 1.5-7 times better performance compared to a conventional processor running a software garbage collector. In addition, our static, real-time analysis technique was evaluated through practical use cases showing that an IHGC system meets specific timing constraints. This thesis concludes that the IHGC delivers in real-time the benefits of garbage collected languages without the complexity and overheads inherent in software collectors.
Date of Award28 Sep 2021
Original languageEnglish
Awarding Institution
  • The University of Bristol
SponsorsEngineering and Physical Sciences Research Council
SupervisorDavid May (Supervisor) & Kerstin I Eder (Supervisor)

Keywords

  • Garbage Collection
  • Memory Management
  • Memory
  • Static Analysis
  • Real-Time
  • Reliability
  • Computer Architecture
  • Microprocessors

Cite this

'