Date: 28 Mar 2002

Data Compression Transformations for Dynamically Allocated Data Structures


We introduce a class of transformations which modify the representation of dynamic data structures used in programs with the objective of compressing their sizes. We have developed the commonpre prefix and narrow-data transformations that respectively compress a 32 bit address pointer and a 32 bit integer field into 15 bit entities. A pair of fields which have been compressed by the above compression transformations are packedt ogether into a single 32 bit word. The above transformations are designed to apply to data structures that are partially compressible, that is, they compress portions of data structures to which transformations apply and provide a mechanism to handle the data that is not compressible. The accesses to compressed data are efficiently implementedb y designing data compression extensions (DCX) to the processor’s instruction set. We have observeda verage reductions in heap allocatedst orage of 25% and average reductions in execution time andp ower consumption of 30%. If DCX support is not provided the reductions in execution times fall from 30% to 12.5%.

Supported by DARPA PAC/C Award. F29601-00-1-0183 and NSF grants CCR- 0105355, CCR-0096122, EIA-9806525, andEI A-0080123 to the Univ. of Arizona.