Skip to main navigation Skip to search Skip to main content

Garbage collection without paging

  • University of Massachusetts

Research output: Contribution to journal › Article › peer-review

12 Scopus citations

Abstract

Garbage collection offers numerous software engineering advantages, but interacts poorly with virtual memory managers. Existing garbage collectors require far more pages than the application's working set and touch pages without regard to which ones are in memory, especially during full-heap garbage collection. The resulting paging can cause throughput to plummet and pause times to spike up to seconds or even minutes. We present a garbage collector that avoids paging. This bookmarking collector cooperates with the virtual memory manager to guide its eviction decisions. Using summary information ("bookmarks") recorded from evicted pages, the collector can perform in-memory full-heap collections. In the absence of memory pressure, the bookmarking collector matches the throughput of the best collector we tested while running in smaller heaps. In the face of memory pressure, it improves throughput by up to a factor of five and reduces pause times by up to a factor of 45 over the next best collector. Compared to a collector that consistently provides high throughput (generational mark-sweep), the bookmarking collector reduces pause times by up to 218× and improves throughput by up to 41×. Bookmarking collection thus provides greater utilization of available physical memory than other collectors while matching or exceeding their throughput.

Original languageEnglish
Pages (from-to)143-153
Number of pages11
JournalACM SIGPLAN Notices
Volume40
Issue number6
DOIs
StatePublished - 2005

Keywords

  • Bookmarking collection
  • Garbage collection
  • Generational collection
  • Memory pressure
  • Paging
  • Virtual memory

Fingerprint

Dive into the research topics of 'Garbage collection without paging'. Together they form a unique fingerprint.

Cite this