DocumentCode
723694
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
fYear
2015
fDate
25-29 May 2015
Firstpage
484
Lastpage
493
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel and Distributed Processing Symposium (IPDPS), 2015 IEEE International
Conference_Location
Hyderabad
ISSN
1530-2075
Type
conf
DOI
10.1109/IPDPS.2015.41
Filename
7161536
Link To Document