• DocumentCode
    1416349
  • Title

    Making pointer-based data structures cache conscious

  • Author

    Chilimbi, Trishul M. ; Hill, Mark D. ; Larus, James R.

  • Volume
    33
  • Issue
    12
  • fYear
    2000
  • fDate
    12/1/2000 12:00:00 AM
  • Firstpage
    67
  • Lastpage
    74
  • Abstract
    To narrow the widening gap between processor and memory performance, the authors propose improving the cache locality of pointer-manipulating programs and bolstering performance by careful placement of structure elements. It is concluded that considering past trends and future technology, it seems clear that the processor-memory performance gap will continue to increase and software will continue to grow larger and more complex. Although cache-conscious algorithms and data structures are the first and perhaps best place to attack this performance problem, the complexity of software design and an increasing tendency to build large software systems by assembling smaller components does not favor a focused, integrated approach. We propose another, more incremental approach of cache-conscious data layout, which uses techniques such as clustering, coloring, and compression to enhance data locality by placing structure elements more carefully in the cache.
  • Keywords
    cache storage; data structures; program control structures; programming; storage allocation; cache conscious data structures; cache locality; cache-conscious algorithms; cache-conscious data layout; data locality; data structures; incremental approach; integrated approach; large software systems; memory performance; performance problem; pointer based data structures; pointer-manipulating programs; processor-memory performance gap; software design; structure elements; Arithmetic; Costs; Data structures; Delay; Hardware; Multithreading; Prefetching; Programming profession; Random access memory; Scheduling;
  • fLanguage
    English
  • Journal_Title
    Computer
  • Publisher
    ieee
  • ISSN
    0018-9162
  • Type

    jour

  • DOI
    10.1109/2.889095
  • Filename
    889095