• DocumentCode
    746138
  • Title

    Tiling, block data layout, and memory hierarchy performance

  • Author

    Park, Neungsoo ; Hong, Bo ; Prasanna, Viktor K.

  • Author_Institution
    Samsung Electron. Co, Seoul, South Korea
  • Volume
    14
  • Issue
    7
  • fYear
    2003
  • fDate
    7/1/2003 12:00:00 AM
  • Firstpage
    640
  • Lastpage
    654
  • Abstract
    Recently, several experimental studies have been conducted on block data layout in conjunction with tiling as a data transformation technique to improve cache performance. In this paper, we analyze cache and translation look-aside buffer (TLB) performance of such alternate layouts (including block data layout and Morton layout) when used in conjunction with tiling. We derive a tight lower bound on TLB performance for standard matrix access patterns, and show that block data layout and Morton layout achieve this bound. To improve cache performance, block data layout is used in concert with tiling. Based on the cache and TLB performance analysis, we propose a data block size selection algorithm that finds a tight range for optimal block size. To validate our analysis, we conducted simulations and experiments using tiled matrix multiplication, LU decomposition, and Cholesky factorization. For matrix multiplication, simulation results using UltraSparc II parameters show that tiling and block data layout with a block size given by our block size selection algorithm, reduces up to 93 percent of TLB misses compared with other techniques. The total miss cost is reduced considerably. Experiments on several platforms show that tiling with block data layout achieves up to 50 percent performance improvement over other techniques that use conventional layouts. Morton layout is also analyzed and compared with block data layout. Experimental results show that matrix multiplication using block data layout is up to 15 percent faster than that using Morton data layout.
  • Keywords
    cache storage; matrix multiplication; optimisation; performance evaluation; storage management; Morton data layout; block data layout; cache memory; cache misses; lower bound; matrix multiplication; multilevel memory hierarchy; optimization; tiling; translation look-aside buffer; Analytical models; Costs; Degradation; Delay; Hardware; Helium; Matrix decomposition; Performance analysis; Programming profession; Streaming media;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/TPDS.2003.1214317
  • Filename
    1214317