1 Error-Free Garbage Collection Traces: How to Cheat and Not Get Caught ACM SIGMETRICS, 2002.

Slides:



Advertisements
Similar presentations
Garbage Collecting the World. --Bernard Lang, Christian and Jose Presented by Shikha Khanna coen 317 Date – May25’ 2005.
Advertisements

MC 2 : High Performance GC for Memory-Constrained Environments - Narendran Sachindran, J. Eliot B. Moss, Emery D. Berger Sowmiya Chocka Narayanan.
Garbage Collection  records not reachable  reclaim to allow reuse  performed by runtime system (support programs linked with the compiled code) (support.
Garbage Collection CSCI 2720 Spring Static vs. Dynamic Allocation Early versions of Fortran –All memory was static C –Mix of static and dynamic.
An On-the-Fly Mark and Sweep Garbage Collector Based on Sliding Views Hezi Azatchi - IBM Yossi Levanoni - Microsoft Harel Paz – Technion Erez Petrank –
Resurrector: A Tunable Object Lifetime Profiling Technique Guoqing Xu University of California, Irvine OOPSLA’13 Conference Talk 1.
NUMA Tuning for Java Server Applications Mustafa M. Tikir.
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.
Free-Me: A Static Analysis for Individual Object Reclamation Samuel Z. Guyer Tufts University Kathryn S. McKinley University of Texas at Austin Daniel.
1 The Compressor: Concurrent, Incremental and Parallel Compaction. Haim Kermany and Erez Petrank Technion – Israel Institute of Technology.
1 Data Persistence in Large-scale Sensor Networks with Decentralized Fountain Codes Yunfeng Lin, Ben Liang, Baochun Li INFOCOM 2007.
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
Evaluating Window Joins Over Unbounded Streams By Nishant Mehta and Abhishek Kumar.
Connectivity-Based Garbage Collection Presenter Feng Xian Author Martin Hirzel, et.al Published in OOPSLA’2003.
Runtime The optimized program is ready to run … What sorts of facilities are available at runtime.
U NIVERSITY OF M ASSACHUSETTS Department of Computer Science Automatic Heap Sizing Ting Yang, Matthew Hertz Emery Berger, Eliot Moss University of Massachusetts.
JVM-1 Introduction to Java Virtual Machine. JVM-2 Outline Java Language, Java Virtual Machine and Java Platform Organization of Java Virtual Machine Garbage.
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.
Exploiting Prolific Types for Memory Management and Optimizations By Yefim Shuf et al.
A User Experience-based Cloud Service Redeployment Mechanism KANG Yu.
APT: Accurate Outdoor Pedestrian Tracking with Smartphones TsungYun
380C Lecture 17 Where are we & where we are going –Managed languages Dynamic compilation Inlining Garbage collection –Why you need to care about workloads.
An Adaptive, Region-based Allocator for Java Feng Qian, Laurie Hendren {fqian, Sable Research Group School of Computer Science McGill.
Ulterior Reference Counting: Fast Garbage Collection without a Long Wait Author: Stephen M Blackburn Kathryn S McKinley Presenter: Jun Tao.
Fast Conservative Garbage Collection Rifat Shahriyar Stephen M. Blackburn Australian National University Kathryn S. M cKinley Microsoft Research.
A performance evaluation approach openModeller: A Framework for species distribution Modelling.
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
Copyright (c) 2004 Borys Bradel Myths and Realities: The Performance Impact of Garbage Collection Paper: Stephen M. Blackburn, Perry Cheng, and Kathryn.
Free-Me: A Static Analysis for Automatic Individual Object Reclamation Samuel Z. Guyer, Kathryn McKinley, Daniel Frampton Presented by: Dimitris Prountzos.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 1 Automatic Heap Sizing: Taking Real Memory into Account Ting Yang, Emery Berger,
A Single-Pass Cache Simulation Methodology for Two-level Unified Caches + Also affiliated with NSF Center for High-Performance Reconfigurable Computing.
Computer Science Department Daniel Frampton, David F. Bacon, Perry Cheng, and David Grove Australian National University Canberra ACT, Australia
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.
MODES-650 Advanced System Simulation Presented by Olgun Karademirci VERIFICATION AND VALIDATION OF SIMULATION MODELS.
MROrder: Flexible Job Ordering Optimization for Online MapReduce Workloads School of Computer Engineering Nanyang Technological University 30 th Aug 2013.
UniProcessor Garbage Collection Techniques Paul R. Wilson University of Texas Presented By Naomi Sapir Tel-Aviv University.
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.
Runtime The optimized program is ready to run … What sorts of facilities are available at runtime.
Introduction to Garbage Collection. Garbage Collection It automatically reclaims memory occupied by objects that are no longer in use It frees the programmer.
Ensieea Rizwani An energy-efficient management mechanism for large-scale server clusters By: Zhenghua Xue, Dong, Ma, Fan, Mei 1.
INFOMGP Student names and numbers Papers’ references Title.
Sunpyo Hong, Hyesoon Kim
® 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.
Rate-Based Query Optimization for Streaming Information Sources Stratis D. Viglas Jeffrey F. Naughton.
CS412/413 Introduction to Compilers and Translators April 21, 1999 Lecture 30: Garbage collection.
Optimal Relay Placement for Indoor Sensor Networks Cuiyao Xue †, Yanmin Zhu †, Lei Ni †, Minglu Li †, Bo Li ‡ † Shanghai Jiao Tong University ‡ HK University.
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.
Naming CSCI 6900/4900. Unreferenced Objects in Dist. Systems Objects no longer needed as nobody has a reference to them and hence will not use them Garbage.
1 Performance Impact of Resource Provisioning on Workflows Gurmeet Singh, Carl Kesselman and Ewa Deelman Information Science Institute University of Southern.
GARBAGE COLLECTION Student: Jack Chang. Introduction Manual memory management Memory bugs Automatic memory management We know... A program can only use.
Introduction to Garbage Collection. GC Fundamentals Algorithmic Components AllocationReclamation 2 Identification Bump Allocation Free List ` Tracing.
Immix: A Mark-Region Garbage Collector Jennifer Sartor CS395T Presentation Mar 2, 2009 Thanks to Steve for his Immix presentation from
Dynamic Compilation Vijay Janapa Reddi
Daniil Chivilikhin and Vladimir Ulyantsev
Adaptive Code Unloading for Resource-Constrained JVMs
by Xiang Mao and Qin Chen
José A. Joao* Onur Mutlu‡ Yale N. Patt*
Process Wind Tunnel for Improving Business Processes
Reference Counting vs. Tracing
Presentation transcript:

1 Error-Free Garbage Collection Traces: How to Cheat and Not Get Caught ACM SIGMETRICS, 2002

2 Outline Introduction - Perfect trace vs Granulated trace - Motivation and Contributions The effect of trace granularity in GC simulation Merlin algorithm Conclusions

3 Introduction To explore GC algorithms, researchers are using simulation based on traces of allocation and lifetime behavior. - Perfect traces - Generated by brute force method at every potential GC point; - Time consuming ; - Can obtain the accurate information. - Granulated traces (Commonly used) - Generated periodically; - The information in the trace may not be accurately (over-estimate live objects, under-estimate dead objects)

4 Introduction GC researchers are discussing a standard file format to enable sharing of traces hosking/ismm2000/papers/chilimbi.pdf

5 Motivation and Contributions Researchers have not studied the effects of granularity on GC simulations. This paper will show that granularity will significantly affect the results. This paper proposed the Merlin trace generation algorithm to produce perfect traces very efficiently (800 faster than the brute force method). The paper suggests a new requirement for the standard trace format: including the granularity level in the trace (or recording the time in the trace).

6 The Effect of Granularity We use several sets of experiments to prove the following claim: The granularity traces produce significantly different results from perfect traces. The result suggests a new requirement for any standard trace format: that it should include additional information on granularity of the trace.

7 The Effect of Granularity (contd.) Experimental Design - Objective: compare the difference btw the result based on perfect traces and the result based on granulated traces. - Two components: generator is used to generate a granulated trace with the targeted level of granularity; GC simulator is the implementation of a GC algorithm. GC Simulator Generator Granularity level Perfect trace Difference Granularity trace

8 The Effect of Granularity (contd.) Settings and parameters - GC simulator. We use four different copying GC algorithms: - a semi-space collector, - a fixed nursery generational collector, - a variable-sized nursery generational collector, - an old-first collector; - Granularity level. It ranges from 1kB to 32kB. - Metrics. We use the following metrics to compare the result of perfect traces and granulated traces: - the number of collections invoked, - the mark/sweep ratio, - the number of interesting stores.

9 The Effect of Granularity (contd.) Conclusions of the experiment: - The trace granularity has a significant impact on the simulated results of garbage collection algorithms. - When using traces to compare and measure new GC algorithms and optimizations, there is not a clear way to use granulated traces and have confidence that the results are valid.

10 Merlin Trace Generation Previous experiment indicated that it is not a good way to use granulated traces. But it is very time-consuming to generate perfect traces via using brute force method. So, we propose the new Merlin algorithm. Merlin is a wizard in Arthurian legend, who was born as an old man and then lived backwards in time.

11 Merlin Algorithm Overview The Merlin algorithm computes when objects were last reachable. To find when objects was last reachable, we stamp the current time whenever they may transition from reachable to unreachable. At each GC points, we can compute exactly when the unreachable objects were last reachable.

12 Merlin Details Three steps: 1.Finding potential last reachable times; 2.Computing when objects become unreachable; 3.Computing death times.

13 Finding Potential Last Reachable Times Incoming references: Case 1: 1 -> 0; (A, B) Case 2: n -> n-1; (C) Case 3: Stay unchanged. (D, E, F)

14 Compute when Objects become unreachable Take advantage of write barrier. - write barrier is capable of reference counting; - Timestamp of each object is overwritten each time its reference is decremented. Use GC to check if an object is reachable.

15 Computing Death Times t0 < t1 < t2 < t3 Use depth-first algorithm to compute the full transitive closure sets.

16 Experimental Result

17 Conclusions Granularity traces produce results that are significantly different from those produced by perfect traces. We introduce the Merlin algorithm to generate perfect traces efficiently.