Reuse Distance Analysis for Locality Optimization in Loop-Dominated Applications
Christakis Lezosa, Grigoris Dimitroulakosb and Konstantinos Masselosc
University of Peloponnese, Department of Informatics and Telecommunications, Terma Karaiskaki, Tripoli, Greece.
This paper discusses MemAddIn, a compiler assisted dynamic code analysis tool that analyzes C code and exposes critical parts for memory related optimizations on embedded systems that can heavily affect systems performance, power and cost. The tool includes enhanced features for data reuse distance analysis and source code transformation recommendations for temporal locality optimization. Several of data reuse distance measurement algorithms have been implemented leading to different trade-offs between accuracy and profiling execution time. The proposed tool can be easily and seamlessly integrated into different software development environments offering a unified environment for application development and optimization. The novelties of our work over a similar optimization tool are also discussed. MemAddIn has been applied for the dynamic computation of data reuse distance for a number of different applications. Experimental results prove the effectiveness of the tool through the analysis and optimization of a realistic image processing application.
Keywords: Data reuse distance analysis, Locality optimization, Memory hierarchy optimization.
Full Text (PDF)