Cost Effective Garbage Collection for Embedded Java
Author
Sørensen, Lars Bech
Term
4. term
Education
Publication year
2013
Submitted on
2013-06-06
Pages
41
Abstract
Dette speciale præsenterer en implementation af en garbage collector (automatisk hukommelsesoprydning) til Hardware near Virtual Machine (HVM), en Java-virtualmaskine målrettet lavressource indlejrede enheder. Samleren er skrevet i Java, bortset fra få linjer C-kode i runtime-systemet, så den passer ind i HVM uden at pålægge platformen ekstra krav. Vi har integreret samleren, så programmer, der ikke har behov for garbage collection, ikke betaler nogen pris: ingen ekstra hukommelsesforbrug og ingen ekstra behandlingstid. Når programmer bruger samleren, er der noget overhead, men vi har designet en blød realtidsløsning med lav belastning. Teknisk bygger løsningen på en samtidig mark-sweep-opsamler. Det vil sige, at systemet markerer data, som stadig er i brug, og rydder resten op, mens programmet fortsætter med at køre. Vi anvender et "snapshot ved start" for at få et konsistent overblik over programmets objekter, og konservativ rod-finding, som behandler usikre værdier som mulige referencer for at undgå at slette aktive objekter.
This thesis presents an implementation of a garbage collector (automatic memory reclamation) for the Hardware near Virtual Machine (HVM), a Java Virtual Machine aimed at low-resource embedded devices. The collector is written in Java, except for a few lines of C in the runtime system, so it integrates with HVM without imposing extra platform constraints. We incorporated the collector so that applications that do not need garbage collection incur no cost: no additional memory usage and no extra processor time. For applications that use it, there is some overhead, but we provide a low-overhead, soft real-time collector. Technically, the design is a concurrent mark-sweep collector. It marks data that are still in use and reclaims the rest while the application continues to run. We use snapshot-at-the-beginning to obtain a consistent view of the object graph, and conservative root finding, which treats uncertain values as possible references to avoid reclaiming live objects.
[This abstract was generated with the help of AI]
Keywords
Documents
