2008
DOI: 10.1007/978-3-540-89740-8_16
|View full text |Cite
|
Sign up to set email alerts
|

Compiler-Driven Dependence Profiling to Guide Program Parallelization

Abstract: Abstract. As hardware systems move toward multicore and multithreaded architectures, programmers increasingly rely on automated tools to help with both the parallelization of legacy codes and effective exploitation of all available hardware resources. Thread-level speculation (TLS) has been proposed as a technique to parallelize the execution of serial codes or serial sections of parallel codes. One of the key aspects of TLS is task selection for speculative execution.In this paper we propose a cost model for … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
15
0

Year Published

2010
2010
2019
2019

Publication Types

Select...
5
3

Relationship

0
8

Authors

Journals

citations
Cited by 38 publications
(15 citation statements)
references
References 34 publications
0
15
0
Order By: Relevance
“…TLDS compilers speculatively parallelize code sections that do not have much data dependence. Several methods have been proposed [4,7,17,23,29], and many of them employ sampling or allow aliasing to reduce overhead. However, all of these approaches do not have to give accurate results like SD 3 since speculative hardware would solve violations in memory accesses.…”
Section: B Dependence Profiling For Speculative Parallelizationmentioning
confidence: 99%
See 1 more Smart Citation
“…TLDS compilers speculatively parallelize code sections that do not have much data dependence. Several methods have been proposed [4,7,17,23,29], and many of them employ sampling or allow aliasing to reduce overhead. However, all of these approaches do not have to give accurate results like SD 3 since speculative hardware would solve violations in memory accesses.…”
Section: B Dependence Profiling For Speculative Parallelizationmentioning
confidence: 99%
“…Data-dependence profiling has already been used in parallelization efforts like speculative multithreading [4,7,17,23,29] and finding parallelism [15,22,25,27,31]. It is also being employed in the commercial tools we mentioned.…”
Section: Introductionmentioning
confidence: 98%
“…The annotation is currently a manual process. However, this step can be made fully or semi-automatic by several techniques: (1) traditional static analyses from compilers, (2) dynamic dependence analyses [20,21,24,25,27], and (3) an extended critical path analysis [11].…”
Section: Lock_end(int Lock_id)mentioning
confidence: 99%
“…Therefore, several works have been proposed to uncover the dependencies between different regions. In [6] and [12], they introduced the dependence density metric and the conflict probability to examine specific dependencies will occur, respectively. However, these just estimate probability of expected dependencies and cannot extract precise data dependencies enough to uncover structural parallelism across whole program execution accurately.…”
Section: Introductionmentioning
confidence: 99%
“…So, we can identify these nested loops potentially have loop-parallelism. On the other hand, there are loops that depend on themselves(loop-11, 12, 13, 25) or loops that are dependent on other nodes among the group of nested loops (loop-11,12,13,14,15), (loop-26, 29).…”
mentioning
confidence: 98%