Reducing Garbage Collection Costs using Application-Specific Information

July 17, 2020
Speaker: Diogenes Nunez
Host: Sam Guyer


Garbage collectors automatically handle memory management, freeing programmers from the burden of ensuring memory correctness when writing applications. However, garbage collectors become costly the more data must be scanned. As a result, garbage collectors can hinder any savings bought from trading space for time, like caches often used for memorization. To reduce this hindrance, garbage collectors must be supplied application-specific information to collect memory in a way that best suits the application.

In this talk, I will present two projects in which garbage collectors leverage programmer supplied information. First I will present prioritized garbage collection, a collector that applies cache eviction policies written by the programmer at collection time. Then I present a GC design for reducing repetitive work, or deferring on, long-lived objects during full garbage collections. I will discuss the potential savings and drawbacks of this design when applied to the Garbage-First collector, a Java region- based generational garbage collector.

Join Zoom Meeting

See colloquia email for password.