Java uses automatic memory management, usually implemented as a garbage collected heap. That lifts the burden of manually allocating and deallocating memory, but it can incur significant runtime overhead and increase the memory footprint of applications. We propose a hybrid memory management scheme that utilizes region-based memory management to deallocate objects automatically on region exits. Static program analysis detects allocation sites that are safe for region allocation, i.e., the static analysis proves that the objects allocated at such a site are not reachable after the region exit. A regular garbage collected heap is used for objects that are not region allocatable.
The region allocation exploits the temporal locality of object allocation. Our analysis uses coarse-grain source code annotations to disambiguate objects with non-overlapping lifetimes, and maps them to different memory scopes. Region allocated memory does not require garbage collection as the regions are simply deallocated when they go out of scope. The region allocation technique is backed by a garbage collector that manages memory that is not region allocated.
We provide a detailed description of the analysis, provide experimental results showing that as much as 78% of the memory is region allocatable and discuss how our hybrid memory management system can be implemented efficiently with respect to both space and time.
Sun 14 JunDisplayed time zone: Tijuana, Baja California change
14:00 - 15:40 | |||
14:00 25mTalk | Stop and Go: Understanding Yieldpoint Behavior Research Papers Yi Lin Australian National University, Kunshan Wang Australian National University, Steve Blackburn Australian National University , Tony Hosking Purdue University, Michael Norrish NICTA Link to publication | ||
14:25 25mTalk | Safe and Efficient Hybrid Memory Management for Java Research Papers Codrut Stancu University of California, Irvine & Oracle Labs, Christian Wimmer Oracle Labs, Stefan Brunthaler University of California, Irvine, Per Larsen University of California, Irvine, Michael Franz University of California, Irvine Link to publication | ||
14:50 25mTalk | A Partial Read Barrier for Efficient Support of Live Object-oriented Programming Research Papers Link to publication | ||
15:15 25mTalk | Memento Mori: Dynamic Allocation-Site-Based Optimizations Research Papers Link to publication |