DocumentCode :
3706563
Title :
Region-Based May-Happen-in-Parallel Analysis for C Programs
Author :
Peng Di;Yulei Sui;Ding Ye;Jingling Xue
Author_Institution :
Sch. of Comput. Sci. &
fYear :
2015
Firstpage :
889
Lastpage :
898
Abstract :
The C programming language continues to play an essential role in the development of system software. May-Happen-in-Parallel (MHP) analysis is the basis of many other analyses and optimisations for concurrent programs. Existing MHP analyses that work well for programming languages such as X10 are often not effective for C (with Pthreads). This paper presents a new MHP algorithm for C that operates at the granularity of code regions rather than individual statements in a program. A flow-sensitive Happens-Before (HB) analysis is performed to account for fork-join semantics of pthreads on an interprocedural thread-sensitive control flow graph representation of a program, enabling the HB relations among its statements to be discovered. All the statements that share the same HB properties are then grouped into one region. As a result, computing the MHP information for all pairs of statements in a program is reduced to one of inferring the HB relations from among its regions. We have implemented our algorithm in LLVM-3.5.0 and evaluated it using 14 programs from the SPLASH2 and PARSEC benchmark suites. Our preliminary results show that our approach is more precise than two existing MHP analyses yet computationally comparable with the fastest MHP analysis.
Keywords :
"Instruction sets","Algorithm design and analysis","Runtime","Parallel processing","Programming","Semantics","Benchmark testing"
Publisher :
ieee
Conference_Titel :
Parallel Processing (ICPP), 2015 44th International Conference on
ISSN :
0190-3918
Type :
conf
DOI :
10.1109/ICPP.2015.98
Filename :
7349644
Link To Document :
بازگشت