1 / 19

Software-Controlled Memory Compression Using Informing Memory Operations

Software-Controlled Memory Compression Using Informing Memory Operations. Bert Maher and Katie Coons. Outline. Motivation - A case for compression in CMPs Data-specific Compression Informing Memory Operations Conclusions and Future Work. Motivation.

awena
Download Presentation

Software-Controlled Memory Compression Using Informing Memory Operations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software-Controlled Memory Compression Using Informing Memory Operations Bert Maher and Katie Coons

  2. Outline • Motivation - A case for compression in CMPs • Data-specific Compression • Informing Memory Operations • Conclusions and Future Work

  3. Motivation “In a 35nm technology there will be 45x more transistors per IO pin than in a 180nm technology.”

  4. Emerging CMP Challenges • Transistor speed increasing faster than DRAM latency or pin bandwidth • Use more cores to tolerate DRAM latency with TLP? • Use caches to avoid DRAM accesses and conserve off-chip bandwidth? Increases off-chip bandwidth demand Cache capacity becomes a bottleneck

  5. Emerging CMP Challenges • Increasing wire delay • NUCA? • D-NUCA? Power hungry • Transmission Line Caches (TLC)? • Hardware Prefetching? Restricted bandwidth CPU1 CPU2 CPU3 From “Managing Wire Delay in Large Chip- Multiprocessor Caches” By Beckmann and Wood Local Intm Remote CPU8 CPU4 CPU7 CPU6 CPU5 Increases off-chip bandwidth demand significantly

  6. Why use compression? • Increase capacity… • More RAM, L2 cache, or off-chip pin bandwidth • … without increasing costs • $$$, chip area, power Basic tradeoff: Increase capacity at the price of increased access latency

  7. Where is compression useful? • L1 cache - Power savings (embedded systems) • L2 cache - Fewer off-chip misses, more cache capacity in less die area • Off-chip link - Bandwidth • Main memory - Increase memory size for free Which make the most sense in a CMP?

  8. Not as simple as it sounds… Choice of compression algorithm significantly impacts benefits

  9. Outline • Motivation - A case for compression in CMPs • Data-specific Compression • Informing Memory Operations • Conclusions and Future Work

  10. Data-specific Compression • Compression algorithms rely on expected regularities in data • Integer, floating-point, pointer, character data all compress differently • Application-specific data compression may be even more effective “The main key to good compression is having the right kinds of expectations for the data at hand.” -- Wilson, Kaplan, Smaragdakis

  11. Data-specific Compression • Benefit: Significantly higher compression ratios • Cost: Potentially higher access latencies • Hybrid solutions: • Provide multiple hardware schemes (run-length, dictionary based) as well as a software trap • Allow dictionary to be specified as input • Provide ISA support for fast compression

  12. Decompression time sensitivity Decompression latency (cycles) Decompression latency (cycles) From Alaa Alameldeen’s PhD thesis - “Using Compression to Improve Chip Multiprocessor Performance” Decompression latency (cycles) Decompression latency (cycles)

  13. Data-specific Compression • What we need: • Well-balanced compression ratio, compression latency • Exploit data-specific knowledge • What we mostly see today: • Data-specific with very high compression ratio, very high latency • General-purpose with very fast compression, low compression ratio

  14. Data-specific compression • Floating point geometry • Compress structural data with predictive methods • 12MB/s, 33% compression rate • Inverted indices • Byte-oriented Huffman • 500 KB/s • Clearly, these are designed for max compression ratio, not speed

  15. Outline • Motivation - A case for compression in CMPs • Data-specific Compression • Informing Memory Operations • Conclusions and Future Work

  16. Architectural support • Informing memory operations • Perform a software trap on L2 miss • Compress data ahead of time • Decompress line on cache miss No mechanism to compress on evict Line granularity limits compression

  17. TLB-Based Informing Memory Ops <VA> Compressor <DATA> <COMPRESSED>

  18. Outline • Motivation - A case for compression in CMPs • Data-specific Compression • Informing Memory Operations • Conclusions and Future Work

  19. Conclusions • Compression is not a long-term solution But it does have short-term advantages • Compression does provide relatively free extra capacity Why not increase your memory size for free? • Data-specific compression could increase these benefits, but… Appropriate algorithms?

More Related