Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Reducing Generational Copy Reserve Overhead with Fallback Compaction Phil McGachey and Antony L. Hosking June 2006.

Similar presentations


Presentation on theme: "1 Reducing Generational Copy Reserve Overhead with Fallback Compaction Phil McGachey and Antony L. Hosking June 2006."— Presentation transcript:

1 1 Reducing Generational Copy Reserve Overhead with Fallback Compaction Phil McGachey and Antony L. Hosking June 2006

2 2 Overview Background Algorithm Design Implementation Details Experimental Results

3 3 Generational Collectors Generational Hypotheses: –Most objects die young –Older objects less likely to die Generational collectors exploit this –Allocate to a nursery space –Move older objects to a separate mature space Most collections don’t look at old objects

4 4 Appel’s Collector NurseryCopy ReserveMatureNurseryCopy Reserve

5 5 Appel’s Collector MatureCopy ReserveNurseryMatureCopy ReserveNursery

6 6 Copy Reserve Copying collectors require copy reserve Must be large enough for the worst case Most objects do not survive a collection Optimize the common case

7 7 Common Case MatureCopy ReserveNurseryMatureCopy ReserveNursery

8 8 Worst Case MatureCopy ReserveNurseryMatureCopy ReserveNursery

9 9 Design Summary Based on Appel’s collector Reduce the copy reserve size –The majority of collections work as normal Use compaction in the worst case More efficient use of space –Fewer collections required

10 10 Implementation Details Jikes RVM and MMTk Modified version of GenCopy collector –Slight differences from Appel’s design

11 11 Block Copying MMTk designates space by virtual address Must copy objects between spaces No efficient block copy mechanism Use mmap() to move pages –Map pages from named backing store –Use offset to refer to block –Unmap and remap as required

12 12 Compacting Collector Difficulty in sweeping immortal spaces –Unreachable objects still in place –Need to modify object scanning Cannot allocate memory –Heap is already full –Makes forwarding pointers difficult to track Jonkers’ reference chaining algorithm

13 13 Metrics Vary copy reserve size and heap size Measure elapsed time for execution Count major and minor garbage collections

14 14 Methodology Use selected SPECjvm98 benchmarks Run 11 times –First run compiles with optimizing compiler –Measure remaining ten Experimental Platform: –Intel Pentium 4/2.26 GHz –512 Mb RAM –Mandrake Linux 9.2

15 15 Traditional Generational Copying Collector

16 16 _213_javac, 5% copy reserve

17 17 _213_javac, 10% copy reserve

18 18 _213_javac, 80% copy reserve

19 19 _213_javac, 30M heap

20 20 _213_javac, 80M heap

21 21 Summary New collector with reduced copy reserve Uses compaction to handle worst case Several interesting implementation details Copy reserve size selection important Performance comparable to or better than other collectors


Download ppt "1 Reducing Generational Copy Reserve Overhead with Fallback Compaction Phil McGachey and Antony L. Hosking June 2006."

Similar presentations


Ads by Google