2004 · 69 citations · 15 references
ComputingComputer EngineeringComputer ScienceCompilersComputer ArchitectureOperating SystemsGarbage CollectionMemory HierarchyMemory Hierarchy DesignMemory ManagementMemory ModelingVirtual MemoryGarbage Collection OverheadGarbage Collection Overhead AnalysisHeap AnalysisHeap ManagementHeap ModelingHeapsVirtual Memory ManagementVirtual Memory Systems
Heap size has a huge impact on the performance of garbage collected applications. A heap that barely meets the application's needs causes excessive GC overhead, while a heap that exceeds physical memory induces paging. Choosing the best heap size <i>a priori</i> is impossible in multiprogrammed environments, where physical memory allocations to processes change constantly. We present an automatic heap-sizing algorithm applicable to different garbage collectors with only modest changes. It relies on an analytical model and on detailed information from the virtual memory manager. The model characterizes the relation between collection algorithm, heap size, and footprint. The virtual memory manager tracks recent reference behavior, reporting the current footprint and allocation to the collector. The collector uses those values as inputs to its model to compute a heap size that maximizes throughput while minimizing paging. We show that our adaptive heap sizing algorithm can substantially reduce running time over fixed-sized heaps.
15
Bowen Alpern, C. R. Attanasio, John Barton et al. · IBM Systems Journal · 2000 · 578 citations
Garbage collection in a large LISP system
David A. Moon · 1984 · 276 citations · Full text
Bowen Alpern, C. R. Attanasio, Anthony Cocchi et al. · 1999 · 268 citations