Data-Flow/Dependence Profiling for Structured Transformations
Profiling feedback is an important technique used by developers for performance debugging, where it is usually used to pinpoint performance bottlenecks and also to find optimization opportunities. Assessing the validity and potential benefit of a program transformation requires accurate knowledge of the data flow and data dependencies, which can be uncovered by profiling a particular execution of the program.
In this work we develop Mickey, an end-to-end infrastructure for dynamic binary analysis, which produces feedback about the potential to apply structured transformations to uncover non-trivial parallelism and data locality via complex program re-scheduling. Our tool can handle both inter- and intra-procedural aspects of the program in a unified way, thus enabling inter-procedural structured transformations. It is based on QEMU and uses dynamic binary translation to instrument arbitrary programs at runtime. The design of this tool was driven by the goal of achieving portability, both in terms of targeted CPU architectures, but also in terms of programming environment and the use of third-party libraries for which no source code is available.
Tue 19 Feb
|09:35 - 10:00|
Xiaokang HuShanghai Jiao Tong University, Changzheng WeiIntel Asia-Pacific Research and Development Ltd., Li Jian, Brian WillIntel Corporation, Ping YuIntel Asia-Pacific Research and Development Ltd., Lu GongIntel Asia-Pacific Research and Development Ltd., Haibing GuanShanghai Jiao Tong UniversityDOI
|10:00 - 10:25|
Fabian GruberUniversité Grenoble Alpes / INRIA Grenoble Rhônes-Alpes, Manuel SelvaUniversité Grenoble Alpes, Diogo SampaioInria, Christophe GuillonSTMicroelectronics, Antoine MoynaultSTMicroelectronics, Louis-Noel PouchetColorado State University, Fabrice RastelloINRIADOI