Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Kevin M. Woley

dblp:10/3157 · DBLP profile ↗
← Back
3ranked-venue papers
0as first author
0since 2021 · last 2008
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 3

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
3 papers
Processor architecture and microarchitecture · 87% Parallel and multicore computing · 13%
Software engineering, system software, and programming languages
1 paper
Concurrent programming · 100%

Topics — the 9 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture › branch prediction
branch misprediction
0.112008
Branch-mispredict level parallelism (BLP) for control independence · HPCA 2008
Processor architecture and microarchitecture › instruction-level parallelism
control independence
0.112008
Branch-mispredict level parallelism (BLP) for control independence · HPCA 2008
Processor architecture and microarchitecture
instruction-level parallelism
0.112008
Branch-mispredict level parallelism (BLP) for control independence · HPCA 2008
Concurrent programming
speculative execution
0.112007
Exploiting Postdominance for Speculative Parallelization · HPCA 2007
Parallel and multicore computing
speculative parallelization
0.112007
Exploiting Postdominance for Speculative Parallelization · HPCA 2007
Processor architecture and microarchitecture
load/store queue
0.112005
Address-Indexed Memory Disambiguation and Store-to-Load Forwarding · MICRO 2005
Processor architecture and microarchitecture › out-of-order execution
memory disambiguation
0.112005
Address-Indexed Memory Disambiguation and Store-to-Load Forwarding · MICRO 2005
Processor architecture and microarchitecture › memory system microarchitecture
store-load forwarding
0.112005
Address-Indexed Memory Disambiguation and Store-to-Load Forwarding · MICRO 2005
Processor architecture and microarchitecture
speculative execution
0.022008
Branch-mispredict level parallelism (BLP) for control independence · HPCA 2008
Address-Indexed Memory Disambiguation and Store-to-Load Forwarding · MICRO 2005

Methods — techniques the papers use, named apart from their topics

immediate postdominance · 0.1dynamic reconvergence prediction · 0.1simulation · 0.1circuit complexity analysis · 0.1
YearPublicationVenuePosition
2008 Branch-mispredict level parallelism (BLP) for control independence
abstract
A microprocessorpsilas performance is fundamentally limited by the rate at which it can resolve branch mispredictions. Control independence (CI) architectures look for useful control and data independent instructions to fetch and execute in the shadow of a branch misprediction. This paper demonstrates that CI architectures can be guided to exploit substantial branch-mispredict level parallelism (BLP) in existing control intensive applications. A program has branch-mispredict level parallelism when its dynamic execution trace contains hard-to-predict branches that are both control and data independent, and thus could, potentially, be resolved in parallel. Although applications have a high degree of inherent BLP, we find that the amount of BLP exploited by naive CI architectures tends to be quite small. We show that spawn selection and data dependence handling policies in a CI architecture should make choices that explicitly aim to maximize branch-mispredict level parallelism. We demonstrate that with BLP-focussed policies, CI architectures can expose high amounts of branch-mispredict level parallelism and achieve 50% to 90% improvements in IPC on several of the SPEC 2000 Integer benchmarks.
Kshitiz Malik, Mayank Agarwal, Sam S. Stone, Kevin M. Woley, Matthew I. Frank
HPCA4
2007 Exploiting Postdominance for Speculative Parallelization
abstract
Task-selection policies are critical to the performance of any architecture that uses speculation to extract parallel tasks from a sequential thread. This paper demonstrates that the immediate postdominators of conditional branches provide a larger set of parallel tasks than existing task-selection heuristics, which are limited to programming language constructs (such as loops or procedure calls). Our evaluation shows that postdominance-based task selection achieves, on average, more than double the speedup of the best individual heuristic, and 33% more speedup than the best combination of heuristics. The specific contributions of this paper include, first, a description of task selection based on immediate post-dominance for a system that speculatively creates tasks. Second, our experimental evaluation demonstrates that existing task-selection heuristics based on loops, procedure calls, and if-else statements are all subsumed by compiler-generated immediate postdominators. Finally, by demonstrating that dynamic reconvergence prediction closely approximates immediate postdominator analysis, we show that the notion of immediate postdominators may also be useful in constructing dynamic task selection mechanisms
Mayank Agarwal, Kshitiz Malik, Kevin M. Woley, Sam S. Stone, Matthew I. Frank
HPCA3
2005 Address-Indexed Memory Disambiguation and Store-to-Load Forwarding
abstract
This paper describes a scalable, low-complexity alternative to the conventional load/store queue (LSQ) for superscalar processors that execute load and store instructions speculatively and out-of-order prior to resolving their dependences. Whereas the LSQ requires associative and age-prioritized searches for each access, we propose that an address-indexed store-forwarding cache (SFC) perform store-to-load forwarding and that an address-indexed memory disambiguation table (MDT) perform memory disambiguation. Neither structure includes a CAM. The SFC behaves as a small cache, accessed speculatively and out-of-order by both loads and stores. Because the SFC does not rename in-flight stores to the same address, violations of memory anti and output dependences can cause in-flight loads to obtain incorrect values from the SFC. Therefore, the MDT uses sequence numbers to detect and recover from true, anti, and output memory dependence violations. We observe empirically that loads and stores that violate anti and output memory dependences are rarely on a program's critical path and that the additional cost of enforcing predicted anti and output dependences among these loads and stores is minimal. In conjunction with a scheduler that enforces predicted anti and output dependences, the MDT and SFC yield performance equivalent to that of a large LSQ that has similar or greater circuit complexity. The SFC and MDT are scalable structures that yield high performance and lower dynamic power consumption than the LSQ, and they are well-suited for checkpointed processors with large instruction windows
Sam S. Stone, Kevin M. Woley, Matthew I. Frank
MICRO2