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