2006
DOI: 10.1007/978-3-540-69330-7_20
|View full text |Cite
|
Sign up to set email alerts
|

Loop Selection for Thread-Level Speculation

Abstract: Abstract. Thread-level speculation (TLS) allows potentially dependent threads to speculatively execute in parallel, thus making it easier for the compiler to extract parallel threads. However, the high cost associated with unbalanced load, failed speculation, and inter-thread value communication makes it difficult to obtain the desired performance unless the speculative threads are carefully chosen.In this paper, we focus on extracting parallel threads from loops in generalpurpose applications because loops, w… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
52
0

Year Published

2006
2006
2014
2014

Publication Types

Select...
4
2

Relationship

2
4

Authors

Journals

citations
Cited by 36 publications
(52 citation statements)
references
References 26 publications
0
52
0
Order By: Relevance
“…The compiler also generates synchronization instructions for frequently occurred cross-iteration data dependences. Our compiler framework and the loop selection methodology are described in detail in [14]. Table 2 shows the details of benchmarks (from SPEC2000) used to evaluate our scheme.…”
Section: Experimental Methodologymentioning
confidence: 99%
See 1 more Smart Citation
“…The compiler also generates synchronization instructions for frequently occurred cross-iteration data dependences. Our compiler framework and the loop selection methodology are described in detail in [14]. Table 2 shows the details of benchmarks (from SPEC2000) used to evaluate our scheme.…”
Section: Experimental Methodologymentioning
confidence: 99%
“…Due to this consideration, LSQ based architectures can support only small threads. But our research [14] shows that if we need to consider a more realistic overhead of forking a thread, it becomes more difficult to justify at small granularities. Hence, it is important to support larger threads.…”
Section: Introductionmentioning
confidence: 99%
“…Whaley and Kozyrakis [13] proposed three classes of heuristics for method-level speculation, and found that single-pass heuristics lead to best speedups while simple/complex multi-pass heuristics tend to over/under speculation. Wang et al [12] constructed a loop-graph and used it for global loop selection to maximize program performance. Liu et al [8] proposed an online-profiling approach to speculatively parallelize candidate loops.…”
Section: Related Workmentioning
confidence: 99%
“…To the best of our knowledge, existing loop-oriented techniques [3,10,11,13,14,15] form threads only at loop boundaries by turning loop iterations into threads. In [10,14,15], frequently occurring dependences are synchronized.…”
Section: Related Workmentioning
confidence: 99%
“…If we turn loop iterations directly into speculative threads as in existing looporiented compiler techniques [3,10,11,13,14,15], some inter-iteration dependences in the loop, which become inter-thread dependences at run time, can be too costly to enforce. Furthermore, value prediction may not be effective for irregular loops accessing arrays with…”
Section: Introductionmentioning
confidence: 99%