Approximate Data Dependence Graph Generation Using Adaptive Sampling

被引:1
作者
Abbas, Mostafa M. [1 ]
El-Mahdy, Ahmed [1 ]
机构
[1] Egypt Japan Univ Sci & Tech, Dept Comp Sci & Engn, Qesm Borg Al Arab, Alexandria Gove, Egypt
来源
PROCEEDINGS OF 45TH INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING WORKSHOPS (ICPPW 2016) | 2016年
关键词
Pin; binary instrumentation; data dependence analysis; data flow analysis; profiling; program analysis;
D O I
10.1109/ICPPW.2016.54
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Identifying data dependence among loop iterations is a fundamental step in the parallelisation process. Generally, code instrumentation provides for such information at the expense of high runtime performance penalty. This paper proposes an efficient method that trades slight accuracy reduction with significant performance gain to generate an approximate dependence graph. The proposed method relies on replicating the loop under test, providing for instrumented and not instrumented code versions, and adaptively switching between them, as well as deciding on the analysis detail, depending on the stability of measured dependence distances. Moreover, the method utilises random sampling, decreasing the chances of missing dependent irregular memory accesses. An initial performance investigation of the method is conducted using the Pin binary instrumentation tools; results on selected PolyBench kernels shows up to 8.5x improvement in instrumentation time, with no missed dependencies in 14 kernels, and 45% missed dependencies in one kernel.
引用
收藏
页码:329 / 337
页数:9
相关论文
共 10 条
[1]  
[Anonymous], 2007, Computer Architecture: A Quantitative Approach
[2]  
Chen T, 2004, LECT NOTES COMPUT SC, V2985, P57
[3]   Profiling Data-Dependence to Assist Parallelization: Framework, Scope, and Optimization [J].
Ketterlin, Alain ;
Clauss, Philippe .
2012 IEEE/ACM 45TH INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO-45), 2012, :437-448
[4]  
Kim M. J., 2009, TR2009001 GEORG I TE
[5]  
Kim Minjang., 2010, INT S MICROARCHITECT, P535, DOI [10.1109/MICRO.2010.49, DOI 10.1109/MICRO.2010.49]
[6]   LLVM: A compilation framework for lifelong program analysis & transformation [J].
Lattner, C ;
Adve, V .
CGO 2004: INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2004, :75-86
[7]   An Efficient Data-Dependence Profiler for Sequential and Parallel Programs [J].
Li, Zhen ;
Jannesari, Ali ;
Wolf, Felix .
2015 IEEE 29TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS), 2015, :484-493
[8]   Pin: Building customized program analysis tools with dynamic instrumentation [J].
Luk, CK ;
Cohn, R ;
Muth, R ;
Patil, H ;
Klauser, A ;
Lowney, G ;
Wallace, S ;
Reddi, VJ ;
Hazelwood, K .
ACM SIGPLAN NOTICES, 2005, 40 (06) :190-200
[9]  
Wallace S, 2007, INT SYM CODE GENER, P209
[10]  
Yu Hongtao, 2012, P 2012 INT S SOFTW T, P23, DOI [10.1145/2338965.2336756, DOI 10.1145/2338965.2336756]