Enhancing locality for recursive traversals of recursive structures
Enhancing locality for recursive traversals of recursive structures
复制标题
增强递归结构的递归遍历的局部性
DOI:
10.1145/2048066.2048104
复制
发表时间:
2011
影响因子:
2.9
通讯作者:
Milind Kulkarni
中科院分区:
文献类型:
--
作者:
Youngjoon Jo;Milind Kulkarni
While there has been decades of work on developing automatic, locality-enhancing transformations for regular programs that operate over dense matrices and arrays, there has been little investigation of such transformations for irregular programs, which operate over pointer-based data structures such as graphs, trees and lists. In this paper, we argue that, for a class of irregular applications we call traversal codes, there exists substantial data reuse and hence opportunity for locality exploitation. We develop a novel optimization called point blocking, inspired by the classic tiling loop transformation, and show that it can substantially enhance temporal locality in traversal codes. We then present a transformation and optimization framework called TreeTiler that automatically detects opportunities for applying point blocking and applies the transformation. TreeTiler uses autotuning techniques to determine appropriate parameters for the transformation. For a series of traversal algorithms drawn from real-world applications, we show that TreeTiler is able to deliver performance improvements of up to 245% over an optimized (but non-transformed) parallel baseline, and in several cases, significantly better scalability.