Computer Science Department Daniel Frampton, David F. Bacon, Perry Cheng, and David Grove Australian National University Canberra ACT, Australia

Slides:



Advertisements
Similar presentations
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 1 MC 2 –Copying GC for Memory Constrained Environments Narendran Sachindran J. Eliot.
Advertisements

Steve Blackburn Department of Computer Science Australian National University Perry Cheng TJ Watson Research Center IBM Research Kathryn McKinley Department.
1 Write Barrier Elision for Concurrent Garbage Collectors Martin T. Vechev Cambridge University David F. Bacon IBM T.J.Watson Research Center.
Mendel Rosenblum and John K. Ousterhout Presented by Travis Bale 1.
Reducing Pause Time of Conservative Collectors Toshio Endo (National Institute of Informatics) Kenjiro Taura (Univ. of Tokyo)
A Real-Time Garbage Collector Based on the Lifetimes of Objects Lieberman and Hewitt, CACM June 1983, pp Curtis Dunham CS 395T Memory Management,
Chapter 101 Cleaning Policy When should a modified page be written out to disk?  Demand cleaning write page out only when its frame has been selected.
MC 2 : High Performance GC for Memory-Constrained Environments - Narendran Sachindran, J. Eliot B. Moss, Emery D. Berger Sowmiya Chocka Narayanan.
Garbage Collection CSCI 2720 Spring Static vs. Dynamic Allocation Early versions of Fortran –All memory was static C –Mix of static and dynamic.
Beltway: Getting Around Garbage Collection Gridlock Mrinal Deo CS395T Presentation March 2, Content borrowed from Jennifer Sartor & Kathryn McKinley.
By Jacob SeligmannSteffen Grarup Presented By Leon Gendler Incremental Mature Garbage Collection Using the Train Algorithm.
Asynchronous Assertions Eddie Aftandilian and Sam Guyer Tufts University Martin Vechev ETH Zurich and IBM Research Eran Yahav Technion.
Efficient Concurrent Mark-Sweep Cycle Collection Daniel Frampton, Stephen Blackburn, Luke Quinane and John Zigman (Pending submission) Presented by Jose.
MC 2 : High Performance GC for Memory-Constrained Environments N. Sachindran, E. Moss, E. Berger Ivan JibajaCS 395T *Some of the graphs are from presentation.
Increasing Memory Usage in Real-Time GC Tobias Ritzau and Peter Fritzson Department of Computer and Information Science Linköpings universitet
An Efficient Machine-Independent Procedure for Garbage Collection in Various List Structures, Schorr and Waite CACM August 1967, pp Curtis Dunham.
OOPSLA 2003 Mostly Concurrent Garbage Collection Revisited Katherine Barabash - IBM Haifa Research Lab. Israel Yoav Ossia - IBM Haifa Research Lab. Israel.
1 The Compressor: Concurrent, Incremental and Parallel Compaction. Haim Kermany and Erez Petrank Technion – Israel Institute of Technology.
Task-aware Garbage Collection in a Multi-Tasking Virtual Machine Sunil Soman Laurent Daynès Chandra Krintz RACE Lab, UC Santa Barbara Sun Microsystems.
21 September 2005Rotor Capstone Workshop Parallel, Real-Time Garbage Collection Daniel Spoonhower Guy Blelloch, Robert Harper, David Swasey Carnegie Mellon.
Generational Stack Collection And Profile driven Pretenuring Perry Cheng Robert Harper Peter Lee Presented By Moti Alperovitch
Connectivity-Based Garbage Collection Presenter Feng Xian Author Martin Hirzel, et.al Published in OOPSLA’2003.
U NIVERSITY OF M ASSACHUSETTS Department of Computer Science Automatic Heap Sizing Ting Yang, Matthew Hertz Emery Berger, Eliot Moss University of Massachusetts.
Incremental Garbage Collection
Age-Oriented Concurrent Garbage Collection Harel Paz, Erez Petrank – Technion, Israel Steve Blackburn – ANU, Australia April 05 Compiler Construction Scotland.
U NIVERSITY OF M ASSACHUSETTS A MHERST Department of Computer Science Garbage Collection Without Paging Matthew Hertz, Yi Feng, Emery Berger University.
1 An Efficient On-the-Fly Cycle Collection Harel Paz, Erez Petrank - Technion, Israel David F. Bacon, V. T. Rajan - IBM T.J. Watson Research Center Elliot.
1 Reducing Generational Copy Reserve Overhead with Fallback Compaction Phil McGachey and Antony L. Hosking June 2006.
UniProcessor Garbage Collection Techniques Paul R. Wilson University of Texas Presented By Naomi Sapir Tel-Aviv University.
A Parallel, Real-Time Garbage Collector Author: Perry Cheng, Guy E. Blelloch Presenter: Jun Tao.
SEG Advanced Software Design and Reengineering TOPIC L Garbage Collection Algorithms.
Flexible Reference-Counting-Based Hardware Acceleration for Garbage Collection José A. Joao * Onur Mutlu ‡ Yale N. Patt * * HPS Research Group University.
David F. Bacon Perry Cheng V.T. Rajan IBM T.J. Watson Research Center The Metronome: A Hard Real-time Garbage Collector.
Simulation of Memory Management Using Paging Mechanism in Operating Systems Tarek M. Sobh and Yanchun Liu Presented by: Bei Wang University of Bridgeport.
Ulterior Reference Counting: Fast Garbage Collection without a Long Wait Author: Stephen M Blackburn Kathryn S McKinley Presenter: Jun Tao.
A Real-Time Garbage Collector Based on the Lifetimes of Objects Henry Lieberman and Carl Hewitt (CACM, June 1983) Rudy Kaplan Depena CS395T: Memory Management.
A Mostly Non-Copying Real-Time Collector with Low Overhead and Consistent Utilization David Bacon Perry Cheng (presenting) V.T. Rajan IBM T.J. Watson Research.
Copyright (c) 2004 Borys Bradel Myths and Realities: The Performance Impact of Garbage Collection Paper: Stephen M. Blackburn, Perry Cheng, and Kathryn.
Message Analysis-Guided Allocation and Low-Pause Incremental Garbage Collection in a Concurrent Language Konstantinos Sagonas Jesper Wilhelmsson Uppsala.
1 Real-Time Replication Garbage Collection Scott Nettles and James O’Toole PLDI 93 Presented by: Roi Amir.
September 11, 2003 Beltway: Getting Around GC Gridlock Steve Blackburn, Kathryn McKinley Richard Jones, Eliot Moss Modified by: Weiming Zhao Oct
Investigating the Effects of Using Different Nursery Sizing Policies on Performance Tony Guan, Witty Srisa-an, and Neo Jia Department of Computer Science.
Fast Garbage Collection without a Long Wait Steve Blackburn – Kathryn McKinley Presented by: Na Meng Ulterior Reference Counting:
UniProcessor Garbage Collection Techniques Paul R. Wilson University of Texas Presented By Naomi Sapir Tel-Aviv University.
1 Garbage Collection Advantage: Improving Program Locality Xianglong Huang (UT) Stephen M Blackburn (ANU), Kathryn S McKinley (UT) J Eliot B Moss (UMass),
David F. Bacon Perry Cheng V.T. Rajan IBM T.J. Watson Research Center ControllingFragmentation and Space Consumption in the Metronome.
A REAL-TIME GARBAGE COLLECTOR WITH LOW OVERHEAD AND CONSISTENT UTILIZATION David F. Bacon, Perry Cheng, and V.T. Rajan IBM T.J. Watson Research Center.
2/4/20161 GC16/3011 Functional Programming Lecture 20 Garbage Collection Techniques.
Real-time collection for multithreaded Java Microcontroller Garbage Collection. Garbage Collection. Application of Java in embedded real-time systems.
1 GC Advantage: Improving Program Locality Xianglong Huang, Zhenlin Wang, Stephen M Blackburn, Kathryn S McKinley, J Eliot B Moss, Perry Cheng.
® July 21, 2004GC Summer School1 Cycles to Recycle: Copy GC Without Stopping the World The Sapphire Collector Richard L. Hudson J. Eliot B. Moss Originally.
The Metronome Washington University in St. Louis Tobias Mann October 2003.
Real-time Garbage Collection By Tim St. John Low Overhead and Consistent Utilization. Low Overhead and Consistent Utilization. Multithreaded Java Microcontroller.
GC Assertions: Using the Garbage Collector To Check Heap Properties Samuel Z. Guyer Tufts University Edward Aftandilian Tufts University.
An Efficient, Incremental, Automatic Garbage Collector P. Deutsch and D. Bobrow Ivan JibajaCS 395T.
1 The Garbage Collection Advantage: Improving Program Locality Xianglong Huang (UT), Stephen M Blackburn (ANU), Kathryn S McKinley (UT) J Eliot B Moss.
Eliminating External Fragmentation in a Non-Moving Garbage Collector for Java Author: Fridtjof Siebert, CASES 2000 Michael Sallas Object-Oriented Languages.
Automatic Memory Management/GC
Automatic Memory Management/GC
Ulterior Reference Counting Fast GC Without The Wait
Chapter 9: Virtual-Memory Management
Arrays and Linked Lists
David F. Bacon, Perry Cheng, and V.T. Rajan
Adaptive Code Unloading for Resource-Constrained JVMs
Beltway: Getting Around Garbage Collection Gridlock
José A. Joao* Onur Mutlu‡ Yale N. Patt*
Garbage Collection Advantage: Improving Program Locality
Program-level Adaptive Memory Management
Reference Counting vs. Tracing
Presentation transcript:

Computer Science Department Daniel Frampton, David F. Bacon, Perry Cheng, and David Grove Australian National University Canberra ACT, Australia IBM T.J. Watson Research 19 Skyline Drive, Hawthorne, NY 10952, USA bacon, perryche, Slide Author: Matt Marzilli Generational Real-Time Garbage Collection A Three-Part Invention for Young Objects (ECOOP 2007)

2 Computer Science Department Outline  Generational GC Review  Problems with Synchronous GC  Asynchronous GC Goals  Tri-partite Nursery Collection  Evaluation

3 Computer Science Department Generational Garbage Collection  Generational hypothesis: Most objects have very short lifetimes.

4 Computer Science Department Generational Garbage Collection  Do work proportional to live objects.  Get back space proportional to dead objects.

5 Computer Science Department Generational Garbage Collection  Possible pointer types between regions

6 Computer Science Department Write Barriers  Discover all pointers into nursery from the mature area don’t want to perform O(mature) scan of the entire mature area when collecting just the nursery  Write Barriers keeps track of all pointers from from mature objects to nursery objects a.foo = b; Obviously adding overhead (later known as a remset, REM beginning snapshot during collection)

7 Computer Science Department Why design a Real-Time Garbage Collector?  Frequent object allocation often associated with object- oriented programming  Typically Generational Garbage Collectors (GGC) collect the nursery synchronously application responsiveness coupled to worse case nursery collection time can lead to long (50 ms) pauses for some applications  Nursery size can be a problem collection rate = 100 MB / s, max application pause = 1 ms nursery = 100 KB smaller nursery size => more chance objects will be promoted to mature space, not much benefit from GGC

8 Computer Science Department Real-Time Generational Garbage Collection Goals  Perform nursery collection incrementally  Design should allow nursery collection to occur at any time (even in middle of a mature collection)  Ability to size nursery independently of real-time application bounds still want a nursery large enough to derive GGC benefit  Nursery collection work should be O(nursery) NOT O(heap)

9 Computer Science Department Terminology  Mutator - the application, “mutates” state of the garbage collector’s world via object allocation  M: mature region  N k : k th nursery region  REM k : remset used when k th nursery is collected  ROOT k : root set used when k th nursery is collected

10 Computer Science Department Tri-partite Nursery  Goal: Allow mutators to continue allocating (i.e. executing) during collection of the nursery.  Objects are allocated into a separate nursery while the previous nursery is being collected. Nursery used for allocation, alloc nursery Nursery being collected, collect nursery

11 Computer Science Department Tri-partite Nursery  alloc nursery grows from more and more allocation performed by mutator i.e. no fixed size! grows until nursery trigger has been reached if collect nursery is still being collected alloc nursery must wait to be collected (mutator can still allocate) no flood-gating  A third nursery, the promote nursery, contains forwarding pointers for the previously collected nursery

12 Computer Science Department Tri-partite Nursery

13 Computer Science Department Tri-partite Nursery

14 Computer Science Department Tri-partite Nursery

15 Computer Science Department Tri-partite Nursery Mutators allocate into N2 and contribute remset entries to REM2.

16 Computer Science Department Tri-partite Nursery REM 1  ROOT1 provides a full snapshot of live N 1 object data

17 Computer Science Department Tri-partite Nursery M -> N1 (included in REM2)

18 Computer Science Department Tri-partite Nursery N1 -> N2 (to be promoted in REM2)

19 Computer Science Department Tri-partite Nursery N2 -> N1 (found in next collection)

20 Computer Science Department Tri-partite Nursery  Possible pointers created during N 1 collection:  M  N 1 added to REM2 and traversed in next collection  M  N 2 added to REM2  N 1  N 2 correspond to M  N 2 (when object in N 1 is promoted)  N 2  N 1 discovered at next (N2) collection, reason for promote nursery

21 Computer Science Department Tri-partite Nursery N0 can be reclaimed

22 Computer Science Department Evaluation  Minimum Mutator Utilization (MMU) (Cheng, Belloch) measure of worst case utilization by the mutator (application) over a time window. multiple short pauses grouped closely can be as disruptive as a single continuous pause

23 Computer Science Department Evaluation  Metronome Synchronous nursery collection Real-time incremental using time-based scheduling Incremental Mark-Sweep Snapshot at beginning

24 Computer Science Department Evaluation

25 Computer Science Department Evaluation - Memory Usage Spikes pseudojbb benchmark

26 Computer Science Department Evaluation  Benefits Programs that exhibit generational behavior can derive performance benefits.  Disadvantages Non-generational behavior can lead to performance degradation. Maximum memory usage can trend higher (pseudojbb)

27 Computer Science Department Conclusion  RT GGC can derive performance benefits for programs exhibiting generational allocation patterns, but can also hurt ones that don’t.  Tri-partite nursery can be used to overlap collection and allocation.