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

Katherine E. Coons

dblp:67/2338 · DBLP profile ↗
← Back
9ranked-venue papers
4as first author
0since 2021 · last 2013
—ORCID · none

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

Systems, architecture and hardware · 5 · 3 first-authorSoftware engineering, systems software and programming languages · 5 · 2 first-authorArtificial intelligence and machine learning · 1Graphics, computer vision, multimedia, augmented reality and games · 1

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.

Software engineering, system software, and programming languages
5 papers
Program verification · 32% Concurrent programming · 31% Program analysis · 17%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
Processor architecture and microarchitecture · 74% Parallel and multicore computing · 14% Interconnection networks and networks-on-chip · 8%

Topics — the 16 heaviest of 18, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Concurrent programming
concurrency bugs
0.432013
Bounded partial-order reduction · OOPSLA 2013
GAMBIT: effective unit testing for concurrency libraries · PPoPP 2010
PACER: proportional detection of data races · PLDI 2010
Program analysis
dynamic analysis
0.322013
Bounded partial-order reduction · OOPSLA 2013
PACER: proportional detection of data races · PLDI 2010
Program verification › model checking
bounded model checking
0.212013
Bounded partial-order reduction · OOPSLA 2013
Program verification › model checking
partial order reduction
0.212013
Bounded partial-order reduction · OOPSLA 2013
Program verification › model checking
state space explosion
0.212013
Bounded partial-order reduction · OOPSLA 2013
Concurrent programming › concurrency bug detection
data race detection
0.112010
PACER: proportional detection of data races · PLDI 2010
Software testing
unit testing
0.112010
GAMBIT: effective unit testing for concurrency libraries · PPoPP 2010
Processor architecture and microarchitecture
atomic block execution
0.112009
An evaluation of the TRIPS computer system · ASPLOS 2009
Processor architecture and microarchitecture
dataflow architecture
0.112009
An evaluation of the TRIPS computer system · ASPLOS 2009
Processor architecture and microarchitecture
instruction set architecture
0.112009
An evaluation of the TRIPS computer system · ASPLOS 2009
Parallel and multicore computing › parallel scheduling
runtime scheduling
0.112008
Strategies for mapping dataflow blocks to distributed hardware · MICRO 2008
Compilers and program optimization
instruction scheduling
0.112006
A spatial path scheduling algorithm for EDGE architectures · ASPLOS 2006
Software testing
fuzzing
0.012010
GAMBIT: effective unit testing for concurrency libraries · PPoPP 2010
Performance modeling and evaluation › system-level analysis › architecture evaluation
processor performance evaluation
0.012009
An evaluation of the TRIPS computer system · ASPLOS 2009
Interconnection networks and networks-on-chip › interprocessor communication
operand transport network
0.012008
Strategies for mapping dataflow blocks to distributed hardware · MICRO 2008
Interconnection networks and networks-on-chip
on-chip communication
0.012006
A spatial path scheduling algorithm for EDGE architectures · ASPLOS 2006

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

preemption bounding · 0.2dynamic partial order reduction · 0.2simulated annealing · 0.1stress testing · 0.1schedule enumeration · 0.1sampling · 0.1proportional detection · 0.1genetic algorithm · 0.1classification · 0.1cycle-count benchmarking · 0.1fixed mapping strategies · 0.1adaptive mapping strategies · 0.1
YearPublicationVenuePosition
2013 Bounded partial-order reduction
abstract
Eliminating concurrency errors is increasingly important as systems rely more on parallelism for performance. Exhaustively exploring the state-space of a program's thread interleavings finds concurrency errors and provides coverage guarantees, but suffers from exponential state-space explosion. Two prior approaches alleviate state-space explosion. (1) Dynamic partial-order reduction (DPOR) provides full coverage and explores only one interleaving of independent transitions. (2) Bounded search provides bounded coverage by enumerating interleavings that do not exceed a bound. In particular, we focus on preemption-bounding. Combining partial-order reduction with preemption-bounding had remained an open problem.
Katherine E. Coons, Madan Musuvathi, Kathryn S. McKinley
OOPSLA1
2010 Evolving Compiler Heuristics to Manage Communication and Contention
abstract
As computer architectures become increasingly complex, hand-tuning compiler heuristics becomes increasingly tedious and time consuming for compiler developers. This paper presents a case study that uses a genetic algorithm to learn a compiler policy. The target policy implicitly balances communication and contention among processing elements of the TRIPS processor, a physically realized prototype chip. We learn specialized policies for individual programs as well as general policies that work well across all programs. We also employ a two-stage method that first classifies the code being compiled based on salient characteristics, and then chooses a specialized policy based on that classification.This work is particularly interesting for the AI community because it 1) emphasizes the need for increased collaboration between AI researchers and researchers from other branches of computer science and 2) discusses a machine learning setup where training on the custom hardware requires weeks of training, rather than the more typical minutes or hours.
Matthew E. Taylor, Katherine E. Coons, Behnam Robatmili, Bertrand A. Maher, Doug Burger, Kathryn S. McKinley
AAAI2
2010 PACER: proportional detection of data races
abstract
Data races indicate serious concurrency bugs such as order, atomicity, and sequential consistency violations. Races are difficult to find and fix, often manifesting only after deployment. The frequency and unpredictability of these bugs will only increase as software adds parallelism to exploit multicore hardware. Unfortunately, sound and precise race detectors slow programs by factors of eight or more and do not scale to large numbers of threads.
Michael D. Bond, Katherine E. Coons, Kathryn S. McKinley
PLDI2
2010 GAMBIT: effective unit testing for concurrency libraries
abstract
As concurrent programming becomes prevalent, software providers are investing in concurrency libraries to improve programmer productivity. Concurrency libraries improve productivity by hiding error-prone, low-level synchronization from programmers and providing higher-level concurrent abstractions. Testing such libraries is difficult, however, because concurrency failures often manifest only under particular scheduling circumstances. Current best testing practices are often inadequate: heuristic-guided fuzzing is not systematic, systematic schedule enumeration does not find bugs quickly, and stress testing is neither systematic nor fast.
Katherine E. Coons, Sebastian Burckhardt, Madan Musuvathi
PPoPP1
2010 Preemption Sealing for Efficient Concurrency Testing
Thomas Ball 0001, Sebastian Burckhardt, Katherine E. Coons, Madan Musuvathi, Shaz Qadeer
TACAS3
2009 An evaluation of the TRIPS computer system
abstract
The TRIPS system employs a new instruction set architecture (ISA) called Explicit Data Graph Execution (EDGE) that renegotiates the boundary between hardware and software to expose and exploit concurrency. EDGE ISAs use a block-atomic execution model in which blocks are composed of dataflow instructions. The goal of the TRIPS design is to mine concurrency for high performance while tolerating emerging technology scaling challenges, such as increasing wire delays and power consumption. This paper evaluates how well TRIPS meets this goal through a detailed ISA and performance analysis. We compare performance, using cycles counts, to commercial processors. On SPEC CPU2000, the Intel Core 2 outperforms compiled TRIPS code in most cases, although TRIPS matches a Pentium 4. On simple benchmarks, compiled TRIPS code outperforms the Core 2 by 10% and hand-optimized TRIPS code outperforms it by factor of 3. Compared to conventional ISAs, the block-atomic model provides a larger instruction window, increases concurrency at a cost of more instructions executed, and replaces register and memory accesses with more efficient direct instruction-to-instruction communication. Our analysis suggests ISA, microarchitecture, and compiler enhancements for addressing weaknesses in TRIPS and indicates that EDGE architectures have the potential to exploit greater concurrency in future technologies.
Mark Gebhart, Bertrand A. Maher, Katherine E. Coons, Jeffrey R. Diamond, Paul Gratz, Mario Marino, Nitya Ranganathan, Behnam Robatmili, Aaron Smith, James H. Burrill, Stephen W. Keckler, Doug Burger, Kathryn S. McKinley
ASPLOS3
2008 Feature selection and policy optimization for distributed instruction placement using reinforcement learning
abstract
Communication overheads are one of the fundamental challenges in a multiprocessor system. As the number of processors on a chip increases, communication overheads and the distribution of computation and data become increasingly important performance factors. Explicit Dataflow Graph Execution (EDGE) processors, in which instructions communicate with one another directly on a distributed substrate, give the compiler control over communication overheads at a fine granularity. Prior work shows that compilers can effectively reduce fine-grained communication overheads in EDGE architectures using a spatial instruction placement algorithm with a heuristic-based cost function. While this algorithm is effective, the cost function must be painstakingly tuned. Heuristics tuned to perform well across a variety of applications leave users with little ability to tune performance-critical applications, yet we find that the best placement heuristics vary significantly with the application.
Katherine E. Coons, Behnam Robatmili, Matthew E. Taylor, Bertrand A. Maher, Doug Burger, Kathryn S. McKinley
PACT1
2008 Strategies for mapping dataflow blocks to distributed hardware
abstract
Distributed processors must balance communication and concurrency. When dividing instructions among the processors, key factors are the available concurrency, criticality of dependence chains, and communication penalties. The amount of concurrency determines the importance of the other factors: if concurrency is high, wider distribution of instructions is likely to tolerate the increased operand routing latencies. If concurrency is low, mapping dependent instructions close to one another is likely to reduce communication costs that contribute to the critical path. This paper explores these tradeoffs for distributed Explicit Dataflow Graph Execution (EDGE) architectures that execute blocks of dataflow instructions atomically. A runtime block mapper assigns instructions from a single thread to distributed hardware resources (cores) based on compiler-assigned instruction identifiers. We explore two approaches: fixed strategies that map all blocks to the same number of cores, and adaptive strategies that vary the number of cores for each block. The results show that best fixed strategy varies, based on the corespsila issue width. A simple adaptive strategy improves performance over the best fixed strategies for single and dual-issue cores, but its benefits decrease as the corespsila issue width increases. These results show that by choosing an appropriate runtime block mapping strategy, average performance can be increased by 18%, while simultaneously reducing average operand communication by 70%, saving energy as well as improving performance. These results indicate that runtime block mapping is a promising mechanism for balancing communication and concurrency in distributed processors.
Behnam Robatmili, Katherine E. Coons, Doug Burger, Kathryn S. McKinley
MICRO2
2006 A spatial path scheduling algorithm for EDGE architectures
abstract
Growing on-chip wire delays are motivating architectural features that expose on-chip communication to the compiler. EDGE architectures are one example of communication-exposed microarchitectures in which the compiler forms dataflow graphs that specify how the microarchitecture maps instructions onto a distributed execution substrate. This paper describes a compiler scheduling algorithm called spatial path scheduling that factors in previously fixed locations - called anchor points - for each placement. This algorithm extends easily to different spatial topologies. We augment this basic algorithm with three heuristics: (1) local and global ALU and network link contention modeling, (2) global critical path estimates, and (3) dependence chain path reservation. We use simulated annealing to explore possible performance improvements and to motivate the augmented heuristics and their weighting functions. We show that the spatial path scheduling algorithm augmented with these three heuristics achieves a 21% average performance improvement over the best prior algorithm and comes within an average of 5% of the annealed performance for our benchmarks.
Katherine E. Coons, Doug Burger, Kathryn S. McKinley, Sundeep K. Kushwaha
ASPLOS1