VLDB 2026 Research / reviewers in the wild / expert
Henry Cook
dblp:53/4687 · also Henry M. Cook
· DBLP profile ↗
9ranked-venue papers
2as first author
0since 2021 · last 2015
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 8 · 2 first-authorSoftware engineering, systems software and programming languages · 2 · 1 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.
| Computer architecture, parallel and distributed computing, and storage systems
6 papers |
Memory systems · 20% Performance modeling and evaluation · 17% Parallel and multicore computing · 15% | |
| Software engineering, system software, and programming languages
2 papers |
Compilers and program optimization · 74% Operating systems · 26% |
Topics — the 17 heaviest of 19, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Memory systems
cache |
0.2 | 1 | 2013 | A hardware evaluation of cache partitioning to improve utilization and energy-efficiency while preserving responsiveness · ISCA 2013 |
Memory systems › cache management
cache partitioning |
0.2 | 1 | 2013 | A hardware evaluation of cache partitioning to improve utilization and energy-efficiency while preserving responsiveness · ISCA 2013 |
Compilers and program optimization
domain-specific compilation |
0.1 | 1 | 2012 | Portable parallel performance from sequential, productive, embedded domain-specific languages · PPoPP 2012 |
Parallel and multicore computing › programming models
embedded domain-specific language |
0.1 | 1 | 2012 | Portable parallel performance from sequential, productive, embedded domain-specific languages · PPoPP 2012 |
Parallel and multicore computing
parallel programming models |
0.1 | 1 | 2012 | Portable parallel performance from sequential, productive, embedded domain-specific languages · PPoPP 2012 |
GPUs and heterogeneous computing › GPU programming
GPU programming models |
0.1 | 1 | 2011 | CudaDMA: optimizing GPU memory bandwidth via warp specialization · SC 2011 |
GPUs and heterogeneous computing › GPU kernel optimization
warp specialization |
0.1 | 1 | 2011 | CudaDMA: optimizing GPU memory bandwidth via warp specialization · SC 2011 |
Performance modeling and evaluation › simulation
architectural simulation |
0.1 | 1 | 2010 | RAMP gold: an FPGA-based architecture simulator for multiprocessors · DAC 2010 |
Reconfigurable computing and FPGAs
FPGA-accelerated simulation |
0.1 | 1 | 2010 | A case for FAME: FPGA architecture model execution · ISCA 2010 |
Processor architecture and microarchitecture
multicore design |
0.1 | 1 | 2010 | RAMP gold: an FPGA-based architecture simulator for multiprocessors · DAC 2010 |
Performance modeling and evaluation › simulation › processor simulation
multicore simulation |
0.1 | 1 | 2010 | A case for FAME: FPGA architecture model execution · ISCA 2010 |
Performance modeling and evaluation
simulation |
0.1 | 1 | 2010 | A case for FAME: FPGA architecture model execution · ISCA 2010 |
Electronic design automation
design space exploration |
0.1 | 1 | 2008 | Predictive design space exploration using genetically programmed response surfaces · DAC 2008 |
Operating systems › resource management › process management
CPU scheduling |
0.0 | 1 | 2013 | A hardware evaluation of cache partitioning to improve utilization and energy-efficiency while preserving responsiveness · ISCA 2013 |
High-performance computing › performance engineering
performance portability |
0.0 | 1 | 2012 | Portable parallel performance from sequential, productive, embedded domain-specific languages · PPoPP 2012 |
Memory systems › memory access optimization
memory-level parallelism |
0.0 | 1 | 2011 | CudaDMA: optimizing GPU memory bandwidth via warp specialization · SC 2011 |
Electronic design automation › design space exploration
microarchitecture design space exploration |
0.0 | 1 | 2008 | Predictive design space exploration using genetically programmed response surfaces · DAC 2008 |
Methods — techniques the papers use, named apart from their topics
hardware cache partitioning · 0.3dynamic partition sizing · 0.3procedural code generation · 0.3compiler transformation · 0.3producer-consumer synchronization · 0.1host multithreading · 0.1cycle-accurate timing model · 0.1FPGA prototyping · 0.1predictive model · 0.1genetically programmed response surfaces · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | Raven: A 28nm RISC-V vector processor with integrated switched-capacitor DC-DC converters and adaptive clocking
Yunsup Lee, Brian Zimmer, Andrew Waterman, Alberto Puggelli, Jaehwa Kwak, Ruzica Jevtic, Ben Keller, Stevo Bailey, Milovan Blagojevic, Pi-Feng Chiu, Henry Cook, Rimas Avizienis, Brian C. Richards, Elad Alon, Borivoje Nikolic, Krste Asanovic |
Hot Chips Symposium | 11 |
| 2013 | The RISC-V instruction set
Andrew Waterman, Yunsup Lee, Rimas Avizienis, Henry Cook, David A. Patterson 0001, Krste Asanovic |
Hot Chips Symposium | 4 |
| 2013 | A hardware evaluation of cache partitioning to improve utilization and energy-efficiency while preserving responsivenessabstractComputing workloads often contain a mix of interactive, latency-sensitive foreground applications and recurring background computations. To guarantee responsiveness, interactive and batch applications are often run on disjoint sets of resources, but this incurs additional energy, power, and capital costs. In this paper, we evaluate the potential of hardware cache partitioning mechanisms and policies to improve efficiency by allowing background applications to run simultaneously with interactive foreground applications, while avoiding degradation in interactive responsiveness. We evaluate these tradeoffs using commercial x86 multicore hardware that supports cache partitioning, and find that real hardware measurements with full applications provide different observations than past simulation-based evaluations. Co-scheduling applications without LLC partitioning leads to a 10% energy improvement and average throughput improvement of 54% compared to running tasks separately, but can result in foreground performance degradation of up to 34% with an average of 6%. With optimal static LLC partitioning, the average energy improvement increases to 12% and the average throughput improvement to 60%, while the worst case slowdown is reduced noticeably to 7% with an average slowdown of only 2%. We also evaluate a practical low-overhead dynamic algorithm to control partition sizes, and are able to realize the potential performance guarantees of the optimal static approach, while increasing background throughput by an additional 19%. Henry Cook, Miquel Moretó, Sarah Bird, Khanh Dao, David A. Patterson 0001, Krste Asanovic |
ISCA | 1 |
| 2012 | Portable parallel performance from sequential, productive, embedded domain-specific languagesabstractDomain-expert productivity programmers desire scalable application performance, but usually must rely on efficiency programmers who are experts in explicit parallel programming to achieve it. Since such programmers are rare, to maximize reuse of their work we propose encapsulating their strategies in mini-compilers for domain-specific embedded languages (DSELs) glued together by a common high-level host language familiar to productivity programmers. The nontrivial applications that use these DSELs perform up to 98% of peak attainable performance, and comparable to or better than existing hand-coded implementations. Our approach is unique in that each mini-compiler not only performs conventional compiler transformations and optimizations, but includes imperative procedural code that captures an efficiency expert's strategy for mapping a narrow domain onto a specific type of hardware. The result is source- and performance-portability for productivity programmers and parallel performance that rivals that of hand-coded efficiency-language implementations of the same applications. We describe a framework that supports our methodology and five implemented DSELs supporting common computation kernels. Shoaib Kamil 0001, Derrick Coetzee, Scott Beamer, Henry Cook, Ekaterina Gonina, Jonathan Harper, Jeffrey Morlan, Armando Fox |
PPoPP | 4 |
| 2011 | Fast speaker diarization using a high-level scripting languageabstractMost current speaker diarization systems use agglomerative clustering of Gaussian Mixture Models (GMMs) to determine “who spoke when” in an audio recording. While state-of-the-art in accuracy, this method is computationally costly, mostly due to the GMM training, and thus limits the performance of current approaches to be roughly real-time. Increased sizes of current datasets require processing of hundreds of hours of data and thus make more efficient processing methods highly desirable. With the emergence of highly parallel multicore and manycore processors, such as graphics processing units (GPUs), one can re-implement GMM training to achieve faster than real-time performance by taking advantage of parallelism in the training computation. However, developing and maintaining the complex low-level GPU code is difficult and requires a deep understanding of the hardware architecture of the parallel processor. Furthermore, such low-level implementations are not readily reusable in other applications and not portable to other platforms, limiting programmer productivity. In this paper we present a speaker diarization system captured in under 50 lines of Python that achieves 50-250× faster than real-time performance by using a specialization framework to automatically map and execute computationally intensive GMM training on an NVIDIA GPU, without significant loss in accuracy. Ekaterina Gonina, Gerald Friedland, Henry Cook, Kurt Keutzer |
ASRU | 3 |
| 2011 | CudaDMA: optimizing GPU memory bandwidth via warp specializationabstractAs the computational power of GPUs continues to scale with Moore's Law, an increasing number of applications are becoming limited by memory bandwidth. We propose an approach for programming GPUs with tightly-coupled specialized DMA warps for performing memory transfers between on-chip and off-chip memories. Separate DMA warps improve memory bandwidth utilization by better exploiting available memory-level parallelism and by leveraging efficient inter-warp producer-consumer synchronization mechanisms. DMA warps also improve programmer productivity by decoupling the need for thread array shapes to match data layout. To illustrate the benefits of this approach, we present an extensible API, CudaDMA, that encapsulates synchronization and common sequential and strided data transfer patterns. Using CudaDMA, we demonstrate speedup of up to 1.37x on representative synthetic microbenchmarks, and 1.15x-3.2x on several kernels from scientific applications written in CUDA running on NVIDIA Fermi GPUs. Michael Bauer 0001, Henry Cook, Brucek Khailany |
SC | 2 |
| 2010 | RAMP gold: an FPGA-based architecture simulator for multiprocessorsabstractWe present RAMP Gold, an economical FPGA-based architecture simulator that allows rapid early design-space exploration of manycore systems. The RAMP Gold prototype is a high-throughput, cycle-accurate full-system simulator that runs on a single Xilinx Virtex-5 FPGA board, and which simulates a 64-core shared-memory target machine capable of booting real operating systems. To improve FPGA implementation efficiency, functionality and timing are modeled separately and host multithreading is used in both models. We evaluate the prototype's performance using a modern parallel benchmark suite running on our manycore research operating system, achieving two orders of magnitude speedup compared to a widely-used software-based architecture simulator. Zhangxi Tan, Andrew Waterman, Rimas Avizienis, Yunsup Lee, Henry Cook, David A. Patterson 0001, Krste Asanovic |
DAC | 5 |
| 2010 | A case for FAME: FPGA architecture model executionabstractGiven the multicore microprocessor revolution, we argue that the architecture research community needs a dramatic increase in simulation capacity. We believe FPGA Architecture Model Execution (FAME) simulators can increase the number of useful architecture research experiments per day by two orders of magnitude over Software Architecture Model Execution (SAME) simulators. To clear up misconceptions about FPGA-based simulation methodologies, we propose a FAME taxonomy to distinguish the costperformance of variations on these ideas. We demonstrate our simulation speedup claim with a case study wherein we employ a prototype FAME simulator, RAMP Gold, to research the interaction between hardware partitioning mechanisms and operating system scheduling policy. The study demonstrates FAME's capabilities: we run a modern parallel benchmark suite on a research operating system, simulate 64-core target architectures with multi-level memory hierarchy timing models, and add experimental hardware mechanisms to the target machine. The simulation speedup achieved by our adoption of FAME-250×-enables experiments with more realistic time scales and data set sizes thanare possible with SAME. Zhangxi Tan, Andrew Waterman, Henry Cook, Sarah Bird, Krste Asanovic, David A. Patterson 0001 |
ISCA | 3 |
| 2008 | Predictive design space exploration using genetically programmed response surfacesabstractExponential increases in architectural design complexity threaten to make traditional processor design optimization techniques intractable. Genetically programmed response surfaces (GPRS) address this challenge by transforming the optimization process from a lengthy series of detailed simulations into the tractable formulation and rapid evaluation of a predictive model. We validate GPRS methodology on realistic processor design spaces and compare it to recently proposed techniques for predictive microarchitectural design space exploration. Henry Cook, Kevin Skadron |
DAC | 1 |