Presentation is loading. Please wait.

Presentation is loading. Please wait.

September 11, 2003 Beltway: Getting Around GC Gridlock Steve Blackburn, Kathryn McKinley Richard Jones, Eliot Moss Modified by: Weiming Zhao Oct. 2008.

Similar presentations


Presentation on theme: "September 11, 2003 Beltway: Getting Around GC Gridlock Steve Blackburn, Kathryn McKinley Richard Jones, Eliot Moss Modified by: Weiming Zhao Oct. 2008."— Presentation transcript:

1 September 11, 2003 Beltway: Getting Around GC Gridlock Steve Blackburn, Kathryn McKinley Richard Jones, Eliot Moss Modified by: Weiming Zhao Oct. 2008

2 September 11, 2003 Outline Motivations & Background Beltway GC framework Subsumes existing copying GC New collectors: Beltway X.X & Beltway X.X.100 Novel mechanisms to make them efficient Experimental Results Conclusion

3 September 11, 2003 Where is GC? Renewed interest in GC – Object-oriented languages with automatic memory management (Java, C#) Major outstanding issues – GC throughput--10 to 70% penalty Beltway - high throughput with new copying framework – Combing high throughput and low pause times Ulterior Reference Counting – Understanding & exploiting locality with GC – Dynamically adaptive GC

4 September 11, 2003 Object Demographic Observations Lifetimes – Young objects: Most very short lived Infant mortality: ~90% die young (within 4MB of alloc) – Old objects: most very long lived (bimodal) Mature morality: ~5% die each 4MB of new alloc Pointer mutations – Older to younger pointers across many objects are rare less than 1% – Most mutations among young objects 92 to 98% of pointer mutations

5 September 11, 2003 5 Key Ideas in Copying GC Generational hypothesis (Ungar, Lieberman/Hewitt) – Young objects: most die, so collect frequently – Old objects: most live, so collect infrequently Older-first principle (Stefanovic/McKinley/Moss) – Give objects as much time to die as possible Incrementality improves responsiveness Copying GC can improve locality Can one GC incorporate them all?

6 September 11, 2003 Beltway A new framework for GC algorithms – Subsumes existing copying GCs – Includes new, faster copying GCs Novelty – Generality – New algorithms – New GC mechanisms

7 September 11, 2003 Two Organizational Principles Increments – Independently collectable regions Belts – FIFO groupings of increments

8 September 11, 2003 Configurations of Beltway

9 September 11, 2003 Notice: – Need for copy reserve (rightmost increment) – Incompleteness (w.r.t. cross-increment cycles) – Corresponds to “OF-Mix” GC [Stefanovic 99] – Semi-Space (degenerate form, 2 increments) A Simple Example 0 1234567 Increments Belt 0 1234567 1 2345678 2 3456789

10 September 11, 2003 ? Rules: – Only N increments available (N=8 here) – Must reserve one for copying – Always collect leftmost, lowest full increment A More Interesting Example Notice: – Generational & older first principles – Still incomplete This heap organization is Beltway X.X – X is the increment size (e.g. Beltway 20.20 or Beltway 14.14) Beltway 100.100 = Appel-style generational 0 1234567 0 1234567 12345678 etc. etc. … 0 1234567 33 34353637383940 12345678 23456789 34 35363738394041

11 September 11, 2003 Completeness Add a third belt (“Beltway X.X.100”) – Large increment (100% of available) – Only collect third belt when it is full Reduce incrementality, gain completeness 3 45678910 3334353637383940 01

12 September 11, 2003 Efficient Implementation Crucial issues: – Write barrier cost (consequence of incrementality) – Knowing when to collect – Minimizing ‘copy reserve’ overhead

13 September 11, 2003 New Mechanisms Frames – Incrementality with cheap w/b – One for each frame pair 2 n -aligned contiguous virtual memory space Accommodates an increment * Allows fast inter-increment w/b 7x2 f 8x2 f 9x2 f 10x2 f frameincrement 2f2f Dynamic, conservative copy reserve – Only reserve as much as necessary GC triggers – Don’t necessarily collect only when full Remembered sets – One for each frame pair

14 September 11, 2003 Results Implemented in Jikes RVM with GCTk Compare to state of the art copying GC - Appel-style generational Measure over 33 heap sizes – 1.0 through to 3.0 x minimum heap size – GC time – Total execution time Normalize results to best

15 September 11, 2003 Fixed nursery size VS. Appel (geometric mean of 6 benchmarks)

16 September 11, 2003 Impact of increment size of Beltway X.X.100 (geometric mean of 6 benchmarks) Use 25.25.100 configuration in the remainder of the results

17 September 11, 2003 Beltway X.X VS. X.X.100 VS. Appel

18 September 11, 2003 Beltway: Conclusions Beltway: a new framework – New family of GC algorithms – Subsumes existing copying GCs – Opens up new GC possibilities Generality + efficiency – Better, faster GCs

19 September 11, 2003 Remaining Problem: Combining Throughput & Responsiveness

20 September 11, 2003 MMU Plots for javac at Two Heap Sizes

21 September 11, 2003 Discussion Questions Worst case space overhead? Pause time in a 100 belt increment? Fixed-size increments? What happens if the remsets get big? Locality?


Download ppt "September 11, 2003 Beltway: Getting Around GC Gridlock Steve Blackburn, Kathryn McKinley Richard Jones, Eliot Moss Modified by: Weiming Zhao Oct. 2008."

Similar presentations


Ads by Google