A code isolator: isolating code fragments from large programs

作者: Yoon-Ju Lee , Mary Hall

DOI: 10.1007/11532378_13

关键词: Code coverageProgram animationSoftware systemCode generationCode bloatParallel computingComputer scienceStatic program analysisDead codeRedundant codeSource codeExecution timeUnreachable codeSelf-modifying codeObject codeProgram transformationDead code eliminationKPI-driven code analysisCompilerThreaded codeExecutable

摘要: In this paper, we describe a tool have developed called code isolator. We envision such will facilitate many software development activities in complex systems, but are using it to isolate segments from large scientific and engineering codes, for the purposes of performance tuning. The goal isolator is provide an executable version segment representative data that mimics full program. resulting isolated can be used tuning experiments, requiring just tiny fraction execution time when executing within analyses transformations tool, which largely automated SUIF compiler. present case study its use with LS-DYNA, widely-used application. demonstrate how derives permits cache. results comparing L1 cache misses original program generated by some manual intervention. find executed 3600 times faster than program, most preserved. identify areas where additional close remaining gap predicting preserving code.

参考文章(16)
N. Baradaran, J. Chame, Chun Chen, P. Diniz, M. Hall, Yoon-Ju Lee, Bing Liu, R. Lucas, ECO: an empirical-based compilation and optimization system international parallel and distributed processing symposium. pp. 206- ,(2003) , 10.1109/IPDPS.2003.1213377
Jeff Bilmes, Krste Asanovic, Chee-Whye Chin, Jim Demmel, Optimizing matrix multiply using PHiPAC: a portable, high-performance, ANSI C coding methodology international conference on supercomputing. pp. 253- 260 ,(1997) , 10.1145/2591635.2667174
Mary W. Hall, Saman P. Amarasinghe, Brian R. Murphy, Shih-Wei Liao, Monica S. Lam, Interprocedural parallelization analysis in SUIF ACM Transactions on Programming Languages and Systems. ,vol. 27, pp. 662- 731 ,(2005) , 10.1145/1075382.1075385
Vikram Adve, Vinh Vi Lam, Brian Ensink, Language and Compiler Support for Adaptive Distributed Applications languages compilers and tools for embedded systems. ,vol. 36, pp. 238- 246 ,(2001) , 10.1145/384196.384229
Vikram S. Adve, Rajive Bagrodia, Ewa Deelman, Thomas Phan, Rizos Sakellariou, Compiler-Supported Simulation of Highly Scalable Parallel Applications conference on high performance computing (supercomputing). pp. 1- 1 ,(1999) , 10.1145/331532.331533
Siddhartha Chatterjee, Erin Parker, Philip J. Hanlon, Alvin R. Lebeck, Exact analysis of the cache behavior of nested loops Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation - PLDI '01. ,vol. 36, pp. 286- 297 ,(2001) , 10.1145/378795.378859
Jianxin Xiong, Jeremy Johnson, Robert Johnson, David Padua, SPL Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation - PLDI '01. ,vol. 36, pp. 298- 308 ,(2001) , 10.1145/378795.378860
Mustafa Uysal, Tahsin M. Kurc, Alan Sussman, Joel Saltz, A Performance Prediction Framework for Data Intensive Applications on Large Scale Parallel Machines Lecture Notes in Computer Science. pp. 243- 258 ,(1998) , 10.1007/3-540-49530-4_18
Patrick H. Worley, Jeffrey S. Vetter, Asserting Performance Expectations conference on high performance computing (supercomputing). pp. 1- 13 ,(2002) , 10.5555/762761.762809
Michael J. Voss, Rudolf Eigemann, High-level adaptive program optimization with ADAPT Proceedings of the eighth ACM SIGPLAN symposium on Principles and practices of parallel programming - PPoPP '01. ,vol. 36, pp. 93- 102 ,(2001) , 10.1145/379539.379583