No Bit Left Behind: The Limits of Heap Data Compression - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

No Bit Left Behind: The Limits of Heap Data Compression

Description:

Eql obj sharing, Const field elide, Bit-width reduction. Appel & Goncalves. Tech Report 93 ... Dom value field elide. Chen, Kandemir & Irwin. VEE 05. Dom value ... – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0
Slides: 19
Provided by: jennife394
Category:

less

Transcript and Presenter's Notes

Title: No Bit Left Behind: The Limits of Heap Data Compression


1
No Bit Left Behind The Limits of Heap Data
Compression
  • Jennifer B. Sartor
  • Martin Hirzel, Kathryn S. McKinley

U Texas at Austin, IBM Watson
2
Current State
  • Managed languages ubiquitous
  • Embedded devices
  • Multicore
  • Need memory efficiency!

3
Memory Efficiency of Managed Languages
  • COST
  • 8-94 information content in heap in 37
    benchmarks. Mitchell Sevitsky, OOPSLA 07
  • Boxed objects
  • Trailing zeros in arrays
  • Redundant objects
  • Extra bit-width
  • Data structure back-bones

bzip2
86
  • OPPORTUNITY
  • Memory layout abstraction
  • (Location size) ! identity

4
Related Work
5
Limit Study
  • Quantitatively compare heap data compression
  • Surveyed literature
  • Savings equations
  • Methodology for evaluation
  • Apples-to-apples comparison
  • Future work implementation
  • Hybrid techniques

58
  • Findings array hybrid compression

6
Hybrid Array Compression
  • Redundancy
  • Equal array sharing

7
Equal Object Sharing
  • Marinov OCallahan. 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

8
Hybrid Array Compression
  • Redundancy
  • Equal array sharing
  • Value set indirection

Dictionary
9
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
  • If gt 256 values, 255 in dictionary, 256th says
    to store rest (M) in hashtable w/ objectID

14
10
Hybrid Array Compression 2
  • Remove zeros
  • Trim trailing zeros
  • Bit width reduce
  • Zero compress

11
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
  • Savings

45
12
Hybrid Array Compression 2
  • Remove zeros
  • Trim trailing zeros
  • Bit width reduce
  • Zero compress

13
Methodology
Garbage Collection
snapshot
14
Experimental Details
  • Jikes Research Virtual Machine
  • Java-in-Java
  • DaCapo benchmarks pseudojbb
  • 20-25 heap snapshots per benchmark
  • MarkSweep with 2x min heap
  • Analysis
  • Per class
  • Objects and arrays separated
  • JVMapp vs application (separated in paper)
  • Per heap snapshot, and over all snapshots

15
(No Transcript)
16
Value Indirection Cache Deep Equal Sharing Zero
Compression Hybrid Compression
17
Stability of Savings
fop snapshots over time
18
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!
Write a Comment
User Comments (0)
About PowerShow.com