Abstract.
We introduce a software/hardware scheme called the Field Array Compression Technique (FACT) which reduces cache misses caused by recursive data structures. Using a data layout transformation, data with temporal affinity are gathered in contiguous memory, where recursive pointer and integer fields are compressed. As a result, one cache-block can capture a greater amount of data with temporal affinity, especially pointers, thereby improving the prefetching effect. In addition, the compression enlarges the effective cache capacity. On a suite of pointer-intensive programs, FACT achieves a 41.6% average reduction in memory stall time and a 37.4% average increase in speed.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bonwick, J.: The slab allocator: An object-caching kernel memory allocator. In: Proc. USENIX Conference, (June 1994), pp. 87–98 (1994)
Barret, D.A., Zorn, B.G.: Using lifetime prediction to improve memory allocation performance. Proc. PLDI 28(6), 187–196 (1993)
Truong, D.N., Bodin, F., Seznec, A.: Improving cache behavior of dynamically allocated data structures. In: Proc. PACT, October 1998, pp. 322–329 (1998)
Rogers, A., et al.: Supporting dynamic data structures on distributed memory machines. ACM TOPLAS 17(2), 233–263 (1995)
Compaq Computer Corp. Alpha 21264 Microprocessor Hardware Reference Manual (July 1999)
Chilimbi, T.M., et al.: Cache-conscious structure layout. In: Proc. PLDI (1999)
Luk, C.-K., Mowry, T.C.: Compiler based prefetching for recursive data structures. In: Proc. ASPLOS, (October 1996), pp. 222–233 (1996)
Roth, A., Moshovos, A., Sohi, G.S.: Dependence based prefetching for linked data structures. In: Proc. ASPLOS, (October 1998), pp. 115–126 (1998)
Lee, J., et al.: An on-chip cache compression technique to reduce decompression overhead and design complexity. Journal of Systems Architecture 46, 1365–1382 (2000)
Zhang, Y., Yang, J., Gupta, R.: Frequent value locality and value-centric data cache design. In: Proc. ASPLOS, (November 2000), pp.150–159 (2000)
Yang, J., Zhang, Y., Gupta, R.: Frequent value compression in data caches. Proc. MICRO, 258–265 (December 2000)
Larin, S.Y.: Exploiting program redundancy to improve performance, cost and power consumption in embedded systems. Ph.D. Thesis, ECE Dept., North Carolina State Univ. (2000)
Zhang, Y., et al.: Data compression transformations for dynamically allocated data structures. In: Horspool, R.N. (ed.) CC 2002. LNCS, vol. 2304, pp. 14–28. Springer, Heidelberg (2002)
Brooks, D., et al.: Dynamically exploiting narrow width operands to improve processor power and performance. In: Proc. HPCA, (January 1999), pp.13–22 (1999)
Rabbah, R.M., Palem, K.V.: Data remapping for design space optimization of embedded memory systems. ACM TECS 2(2), 186–218 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Takagi, M., Hiraki, K. (2003). Field Array Compression in Data Caches for Dynamically Allocated Recursive Data Structures. In: Veidenbaum, A., Joe, K., Amano, H., Aiso, H. (eds) High Performance Computing. ISHPC 2003. Lecture Notes in Computer Science, vol 2858. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39707-6_10
Download citation
DOI: https://doi.org/10.1007/978-3-540-39707-6_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20359-9
Online ISBN: 978-3-540-39707-6
eBook Packages: Springer Book Archive