Persistent Memory Storage of Cold Regions in the Eclipse OpenJ9 Java Virtual Machine
In this presentation an optimization technique for object-oriented language runtimes is discussed. The technique takes advantage of infrequently accessed objects, called cold objects, and involves segregating objects into different memory areas by co-locating cold objects in slower memory during garbage collection. This technique is compared against operating system paging mechanisms with swap partitions. Two different schemes for determining which objects should be segregated into slower memory are tested and their results are analyzed. The first scheme uses the slower memory as additional memory, without consideration of access frequency. The second approximates access frequency by marking operating system pages accessed between garbage collections. The OpenJ9 Java virtual machine is modified to support this solution. A new access frequency-aware throughput benchmark, the CloudGC benchmark and the DaCapo benchmark suite are used to compare the different configurations. It is discovered that each technique can be the most or least optimal choice depending on the benchmark tested. Future improvements in the field are suggested given the results of this work.
Scott is a Master’s student at the University of New Brunswick working with IBM on language runtime research.
Tue 6 Nov
|13:30 - 14:00|
Karim AliUniversity of Alberta
|14:00 - 14:30|
|14:30 - 15:00|
Scott YoungUniversity of New Brunswick