Non-blocking garbage collection for real-time Android

  • Authors:
  • Thomas Gerlitz;Igor Kalkov;John F. Schommer;Dominik Franke;Stefan Kowalewski

  • Affiliations:
  • Embedded Software Laboratory, Aachen, Germany;Embedded Software Laboratory, Aachen, Germany;Embedded Software Laboratory, Aachen, Germany;Embedded Software Laboratory, Aachen, Germany;Embedded Software Laboratory, Aachen, Germany

  • Venue:
  • Proceedings of the 11th International Workshop on Java Technologies for Real-time and Embedded Systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Android platform is an open source operating system for mobile devices developed by the Open Handset Alliance. Due to its usability and rich set of functionalities, Android is an attractive platform for both, developers and end-users. RTAndroid is a modified version of the Android 2.2 platform extended with a real-time capable scheduler [11]. This modification aims to enable the domain of industrial applications. But unfortunately, the predictability and deterministic behavior of RTAndroid in its current version highly depend on its memory management components. For instance, explicit memory management cannot be used to free objects that were allocated without the knowledge of the developer. Further, invocations of the native garbage collection result in non-deterministic process suspensions during runtime. This paper presents a concept for a real-time capable, automatic memory management mechanism in order to improve the timing and predictability of the process behavior in RTAndroid. The introduced memory management respects the execution cycles and deadlines of running real-time processes. Empirical evaluations highlight the improvements resulting from the applied system modifications.