Direct Garbage Collection: Two-fold Speedup for Managed Language Embedded Systems

Rasmus Ulslev Pedersen, Martin Schoeberl

Research output: Contribution to journalJournal articleResearchpeer-review

99 Downloads (Pure)

Abstract

More and more embedded systems are emerging based on managed language runtime systems using garbage collected languages such as Java, Python, or the .NET language family. Furthermore, the garbage collection (GC) process is a bottleneck in an embedded system, effectively blocking most other processes including mutator memory access, responding to inputs, or asserting outputs. We demonstrate a valuable new heap memory architecture for garbage collected embedded systems, which works by creating a direct path between memory modules to achieve a two-fold speedup for a memory copy operation as compared to a baseline scenario using multiplexed shared address- and databusses. This direct-path memory setup is generalisable, and memory modules will continue to work as expected when not engaged in garbage collection. The solution space is evaluated by simulating GC activity extracted from the Elephant Track GC tracer. One particular solution is also implemented in hardware to demonstrate the practical realisation of the direct fast copy architecture.
Original languageEnglish
JournalInternational Journal of Embedded Systems
Volume10
Issue number5
Pages (from-to)394-405
Number of pages12
ISSN1741-1068
DOIs
Publication statusPublished - 2018

Keywords

  • Garbage collection
  • Managed languages
  • Embedded systems
  • Real-time
  • Memory
  • SRAM

Cite this