Cache line boundary allocation for garbage collected systems
Abstract (Summary)
WAGLE, PRASAD AJIT. Cache Line Boundary Allocation for Garbage Collected Systems.
(Under the direction of Dr. Edward F Gehringer.)
Garbage-collected systems became increasingly popular with the release of the Java
programming language. Cache performance of garbage-collected systems has been a heavily
researched area. Past work has shown that cache-line utilization has been poor in garbagecollected
systems. This work aims to reduce the cache miss rate by aligning objects to cacheline
boundaries during object allocation. Object alignment on a cache line makes that object
use minimum number of cache lines. This improves the overall utilization of a cache line
between the time a memory block is brought into the cache and evicted from it. Improved
cache utilization translates into improvement in total program execution time. Both cache
performance (cache miss rate) and total execution time is studied on the Java Grande,
DaCapo suite, Spec JBB2000, Spec JVM98 and soot benchmarks.
The boundary allocation strategy is shown to improve cache performance/execution
time for most memory-intensive benchmarks. The strategy performs well when implemented
in the old generation of generational collectors. Boundary allocation in the young generation
shows only marginal performance improvement. Most objects in the young generation “die”
very soon. Hence the advantages of alignment do not outweigh the extra work of allocation.
Performance of a benchmark will improve if fragmentation due to cache line
alignment is diminished. It is shown that fragmentation depends on the object size
distribution. Benchmarks that show performance improvement have a denser object-size
distribution for object size equal to less than half the cache-line size and vice versa. It is also
shown that fragmentation would decrease (hence performance would improve) with bigger
cache lines.
Cache Line Boundary Allocation for Garbage Collected Systems
by
Prasad Ajit Wagle
A thesis submitted to the Graduate Faculty of
North Carolina State University
in partial fulfillment of the
requirements for the Degree of
Master of Science
Computer Engineering
Raleigh, North Carolina
2007
Bibliographical Information:
Advisor:
School:North Carolina State University
School Location:USA - North Carolina
Source Type:Master's Thesis
Keywords:north carolina state university
ISBN:
Date of Publication: