Title :
An Efficient Data-Dependence Profiler for Sequential and Parallel Programs
Author :
Zhen Li ; Jannesari, Ali ; Wolf, Felix
Author_Institution :
German Res. Sch. for Simulation Sci., Germany Tech. Univ. Darmstadt, Darmstadt, Germany
Abstract :
Extracting data dependences from programs serves as the foundation of many program analysis and transformation methods, including automatic parallelization, runtime scheduling, and performance tuning. To obtain data dependences, more and more related tools are adopting profiling approaches because they can track dynamically allocated memory, pointers, and array indices. However, dependence profiling suffers from high runtime and space overhead. To lower the overhead, earlier dependence profiling techniques exploit features of the specific program analyses they are designed for. As a result, every program analysis tool in need of data-dependence information requires its own customized profiler. In this paper, we present an efficient and at the same time generic data-dependence profiler that can be used as a uniform basis for different dependence-based program analyses. Its lock-free parallel design reduces the runtime overhead to around 86× on average. Moreover, signature-based memory management adjusts space requirements to practical needs. Finally, to support analyses and tuning approaches for parallel programs such as communication pattern detection, our profiler produces detailed dependence records not only for sequential but also for multi-threaded code.
Keywords :
multi-threading; processor scheduling; program diagnostics; array index tracking; automatic parallelization; data dependence extraction; data dependences; data-dependence information; dependence-based program analyses; dynamically allocated memory tracking; generic data-dependence profiler; lock-free parallel design; multithreaded code; parallel programs; performance tuning; pointer tracking; program analysis; runtime scheduling; sequential programs; transformation methods; Arrays; Benchmark testing; Instruction sets; Instruments; Memory management; Parallel processing; Runtime; data dependence; parallel programming; parallelization; profiling; program analysis;
Conference_Titel :
Parallel and Distributed Processing Symposium (IPDPS), 2015 IEEE International
Conference_Location :
Hyderabad
DOI :
10.1109/IPDPS.2015.41