Intermediately executed code is the key to find refactorings that improve temporal data locality
Author(s) -
Kristof Beyls,
Erik D’Hollander
Publication year - 2006
Publication title -
ghent university academic bibliography (ghent university)
Language(s) - English
Resource type - Conference proceedings
ISBN - 1-59593-302-6
DOI - 10.1145/1128022.1128071
Subject(s) - computer science , locality , cache , locality of reference , parallel computing , code (set theory) , speedup , cache algorithms , key (lock) , reuse , source code , operating system , cpu cache , programming language , philosophy , linguistics , set (abstract data type) , ecology , biology
The growing speed gap between memory and processor makes an efficient use of the cache ever more important to reach high performance. One of the most important ways to improve cache behavior is to increase the data locality. While many cache analysis tools have been developed, most of them only indicate the locations in the code where cache misses occur. Often, optimizing the program, even after pinpointing the cache bottlenecks in the source code, remains hard with these tools.In this paper, we present two related tools that not only pinpoint the locations of cache misses, but also suggest source code refactorings which improve temporal locality and thereby eliminate the majority of the cache misses. In both tools, the key to find the appropriate refactorings is an analysis of the code executed between a data use and the next use of the same data, which we call the Intermediately Executed Code (IEC). The first tool, the Reuse Distance VISualizer (RDVIS), performs a clustering on the IECs, which reduces the amount of work to find required refactorings. The second tool, SLO (short for "Suggestions for Locality Optimizations"), suggests a number of refactorings by analyzing the call graph and loop structure of the IEC. Using these tools, we have pinpointed the most important optimizations for a number of SPEC2000 programs, resulting in an average speedup of 2.3 on a number of different platforms.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom