VMAD: an advanced dynamic program analysis and instrumentation framework

作者: Alexandra Jimborean , Luis Mastrangelo , Vincent Loechner , Philippe Clauss

DOI: 10.1007/978-3-642-28652-0_12

关键词:

摘要: VMAD (Virtual Machine for Advanced Dynamic analysis) is a platform advanced profiling and analysis of programs, consisting in static component runtime system. The system organized as set decoupled modules, dedicated to specific instrumenting or optimizing operations, dynamically loaded when required. The program binary files handled by are previously processed at compile time include all necessary data, instrumentation instructions callbacks the system. For this purpose, LLVM compiler has been extended automatically generate multiple versions code, each them tailored targeted optimization strategies. chooses most suitable intermediate representation version, depending on information be acquired optimizations applied. control flow graph adapted new transfer from system, which charge execution orchestration. The strength our resides its extensibility, one can add support various strategies, independently existing modules. VMAD's potential illustrated presenting several applications loop nests: sampling, dynamic dependence analysis, adaptive version selection.

参考文章(28)
Grigori Fursin, Jörn Rennecke, Chengyong Wu, Yuanjie Huang, Liang Peng, Yuriy Kashnikov, Transforming GCC into a research-friendly environment: plugins for optimization tuning and reordering, function cloning and program instrumentation 2nd International Workshop on GCC Research Opportunities (GROW'10). ,(2010)
Clara Jaramillo, Rajiv Gupta, Mary Lou Soffa, FULLDOC: A Full Reporting Debugger for Optimized Code static analysis symposium. pp. 240- 259 ,(2000) , 10.1007/978-3-540-45099-3_13
Vishal Aslot, Max Domeika, Rudolf Eigenmann, Greg Gaertner, Wesley B. Jones, Bodo Parady, SPEComp: A New Benchmark Suite for Measuring Parallel Computer Performance international workshop on openmp. pp. 1- 10 ,(2001) , 10.1007/3-540-44587-0_1
Nathan Thomas, Gabriel Tanase, Olga Tkachyshyn, Jack Perdue, Nancy M Amato, Lawrence Rauchwerger, None, A framework for adaptive algorithm selection in STAPL Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming - PPoPP '05. pp. 277- 288 ,(2005) , 10.1145/1065944.1065981
Jason Ansel, Cy Chan, Yee Lok Wong, Marek Olszewski, Qin Zhao, Alan Edelman, Saman Amarasinghe, PetaBricks Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation - PLDI '09. ,vol. 44, pp. 38- 49 ,(2009) , 10.1145/1542476.1542481
J.R. Larus, Loop-level parallelism in numeric and symbolic programs IEEE Transactions on Parallel and Distributed Systems. ,vol. 4, pp. 812- 826 ,(1993) , 10.1109/71.238302
Gary Brooks, Gilbert J. Hansen, Steve Simmons, A new approach to debugging optimized code programming language design and implementation. ,vol. 27, pp. 1- 11 ,(1992) , 10.1145/143095.143108
Uday Bondhugula, Albert Hartono, J. Ramanujam, P. Sadayappan, A practical automatic polyhedral parallelizer and locality optimizer Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation - PLDI '08. ,vol. 43, pp. 101- 113 ,(2008) , 10.1145/1375581.1375595