Department of Computer Sciences ISMM 20081 No Bit Left Behind: The Limits of Heap Data Compression Jennifer B. Sartor* Martin Hirzel †, Kathryn S. McKinley*

Slides:



Advertisements
Similar presentations
Department of Computer Sciences Dynamic Shape Analysis via Degree Metrics Maria Jump & Kathryn S. McKinley Department of Computer Sciences The University.
Advertisements

1 Wake Up and Smell the Coffee: Performance Analysis Methodologies for the 21st Century Kathryn S McKinley Department of Computer Sciences University of.
Cooperative Cache Scrubbing Jennifer B. Sartor, Wim Heirman, Steve Blackburn*, Lieven Eeckhout, Kathryn S. McKinley^ PACT 2014 * ^
Pooja ROY, Manmohan MANOHARAN, Weng Fai WONG National University of Singapore ESWEEK (CASES) October 2014 EnVM : Virtual Memory Design for New Memory Architectures.
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.
Dr. Ken Hoganson, © August 2014 Programming in R COURSE NOTES 2 Hoganson Language Translation.
Go with the Flow: Profiling Copies to Find Run-time Bloat Guoqing Xu, Matthew Arnold, Nick Mitchell, Atanas Rountev, Gary Sevitsky Ohio State University.
Names and Bindings.
Object Field Analysis for Heap Space Optimization ISMM 2004 G. Chen, M. Kandemir, N. Vijaykrishnanan and M. J. Irwin The Pennsylvania State University.
MC 2 : High Performance GC for Memory-Constrained Environments - Narendran Sachindran, J. Eliot B. Moss, Emery D. Berger Sowmiya Chocka Narayanan.
Code Compaction of an Operating System Kernel Haifeng He, John Trimble, Somu Perianayagam, Saumya Debray, Gregory Andrews Computer Science Department.
An On-the-Fly Mark and Sweep Garbage Collector Based on Sliding Views Hezi Azatchi - IBM Yossi Levanoni - Microsoft Harel Paz – Technion Erez Petrank –
CORK: DYNAMIC MEMORY LEAK DETECTION FOR GARBAGE- COLLECTED LANGUAGES A TRADEOFF BETWEEN EFFICIENCY AND ACCURATE, USEFUL RESULTS.
Asynchronous Assertions Eddie Aftandilian and Sam Guyer Tufts University Martin Vechev ETH Zurich and IBM Research Eran Yahav Technion.
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.
Microarchitectural Characterization of Production JVMs and Java Workload work in progress Jungwoo Ha (UT Austin) Magnus Gustafsson (Uppsala Univ.) Stephen.
ParMarkSplit: A Parallel Mark- Split Garbage Collector Based on a Lock-Free Skip-List Nhan Nguyen Philippas Tsigas Håkan Sundell Distributed Computing.
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.
Bitmap Index Buddhika Madduma 22/03/2010 Web and Document Databases - ACS-7102.
Finding Low-Utility Data Structures Guoqing Xu 1, Nick Mitchell 2, Matthew Arnold 2, Atanas Rountev 1, Edith Schonberg 2, Gary Sevitsky 2 1 Ohio State.
Connectivity-Based Garbage Collection Presenter Feng Xian Author Martin Hirzel, et.al Published in OOPSLA’2003.
Age-Oriented Concurrent Garbage Collection Harel Paz, Erez Petrank – Technion, Israel Steve Blackburn – ANU, Australia April 05 Compiler Construction Scotland.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
U NIVERSITY OF M ASSACHUSETTS A MHERST Department of Computer Science Garbage Collection Without Paging Matthew Hertz, Yi Feng, Emery Berger University.
1 Utilizing Field Usage Patterns for Java Heap Space Optimization Z. Guo, N. Amaral, D. Szafron and Y. Wang Department of Computing Science University.
An Approach to Generalized Hashing Michael Klipper With Dan Blandford Guy Blelloch.
Comparison of JVM Phases on Data Cache Performance Shiwen Hu and Lizy K. John Laboratory for Computer Architecture The University of Texas at Austin.
8/5/2015\course\cpeg323-08F\Topic1.ppt1 Topic I Introduction to Computer Architecture and Organization.
The College of William and Mary 1 Influence of Program Inputs on the Selection of Garbage Collectors Feng Mao, Eddy Zheng Zhang and Xipeng Shen.
Improving the Performance of Object-Oriented Languages with Dynamic Predication of Indirect Jumps José A. Joao *‡ Onur Mutlu ‡* Hyesoon Kim § Rishi Agarwal.
Intro to Java The Java Virtual Machine. What is the JVM  a software emulation of a hypothetical computing machine that runs Java bytecodes (Java compiler.
Performance Evaluation of Hybrid MPI/OpenMP Implementation of a Lattice Boltzmann Application on Multicore Systems Department of Computer Science and Engineering,
Exploring Multi-Threaded Java Application Performance on Multicore Hardware Ghent University, Belgium OOPSLA 2012 presentation – October 24 th 2012 Jennifer.
Impact of Java Compressed Heap on Mobile/Wireless Communication Mayumi KATO and Chia-Tien Dan Lo (itcc’05) Department of Computer Science, University of.
1 Fast and Efficient Partial Code Reordering Xianglong Huang (UT Austin, Adverplex) Stephen M. Blackburn (Intel) David Grove (IBM) Kathryn McKinley (UT.
Dynamic Object Sampling for Pretenuring Maria Jump Department of Computer Sciences The University of Texas at Austin Stephen M. Blackburn.
CS380 C lecture 20 Last time –Linear scan register allocation –Classic compilation techniques –On to a modern context Today –Jenn Sartor –Experimental.
Free-Me: A Static Analysis for Automatic Individual Object Reclamation Samuel Z. Guyer, Kathryn McKinley, Daniel Frampton Presented by: Dimitris Prountzos.
Chameleon Automatic Selection of Collections Ohad Shacham Martin VechevEran Yahav Tel Aviv University IBM T.J. Watson Research Center Presented by: Yingyi.
External Program Model Checking Stefan Edelkamp, Shahid Jabar, Dino Midzic, Daniel Rikowski and Damian Sulewski Computer Science Department University.
Compressed Prefix Sums O’Neil Delpratt Naila Rahman Rajeev Raman.
RevDedup: A Reverse Deduplication Storage System Optimized for Reads to Latest Backups Chun-Ho Ng, Patrick P. C. Lee The Chinese University of Hong Kong.
Embedded System Lab. 정범종 A_DRM: Architecture-aware Distributed Resource Management of Virtualized Clusters H. Wang et al. VEE, 2015.
1 Garbage Collection Advantage: Improving Program Locality Xianglong Huang (UT) Stephen M Blackburn (ANU), Kathryn S McKinley (UT) J Eliot B Moss (UMass),
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Virtual Memory Hardware.
Heap liveness and its usage in automatic memory management Ran Shaham Elliot Kolodner Mooly Sagiv ISMM’02 Unpublished TVLA.
CoCo: Sound and Adaptive Replacement of Java Collections Guoqing (Harry) Xu Department of Computer Science University of California, Irvine.
Department of Computer Sciences Z-Rays: Divide Arrays and Conquer Speed and Flexibility Jennifer B. Sartor Stephen M. Blackburn,
Object-Relative Addressing: Compressed Pointers in 64-bit Java Virtual Machines Kris Venstermans, Lieven Eeckhout, Koen De Bosschere Department of Electronics.
3/19/2016 5:40 PMLinked list1 Array-based List v.s. Linked List Yumei Huo Department of Computer Science College of Staten Island, CUNY Spring 2009.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
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.
Mihai Burcea, J. Gregory Steffan, Cristiana Amza
A DFA with Extended Character-Set for Fast Deep Packet Inspection
No Bit Left Behind: The Limits of Heap Data Compression
Methodology of a Compiler that Compresses Code using Echo Instructions
Topic I Introduction to Computer Architecture and Organization
Data Structures and Analysis (COMP 410)
David F. Bacon, Perry Cheng, and V.T. Rajan
Jipeng Huang, Michael D. Bond Ohio State University
Beltway: Getting Around Garbage Collection Gridlock
No Bit Left Behind: The Limits of Heap Data Compression
Lecture 4: Instruction Set Design/Pipelining
Garbage Collection Advantage: Improving Program Locality
Program-level Adaptive Memory Management
Restrictive Compression Techniques to Increase Level 1 Cache Capacity
Presentation transcript:

Department of Computer Sciences ISMM No Bit Left Behind: The Limits of Heap Data Compression Jennifer B. Sartor* Martin Hirzel †, Kathryn S. McKinley* *U Texas at Austin, † IBM Watson

Department of Computer Sciences ISMM Current State  Managed languages ubiquitous  Embedded devices  Multicore  Need memory efficiency! CPUL1 L2 CPU L1 L2

Department of Computer Sciences ISMM Memory Efficiency of Managed Languages X COST X 8-94% information content in heap in 37 benchmarks. [Mitchell & Sevitsky, OOPSLA 07] X Boxed objects X Trailing zeros in arrays X Redundant objects X Extra bit-width X Data structure back-bones bzip2 86% OPPORTUNITY Memory layout abstraction (Location + size) != identity

Department of Computer Sciences ISMM Related Work Ananian & Rinard. LCTES 03Dom value field hash Appel & Goncalves. Tech Report 93Eql obj sharing, Const field elide, Bit-width reduction Chen, Kandemir & Irwin. VEE 05Dom value field elide Chen, et al. OOPSLA 03Zero compr, Trail zero trim Cooprider & Regehr. PLDI 07Value set indirection Marinov & O’Callahan. OOPSLA 03Eql obj sharing Stephenson, Babb & Amarasinghe. PLDI 00 Const field elide, Bit-width reduction Titzer, et al. PLDI 07Value set indirection Zilles. ISMM 07Bit-width reduction

Department of Computer Sciences ISMM Limit Study  Quantitatively compare heap data compression Surveyed literature Savings equations Methodology for evaluation Apples-to-apples comparison Future work: implementation  Hybrid techniques  Findings: array & hybrid compression 58%

Department of Computer Sciences ISMM Hybrid Array Compression x0001 x005 8 x000 1 x000 4 x000 1 x000 0 x000 1  Redundancy Equal array sharing x0001 x005 8 x000 1 x000 4 x000 1 x000 0 x000 1

Department of Computer Sciences ISMM Equal Object Sharing  Marinov & O’Callahan. OOPSLA 03; Appel & Goncalves. Tech Report 93  Two objects are equal if both Same class & all fields have same value  Strictly-equal: pointer fields identical  Deep: objects pointer targets are equal  JVM store only 1 copy in hashtable 14%  Class C, N objects, D distinct; save:

Department of Computer Sciences ISMM Hybrid Array Compression x0001 x005 8 x000 1 x000 4 x000 1 x000 0 x000 1  Redundancy Equal array sharing Value set indirection x0001 x005 8 x000 1 x000 4 x000 1 x000 0 x000 1 Dictionary: x0001x005 8 x000 4 x

Department of Computer Sciences ISMM Value Set Indirection & Caching  Cooprider & Regehr/ Titzer, et al. PLDI 07  For object field or array elements with large range of values Dictionary (or cache) of 256 most frequent values, instance stores small 1 byte indices 14% If > 256 values, 255 in dictionary, 256th says to store rest (M) in hashtable w/ objectID

Department of Computer Sciences ISMM Hybrid Array Compression 2 x00A 0 x007 3 x000 2 x000 1 x010 1 x000 0  Remove zeros Trim trailing zeros Bit width reduce Zero compress x00A 0 x007 3 x000 2 x000 1 x x0A 0 x07 3 x00 2 x00 1 x x0 A x7 3 x2x00 1 x xAF

Department of Computer Sciences ISMM Zero-based Object Compression  Chen, et al. OOPSLA 03  Remove bytes that are entirely zero  Per object bit-map: 1 bit per byte  Store only non-zero bytes 45%  Savings:

Department of Computer Sciences ISMM Hybrid Array Compression 2 x00A 0 x007 3 x000 2 x000 1 x010 1 x000 0  Remove zeros Trim trailing zeros Bit width reduce Zero compress x00A 0 x007 3 x000 2 x000 1 x x0A 0 x07 3 x00 2 x00 1 x x0 A x7 3 x2x00 1 x xAF

Department of Computer Sciences ISMM Methodology Program run Heap dump series Analysis representation t  Model 1  –  Model n … s Limit savings Garbage Collection snapshot

Department of Computer Sciences ISMM Experimental Details  Jikes Research Virtual Machine Java-in-Java  DaCapo benchmarks + pseudojbb  heap snapshots per benchmark MarkSweep with 2x min heap  Analysis Per class Objects and arrays separated JVM+app vs application (separated in paper) Per heap snapshot, and over all snapshots

Department of Computer Sciences ISMM TechniqueClassArrayGC/Ru n Lempel-Ziv compression XGC Strictly-equal object sharing ObjTypeGC Deep-equal object sharing ObjTypeGC Zero-based object compression ObjInstGC Trailing zero array trimming InstGC Bit-width reduction FldInstGC/Run Dominant-value field hashing FldGC Lazy invariant computation FldGC Value set indirection FldTypeGC Value set caching FldTypeGC Constant field elision FldRun Dominant-value field elision FldRun

Department of Computer Sciences ISMM Value Indirection & Cache Deep Equal Sharing Zero Compression Hybrid Compression

Department of Computer Sciences ISMM Stability of Savings fop: snapshots over time

Department of Computer Sciences ISMM Conclusions  Limit study compare apples-to-apples heap data compression techniques  Potential to reduce memory inefficiencies in managed languages Arrays Hybrids  Future: save space Challenge: efficient detection & recovery Thank you!