Compiling for memory emergency

dc.contributor.authorKandemir, M
dc.contributor.authorChen, GY
dc.contributor.authorKadayif, I
dc.date.accessioned2025-01-27T21:07:28Z
dc.date.available2025-01-27T21:07:28Z
dc.date.issued2005
dc.departmentÇanakkale Onsekiz Mart Üniversitesi
dc.descriptionConference on Languages, Compilers and Tools for Embedded Systems -- JUN 15-17, 2005 -- Chicago, IL
dc.description.abstractThere has been a continued growth in the sales of mobile and embedded devices, in spite of the economic recession in many parts of the world. Many of these devices operate under tight memory bounds. Past research dealt with this problem and proposed both hardware and software solutions oriented toward reducing memory space requirements of embedded and mobile applications. One of the common characteristics of most of these prior efforts is that they assume the memory space available to an embedded application is fixed for the entire execution. Unfortunately, this is not a valid assumption in many execution environments since a typical embedded/mobile platform can have multiple applications executing concurrently and sharing a common memory space. As a result, the amount of memory available to a particular application can vary during execution. A particularly interesting scenario is what we call memory emergency, where the size of the memory available to an application suddenly drops. If the application is not written to cope with this emergency scenario, the result would normally be a premature termination due to insufficient memory. In this paper, we propose compiler-based solutions to this memory emergency problem. The proposed compiler support modifies a given application code assuming a memory emergency model and reduces memory space demand (when necessary) by recomputing data values, thereby performing a tradeoff between memory space reduction and performance overhead. Our goal is to be able to work with the reduced memory space but minimize the performance overhead it brings. We evaluate the proposed approaches using twelve array-based embedded benchmarks. Our experimental analysis shows that the proposed approaches are very successful in responding to many memory emergency scenarios.
dc.description.sponsorshipACM SIGPLAN,ACM SIGBED
dc.identifier.doi10.1145/1070891.1065941
dc.identifier.endpage221
dc.identifier.issn0362-1340
dc.identifier.issue7
dc.identifier.scopus2-s2.0-33745212901
dc.identifier.scopusqualityN/A
dc.identifier.startpage213
dc.identifier.urihttps://doi.org/10.1145/1070891.1065941
dc.identifier.urihttps://hdl.handle.net/20.500.12428/28066
dc.identifier.volume40
dc.identifier.wosWOS:000231038500024
dc.identifier.wosqualityQ4
dc.indekslendigikaynakWeb of Science
dc.indekslendigikaynakScopus
dc.language.isoen
dc.publisherAssoc Computing Machinery
dc.relation.ispartofAcm Sigplan Notices
dc.relation.publicationcategoryKonferans Öğesi - Uluslararası - Kurum Öğretim Elemanı
dc.rightsinfo:eu-repo/semantics/closedAccess
dc.snmzKA_WoS_20250125
dc.subjectmemory emergency
dc.subjectembedded software
dc.titleCompiling for memory emergency
dc.typeConference Object

Dosyalar