Garbage collection may benefit greatly from knowledge about program behavior, but most managed languages do not provide means for the programmer to deliver such knowledge. In this work we propose a very simple interface that requires minor programmer effort and achieves substantial performance and scalability improvements. In particular, we focus on the common use of data structures or collections for organizing data on the heap. We let the program notify the collector which classes represent nodes of data structures and also when such nodes are being removed from their data structures. The data-structure aware (DSA) garbage collector uses this information to improve performance, locality, and load balancing. Experience shows that this interface requires a minor modification of the application. Measurements show that for some significant benchmarks this interface can dramatically reduce the time spent on garbage collection and also improve the overall program performance.
Sun 14 JunDisplayed time zone: Tijuana, Baja California change
11:20 - 12:35 | New Memory Management AlgorithmsResearch Papers at C123 Chair(s): Jeremy Singer University of Glasgow | ||
11:20 25mTalk | Data Structure Aware Garbage Collector Research Papers Link to publication | ||
11:45 25mTalk | SuperMalloc: A Super Fast Multithreaded malloc() for 64-bit Machines Research Papers Bradley Kuszmaul MIT Link to publication | ||
12:10 25mTalk | Concurrent Compaction using a Field Pinning Protocol Research Papers Link to publication |