Team up: Cooperative memory management in embedded systems

The use of a managed, type-safe languages such as Java in realtime and embedded systems can offer productivity and, in particular, safety and dependability benefits over the dominating unsafe languages at reasonable costs. A JVM that has dynamic memory-management needs to provide an implicit memory-...

Full description

Saved in:
Bibliographic Details
Published in2014 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES) pp. 1 - 10
Main Authors Stilkerich, Isabella, Taffner, Philip, Erhardt, Christoph, Dietrich, Christian, Wawersich, Christian, Stilkerich, Michael
Format Conference Proceeding
LanguageEnglish
Published ACM 01.10.2014
Subjects
Online AccessGet full text

Cover

Loading…
Abstract The use of a managed, type-safe languages such as Java in realtime and embedded systems can offer productivity and, in particular, safety and dependability benefits over the dominating unsafe languages at reasonable costs. A JVM that has dynamic memory-management needs to provide an implicit memory-management strategy, that is, for example, a garbage collector (GC) or stack allocation provided by the escape analysis of the JVM's compiler: Explicit management of dynamically allocated memory (i.e., by use of functions such as C's malloc () and free()) is vulnerable to programming errors such as neglected or false memory release operations causing memory leaks or dangling pointers. Such operations have the potential to break the soundness of the type system and are therefore usually not available for strongly typed languages. Type-safe languages in combination with static analyses - which respect hardware as well as system-specific information - can efficiently be employed to provide a runtime system including memory management (MM) that is specifically suited to an embedded application on a particular hardware device. In the context of this paper, we present novel memory-management strategy we implemented in our KESO JVM. It is a latency-aware garbage-collection algorithm called LAGC. Also, we introduce the static analyses that can assist LAGC. The application developers have to ensure that there is enough time for the GCs to run. Hardware characteristics such as soft-error proneness of the hardware or the memory layout can also be taken into consideration as demanded by the system configuration. This is achieved by integrating the GCs in the design process of the whole system just as any other user application, which is the reason why this approach is called cooperative memory management. The suggested strategies require reasonably low overhead.
AbstractList The use of a managed, type-safe languages such as Java in realtime and embedded systems can offer productivity and, in particular, safety and dependability benefits over the dominating unsafe languages at reasonable costs. A JVM that has dynamic memory-management needs to provide an implicit memory-management strategy, that is, for example, a garbage collector (GC) or stack allocation provided by the escape analysis of the JVM's compiler: Explicit management of dynamically allocated memory (i.e., by use of functions such as C's malloc () and free()) is vulnerable to programming errors such as neglected or false memory release operations causing memory leaks or dangling pointers. Such operations have the potential to break the soundness of the type system and are therefore usually not available for strongly typed languages. Type-safe languages in combination with static analyses - which respect hardware as well as system-specific information - can efficiently be employed to provide a runtime system including memory management (MM) that is specifically suited to an embedded application on a particular hardware device. In the context of this paper, we present novel memory-management strategy we implemented in our KESO JVM. It is a latency-aware garbage-collection algorithm called LAGC. Also, we introduce the static analyses that can assist LAGC. The application developers have to ensure that there is enough time for the GCs to run. Hardware characteristics such as soft-error proneness of the hardware or the memory layout can also be taken into consideration as demanded by the system configuration. This is achieved by integrating the GCs in the design process of the whole system just as any other user application, which is the reason why this approach is called cooperative memory management. The suggested strategies require reasonably low overhead.
Author Stilkerich, Michael
Erhardt, Christoph
Stilkerich, Isabella
Taffner, Philip
Dietrich, Christian
Wawersich, Christian
Author_xml – sequence: 1
  givenname: Isabella
  surname: Stilkerich
  fullname: Stilkerich, Isabella
  email: istilkerich@cs.fau.de
  organization: Friedrich-Alexander Univ., Erlangen-Nuremberg, Germany
– sequence: 2
  givenname: Philip
  surname: Taffner
  fullname: Taffner, Philip
  email: taffner@cs.fau.de
  organization: Friedrich-Alexander Univ., Erlangen-Nuremberg, Germany
– sequence: 3
  givenname: Christoph
  surname: Erhardt
  fullname: Erhardt, Christoph
  email: erhardt@cs.fau.de
  organization: Friedrich-Alexander Univ., Erlangen-Nuremberg, Germany
– sequence: 4
  givenname: Christian
  surname: Dietrich
  fullname: Dietrich, Christian
  email: dietrich@cs.fau.de
  organization: Friedrich-Alexander Univ., Erlangen-Nuremberg, Germany
– sequence: 5
  givenname: Christian
  surname: Wawersich
  fullname: Wawersich, Christian
  email: wawi@cs.fau.de
  organization: Friedrich-Alexander Univ., Erlangen-Nuremberg, Germany
– sequence: 6
  givenname: Michael
  surname: Stilkerich
  fullname: Stilkerich, Michael
  email: stilkerich@cs.fau.de
  organization: Friedrich-Alexander Univ., Erlangen-Nuremberg, Germany
BookMark eNotjktLxDAUhSMoqGPXLtzkD3TMozdpZifFFwy4GdfDTXKViklLU4X-e4u6OR-cDw7nkp3mIRNj11JspWzgVhkwUpjtL5U7YZWz7SqE1mKNc1aV8iGEWCtwVl2w3YEw8a9xx7thGGnCuf8mnigN08ITZnynRHnmfeaUPMVIkZelzJTKFTt7w89C1T837PXh_tA91fuXx-fubl-jauxcBwUavBOOlPYog4_BQpABoCVvUAAq20QHHoxvLco2uuClI_JOrRet3rCbv92eiI7j1CeclqNZXWO0_gGRbEc4
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1145/2656106.2656129
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Xplore
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Engineering
EISBN 9781450330503
1450330509
EndPage 10
ExternalDocumentID 6972463
Genre orig-research
GroupedDBID 6IE
6IL
ACM
ADPZR
ALMA_UNASSIGNED_HOLDINGS
APO
CBEJK
GUFHI
LHSKQ
RIE
RIL
ID FETCH-LOGICAL-a247t-c2535b909e23ba1cbdc75c1c558eb6a05a274d95b56b87a18d9cb19eeb9297273
IEDL.DBID RIE
IngestDate Wed Jun 26 19:24:10 EDT 2024
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a247t-c2535b909e23ba1cbdc75c1c558eb6a05a274d95b56b87a18d9cb19eeb9297273
PageCount 10
ParticipantIDs ieee_primary_6972463
PublicationCentury 2000
PublicationDate 2014-Oct.
PublicationDateYYYYMMDD 2014-10-01
PublicationDate_xml – month: 10
  year: 2014
  text: 2014-Oct.
PublicationDecade 2010
PublicationTitle 2014 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES)
PublicationTitleAbbrev CASES
PublicationYear 2014
Publisher ACM
Publisher_xml – name: ACM
SSID ssj0001455972
Score 1.6111575
Snippet The use of a managed, type-safe languages such as Java in realtime and embedded systems can offer productivity and, in particular, safety and dependability...
SourceID ieee
SourceType Publisher
StartPage 1
SubjectTerms Design
Embedded systems
Garbage Collection
General Terms Memory Management
Hardware
Java
Languages
Memory management
Random access memory
Resource management
Runtime
Title Team up: Cooperative memory management in embedded systems
URI https://ieeexplore.ieee.org/document/6972463
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV07T8MwED61nWDh0SLe8sBI0sSJ7bhrRVUhFTG0UrfKj4uEUJIKmgF-PXZSSoUYmPxYbPkk33fn7z4D3BmlhODcBJIKF6A4qwfS4ebAYs6dA5NRznw18uyJTxfp45ItO3C_q4VBxIZ8hqHvNm_5tjK1T5UNuRQ05UkXullE21qtn3xK6rEx3ar3uNGQco8NeNi0HkLufZ_SeI_JEcy-121JI69hvdGh-fwlyfjfjR3D4KdOjzzvPNAJdLA8hcM9icE-jOaoClKvR2RcVWtsdb5J4fm1H6TYcV_IS0mw0OiuIUtadef3ASwmD_PxNNj-lxAomopNYChLmJaRRJpoFRttjWAmNoxlqLmKmHIhqJVMM64zoeLMSqNjiagdRvI45gx6ZVXiOZCU5yK3LrY0UZ5qlmh0yCDJ4wwjK5CJC-j7U1itW0mM1fYALv-evoIDhzPSlgN3Db3NW403zpdv9G1jxC-U2Z4-
link.rule.ids 310,311,786,790,795,796,802,27956,55107
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV27TsMwFL0qZQAWHi3ijQdGkuZlO-5aURVoK4ZW6lbZzo2EUJMKkgG-HjspbYUYmPxYbNmSz7n2uccAd1pKzhnTjgi4CVDMrjvC8GYnwZQZABNeSm028mjMBtPoaUZnDbhf58IgYiU-Q9dWq7f8JNelvSrrMMGDiIU7sGtw3uN1ttbmRiWy7DhY-feYVidglh0wtyotidz6QKXCj_4hjH5GrmUjb25ZKFd__TJl_O_UjqC9ydQjL2sMOoYGZidwsGUy2ILuBOWClMsu6eX5Emunb7KwCttPslirX8hrRnCh0BxECan9nT_aMO0_THoDZ_VjgiODiBeODmhIlfAEBqGSvlaJ5lT7mtIYFZMelSYITQRVlKmYSz9OhFa-QFSGJVkmcwrNLM_wDEjEUp4mJrrUXhopGio03CBM_Ri9hCPl59CyqzBf1qYY89UCXPzdfQt7g8loOB8-jp8vYd-wjqhWxF1Bs3gv8doge6Fuqg39Bh0_oZI
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2014+International+Conference+on+Compilers%2C+Architecture+and+Synthesis+for+Embedded+Systems+%28CASES%29&rft.atitle=Team+up%3A+Cooperative+memory+management+in+embedded+systems&rft.au=Stilkerich%2C+Isabella&rft.au=Taffner%2C+Philip&rft.au=Erhardt%2C+Christoph&rft.au=Dietrich%2C+Christian&rft.date=2014-10-01&rft.pub=ACM&rft.spage=1&rft.epage=10&rft_id=info:doi/10.1145%2F2656106.2656129&rft.externalDocID=6972463