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-...
Saved in:
Published in | 2014 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES) pp. 1 - 10 |
---|---|
Main Authors | , , , , , |
Format | Conference Proceeding |
Language | English |
Published |
ACM
01.10.2014
|
Subjects | |
Online Access | Get 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 |