liu.seSearch for publications in DiVA
Change search
ReferencesLink to record
Permanent link

Direct link
Memory Efficient Hard Real-Time Garbage Collection
Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
2003 (English)Doctoral thesis, monograph (Other academic)
Abstract [en]

As the development of hardware progresses, computers are expected to solve increasingly complex problems. However, solving more complex problems requires more complex software. To be able to develop these software systems, new programming languages with new features and higher abstraction levels are introduced. These features are designed to ease development, but sometimes they also make the runtime behavior unpredictable. Such features can not be used in real-time systems.

A feature that traditionally has been unpredictable is garbage collection. Moreover, even though a garbage collector frees unused memory, almost all such methods require large amounts of additional memory. Garbage collection relieves developers of the responsibility to reclaim memory that is no longer used by the application. This is very tedious and error prone if done manually. Since garbage collection increases productivity and decreases programming errors, developers find it attractive, also in the real-time domain.

This thesis presents a predictable garbage collection method, real-time reference counting, that increases memory efficiency by about 50 % compared to the most memory efficient previously presented predictable garbage collector.

To increase performance, an optimization technique called object ownership that eliminates redundant reference count updates is presented. Object ownership is designed for reference counters, but can also be used to increase the performance of other incremental garbage collectors.

Finally, a static garbage collector is presented. The static garbage collector can allocate objects statically or on the runtime stack, and insert explicit instructions to reclaim memory allocated on the heap. It makes it possible to eliminate the need for runtime garbage collection for a large class of Java applications. The static garbage collection method can also be used to remove costly synchronization instructions. Competing static garbage collection methods with reasonable analysis time are restricted to stack allocation, and thus handle a smaller class of applications.

Place, publisher, year, edition, pages
Linköping: Linköping University Electronic Press, 2003. , 184 p.
Linköping Studies in Science and Technology. Dissertations, ISSN 0345-7524 ; 828
Keyword [en]
hardware progresses, programming languages, garbage collector, real-time reference counting, object ownership, static garbage collector, embedded systems
National Category
Computer Science
URN: urn:nbn:se:liu:diva-5003ISBN: 91-7373-666-XOAI: diva2:20899
Public defence
2003-06-03, Alan Turing, Hus E, Campus Valla, Linköpings universitet, Linköping, 13:15 (English)
Available from: 2003-06-20 Created: 2003-06-20 Last updated: 2014-10-08Bibliographically approved

Open Access in DiVA

fulltext(1174 kB)29054 downloads
File information
File name FULLTEXT01.pdfFile size 1174 kBChecksum SHA-1
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Ritzau, Tobias
By organisation
PELAB - Programming Environment LaboratoryThe Institute of Technology
Computer Science

Search outside of DiVA

GoogleGoogle Scholar
Total: 29054 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Total: 497 hits
ReferencesLink to record
Permanent link

Direct link