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.
Issues in the Design and Implementation of a Real-Time Garbage Collection
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.
Contact site administrator at: firstname.lastname@example.org