archives

Issues in the design and implementation of a real-time garbage collection architecture


Home 

About 

Browse 

Search 

Register 

Subscriptions 

Deposit Papers 

Help
    

Schmidt, William J. (1992) Issues in the design and implementation of a real-time garbage collection architecture. Technical Report TR92-25, Department of Computer Science, Iowa State University.

Full text available as:Postscript
Adobe PDF

Abstract

Issues in the Design and Implementation of a Real-Time Garbage Collection
Architecture
William Jon Schmidt
This dissertation proposes a new garbage-collected memory module
architecture for hard real-time systems.  The memory module is designed
for compatibility with standard workstation architectures, and cooperates
with standard cache consistency protocols.  Processes read and write garbage-
collected memory in the same manner as standard memory, with identical
performance under most conditions.  Occasional contention between user
processes and the garbage collector results in delays to the user process
of at most six memory cycles.  Thus the proposed architecture guarantees
real-time performance at fine granularity.
This dissertation investigates the viability of the proposed architecture
in two senses.  First, it demonstrates that a fundamental component of the
architecture, the object space manager, can be produced at a reasonable
cost.  Second, this dissertation reports the results of experiments that
measure the performance of the proposed architecture under real workloads.
Results of these experiments show that the architecture currently performs
more slowly than traditional schemes; but this appears to be correctable
by employing a more efficient function call mechanism that caches heap-
allocated activation frames.
Finally, this dissertation reports on some simple extensions to the C++
programming language to support slice objects.  Slice objects, which are
supported by the garbage collection architecture, are useful for implementing
fragmentable arrays, i.e., arrays in which subarrays may be retained while
unused elements become garbage and are collected.  Experimental evidence
demonstrates that slice objects can be used to implement strings more
efficiently than at least some popular class libraries.

Subjects:All uncategorized technical reports
ID code:00000028
Deposited by:Staff Account on 24 August 1992



Contact site administrator at: ssg@cs.iastate.edu