Transparent pointer compression for linked data structures

Chris Lattner, Vikram S. Adve

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

64-bit address spaces are increasingly important for modern applications, but they come at a price: pointers use twice as much memory, reducing the effective cache capacity and memory bandwidth of the system (compared to 32-bit ad- dress spaces). This paper presents a sophisticated, automatic transformation that shrinks pointers from 64-bits to 32-bits. The approach is "macroscopic," i.e., it operates on an entire logical data structure in the program at a time. It allows an individual data structure instance or even a subset thereof to grow up to 232 bytes in size, and can compress pointers to some data structures but not others. Together, these properties allow efficient usage of a large (64-bit) ad- dress space. We also describe (but have not implemented) a dynamic version of the technique that can transparently expand the pointers in an individual data structure if it exceeds the 4GB limit. For a collection of pointer-intensive benchmarks, we show that the transformation reduces peak heap sizes substantially by (20% to 2x) for several of these benchmarks, and improves overall performance significantly in some cases.

Original languageEnglish (US)
Title of host publicationProceedings of the 3rd 2005 ACM SIGPLAN Workshop on Memory Systems Performance, MSP 2005
PublisherAssociation for Computing Machinery
Pages24-35
Number of pages12
ISBN (Electronic)1595931473, 9781595931474
DOIs
StatePublished - Jun 12 2005
Event3rd ACM SIGPLAN Workshop on Memory Systems Performance, MSP 2005 - Chicago, United States
Duration: Jun 12 2005 → …

Publication series

NameProceedings of the 3rd 2005 ACM SIGPLAN Workshop on Memory Systems Performance, MSP 2005

Other

Other3rd ACM SIGPLAN Workshop on Memory Systems Performance, MSP 2005
Country/TerritoryUnited States
CityChicago
Period6/12/05 → …

Keywords

  • Cache
  • Data layout
  • Pointer compression
  • Recursive data structure
  • Static analysis

ASJC Scopus subject areas

  • Hardware and Architecture
  • Computer Science Applications
  • Software

Fingerprint

Dive into the research topics of 'Transparent pointer compression for linked data structures'. Together they form a unique fingerprint.

Cite this