Direct Garbage Collection

Two-fold Speedup for Managed Language Embedded Systems

Rasmus Ulslev Pedersen, Martin Schoeberl

Research output: Contribution to journalJournal articleResearchpeer-review

58 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

@article{289cc741678e41aa91b4f8f15375684f,
title = "Direct Garbage Collection: Two-fold Speedup for Managed Language Embedded Systems",
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.",
keywords = "Garbage collection, Managed languages, Embedded systems, Real-time, Memory, SRAM, Garbage collection, Managed languages, Embedded systems, Real-time, Memory, SRAM",
author = "{Ulslev Pedersen}, Rasmus and Martin Schoeberl",
year = "2018",
doi = "10.1504/IJES.2018.095138",
language = "English",
volume = "10",
pages = "394--405",
journal = "International Journal of Embedded Systems",
issn = "1741-1068",
publisher = "Inderscience Publishers",
number = "5",

}

Direct Garbage Collection : Two-fold Speedup for Managed Language Embedded Systems. / Ulslev Pedersen, Rasmus; Schoeberl, Martin.

In: International Journal of Embedded Systems, Vol. 10, No. 5, 2018, p. 394-405.

Research output: Contribution to journalJournal articleResearchpeer-review

TY - JOUR

T1 - Direct Garbage Collection

T2 - Two-fold Speedup for Managed Language Embedded Systems

AU - Ulslev Pedersen, Rasmus

AU - Schoeberl, Martin

PY - 2018

Y1 - 2018

N2 - 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.

AB - 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.

KW - Garbage collection

KW - Managed languages

KW - Embedded systems

KW - Real-time

KW - Memory

KW - SRAM

KW - Garbage collection

KW - Managed languages

KW - Embedded systems

KW - Real-time

KW - Memory

KW - SRAM

U2 - 10.1504/IJES.2018.095138

DO - 10.1504/IJES.2018.095138

M3 - Journal article

VL - 10

SP - 394

EP - 405

JO - International Journal of Embedded Systems

JF - International Journal of Embedded Systems

SN - 1741-1068

IS - 5

ER -