EDBT 2026 Demo / reviewers in the wild / expert
William Hasenplaugh
dblp:68/3582
· DBLP profile ↗
11ranked-venue papers
3as first author
1since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 9 · 2 first-author · 1 since 2021Theory of computation · 2 · 1 first-author
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
5 papers |
Memory systems · 51% High-performance computing · 28% Hardware accelerators and domain-specific architectures · 14% | |
| Interdisciplinary, comprehensive, and emerging computing
1 paper |
Computational science and engineering · 50% Bioinformatics and computational biology · 50% |
Topics — the 20 heaviest of 21, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Hardware accelerators and domain-specific architectures › scientific computing accelerator
molecular dynamics accelerator |
0.5 | 1 | 2021 | Anton 3: twenty microseconds of molecular dynamics simulation before lunch · SC 2021 |
High-performance computing › scientific computing systems
molecular dynamics simulation |
0.5 | 1 | 2021 | Anton 3: twenty microseconds of molecular dynamics simulation before lunch · SC 2021 |
High-performance computing
scientific computing systems |
0.5 | 1 | 2021 | Anton 3: twenty microseconds of molecular dynamics simulation before lunch · SC 2021 |
Memory systems
cache coherence |
0.4 | 2 | 2016 | Lease/release: architectural support for scaling contended data structures · PPoPP 2016 Using in-flight chains to build a scalable cache coherence protocol · ACM Trans. Archit. Code Optim. 2013 |
Memory systems › memory interference
memory contention |
0.2 | 1 | 2016 | Lease/release: architectural support for scaling contended data structures · PPoPP 2016 |
Memory systems › cache coherence
directory-based coherence |
0.2 | 1 | 2013 | Using in-flight chains to build a scalable cache coherence protocol · ACM Trans. Archit. Code Optim. 2013 |
Bioinformatics and computational biology › molecular informatics › molecular modeling
biomolecular simulation |
0.1 | 1 | 2021 | Anton 3: twenty microseconds of molecular dynamics simulation before lunch · SC 2021 |
Computational science and engineering › computational chemistry
molecular simulation |
0.1 | 1 | 2021 | Anton 3: twenty microseconds of molecular dynamics simulation before lunch · SC 2021 |
Memory systems
cache management |
0.1 | 1 | 2012 | The gradient-based cache partitioning algorithm · ACM Trans. Archit. Code Optim. 2012 |
Memory systems › cache management
cache partitioning |
0.1 | 1 | 2012 | The gradient-based cache partitioning algorithm · ACM Trans. Archit. Code Optim. 2012 |
Memory systems › cache management
cache replacement |
0.1 | 1 | 2012 | The gradient-based cache partitioning algorithm · ACM Trans. Archit. Code Optim. 2012 |
Memory systems
cache |
0.1 | 1 | 2011 | SHiP: signature-based hit predictor for high performance caching · MICRO 2011 |
Memory systems › cache management
cache insertion policy |
0.1 | 1 | 2011 | SHiP: signature-based hit predictor for high performance caching · MICRO 2011 |
Memory systems › memory hierarchy › cache hierarchy management
last-level cache management |
0.1 | 1 | 2011 | SHiP: signature-based hit predictor for high performance caching · MICRO 2011 |
Memory systems › cache management
re-reference interval prediction |
0.1 | 1 | 2011 | SHiP: signature-based hit predictor for high performance caching · MICRO 2011 |
Parallel and multicore computing
concurrent data structures |
0.1 | 1 | 2016 | Lease/release: architectural support for scaling contended data structures · PPoPP 2016 |
Parallel and multicore computing › concurrent data structures
lock-free data structures |
0.1 | 1 | 2016 | Lease/release: architectural support for scaling contended data structures · PPoPP 2016 |
Parallel and multicore computing › multiprocessor system
scalable multiprocessor |
0.0 | 1 | 2013 | Using in-flight chains to build a scalable cache coherence protocol · ACM Trans. Archit. Code Optim. 2013 |
Cloud and datacenter computing
quality of service |
0.0 | 1 | 2012 | The gradient-based cache partitioning algorithm · ACM Trans. Archit. Code Optim. 2012 |
Memory systems › cache › multiprocessor cache
shared cache |
0.0 | 1 | 2012 | The gradient-based cache partitioning algorithm · ACM Trans. Archit. Code Optim. 2012 |
Methods — techniques the papers use, named apart from their topics
custom chip design · 1.0application-specific hardware · 1.0revocation · 0.2lease/release mechanism · 0.2in-flight chains · 0.2hierarchical tag directory · 0.2gradient-based optimization · 0.1signature-based prediction · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Anton 3: twenty microseconds of molecular dynamics simulation before lunchabstractAnton 3 is the newest member in a family of supercomputers specially designed for atomic-level simulation of molecules relevant to biology (e.g., DNA, proteins, and drug molecules). Anton 3 achieves order-of-magnitude improvements in time-to-solution over its predecessor, Anton 2 (the current state of the art), and is over 100-fold faster than any other currently available supercomputer, thereby enabling broad new avenues of research on critical questions in biology and drug discovery. This speedup means that a 512-node Anton 3 simulates a million atoms at over 100 microseconds per day. Furthermore, Anton 3 attains this performance while consuming an order of magnitude less energy per simulated microsecond than any other machine. Like its predecessors, Anton 3 was designed from the ground up around a new custom chip to best exploit the capabilities offered by new technologies. We present here the main architectural and algorithmic developments that were necessary to achieve such significant advances. David E. Shaw, Peter J. Adams, Asaph Azaria, Joseph A. Bank, Brannon Batson, Alistair Bell, Michael Bergdorf, Jhanvi Bhatt, J. Adam Butts, Timothy Correia, Robert M. Dirks, Ron O. Dror, Michael P. Eastwood, Bruce Edwards, Amos Even, Peter Feldmann, Michael Fenn, Christopher H. Fenton, Anthony Forte, Joseph Gagliardo, Gennette Gill, Maria Gorlatova, Brian Greskamp, J. P. Grossman, Justin Gullingsrud, Anissa Harper, William Hasenplaugh, Mark Heily, Benjamin Colin Heshmat, Jeremy Hunt, Doug Ierardi, Lev Iserovich, Bryan L. Jackson, Nick P. Johnson, Mollie M. Kirk, John L. Klepeis, Jeffrey Kuskin, Kenneth M. Mackenzie, Roy J. Mader, Richard McGowen, Adam McLaughlin, Mark A. Moraes, Mohamed H. Nasr, Lawrence J. Nociolo, Lief O'Donnell, Jon L. Peticolas, Goran Pocina, Cristian Predescu, Terry Quan, John K. Salmon, Carl Schwink, Keun Sup Shim, Naseer Siddique, Jochen Spengler, Tamas Szalay, Raymond Tabladillo, Reinhard Tartler, Andrew G. Taube, Michael Theobald, Brian Towles, William Vick, Stanley C. Wang, Michael Wazlowski, Madeleine J. Weingarten, John M. Williams, Kevin A. Yuh |
SC | 27 |
| 2018 | Laika: Efficient In-Place Scheduling for 3D Mesh Graph ComputationsabstractScientific computing problems are frequently solved using data-graph computations -- algorithms that perform local updates on application-specific data associated with vertices of a graph, over many time steps. The data-graph in such computations is commonly a mesh graph, where vertices have positions in 3D space, and edges connect physically nearby vertices. A scheduler controls the parallel execution of the algorithm. Two classes of parallel schedulers exist: double-buffering and in-place. Double-buffering schedulers do not incur synchronization overheads due to an absence of read-write conflicts, but require two copies of the vertices, as well as a higher iteration count due to a slower convergence rate. Computations for which this difference in convergence rate is significant (e.g., multigrid method) are frequently performed using an in-place scheduler, which incurs synchronization overheads to avoid read-write conflicts on the single copy of vertex data. We present Laika, a deterministic in-place scheduler we created using a principled three-step design strategy for high-performance schedulers. Laika reorders the input graph using a Hilbert space-filling curve to improve cache locality and minimizes parallel coordination overhead by explicitly curbing excess execution parallelism. Consequently, Laika has significantly lower scheduling overhead than alternative in-place schedulers and is even faster per iteration than the parallel double-buffered implementation on a reordered input graph. We derive an improved bound on the expected number of cache misses incurred during a traversal of a graph reordered using a space-filling curve. We also prove that on a mesh graph G = (V, E), Laika performs O(|V| + |E|) total work and achieves linear expected speedup with P = O(|V| / log^2 |V|) workers. On 48 cores, Laika yields 38.4x parallel speedup and empirically fares well against comparably well-engineered alternatives: it runs 6.97--12.60 times faster in geometric mean over a suite of input graphs than other parallel schedulers and 222.57 times faster than the baseline serial implementation. Predrag Gruevski, William Hasenplaugh, David Lugato, James Thomas 0003 |
SPAA | 2 |
| 2016 | Lease/release: architectural support for scaling contended data structuresabstractHigh memory contention is generally agreed to be a worst-case scenario for concurrent data structures. There has been a significant amount of research effort spent investigating designs which minimize contention, and several programming techniques have been proposed to mitigate its effects. However, there are currently few architectural mechanisms to allow scaling contended data structures at high thread counts. Syed Kamran Haider, William Hasenplaugh, Dan Alistarh |
PPoPP | 2 |
| 2015 | Cache-Oblivious Iterated Predecessor Queries via Range Coalescing
Erik D. Demaine, Vineet Gopal, William Hasenplaugh |
WADS | 3 |
| 2014 | Ordering heuristics for parallel graph coloringabstractThis paper introduces the largest-log-degree-first (LLF) and smallest-log-degree-last (SLL) ordering heuristics for parallel greedy graph-coloring algorithms, which are inspired by the largest-degree-first (LF) and smallest-degree-last (SL) serial heuristics, respectively. We show that although LF and SL, in practice, generate colorings with relatively small numbers of colors, they are vulnerable to adversarial inputs for which any parallelization yields a poor parallel speedup. In contrast, LLF and SLL allow for provably good speedups on arbitrary inputs while, in practice, producing colorings of competitive quality to their serial analogs. William Hasenplaugh, Tim Kaler, Tao B. Schardl, Charles E. Leiserson |
SPAA | 1 |
| 2014 | Executing dynamic data-graph computations deterministically using chromatic schedulingabstractA data-graph computation — popularized by such programming systems as Galois, Pregel, GraphLab, PowerGraph, and GraphChi — is an algorithm that performs local updates on the vertices of a graph. During each round of a data-graph computation, an update function atomically modifies the data associated with a vertex as a function of the vertex's prior data and that of adjacent vertices. A dynamic data-graph computation updates only an active subset of the vertices during a round, and those updates determine the set of active vertices for the next round. Tim Kaler, William Hasenplaugh, Tao B. Schardl, Charles E. Leiserson |
SPAA | 2 |
| 2013 | Using in-flight chains to build a scalable cache coherence protocolabstractAs microprocessor designs integrate more cores, scalability of cache coherence protocols becomes a challenging problem. Most directory-based protocols avoid races by using blocking tag directories that can impact the performance of parallel applications. In this article, we first quantitatively demonstrate that state-of-the-art blocking protocols significantly constrain throughput at large core counts for several parallel applications. Nonblocking protocols address this throughput concern at the expense of scalability in the interconnection network or in the required resource overheads. To address this concern, we enhance nonblocking directory protocols by migrating the point of service of responses. Our approach uses in-flight chains of cores making parallel memory requests to incorporate scalability while maintaining high-throughput. The proposed cache coherence protocol called chained cache coherence , can outperform blocking protocols by up to 20% on scientific and 12% on commercial applications. It also has low resource overheads and simple address ordering requirements making it both a high-performance and scalable protocol. Furthermore, in-flight chains provide a scalable solution to building hierarchical and nonblocking tag directories as well as optimize communication latencies. Samantika Sury, Simon C. Steely Jr., William Hasenplaugh, Aamer Jaleel, Carl J. Beckmann, Tryggve Fossum, Joel S. Emer |
ACM Trans. Archit. Code Optim. | 3 |
| 2012 | The gradient-based cache partitioning algorithmabstractThis paper addresses the problem of partitioning a cache between multiple concurrent threads and in the presence of hardware prefetching. Cache replacement designed to preserve temporal locality (e.g., LRU) will allocate cache resources proportional to the miss-rate of each competing thread irrespective of whether the cache space will be utilized [Qureshi and Patt 2006]. This is clearly suboptimal as applications vary dramatically in their use of recently accessed data. We address this problem by partitioning a shared cache such that a global goodness metric is optimized. This paper introduces the Gradient-based Cache Partitioning Algorithm (GPA), whose variants optimize either hitrate, total instructions per cycle (IPC) or a weighted IPC metric designed to enforce Quality of Service (QoS) [Iyer 2004]. In the context of QoS, GPA enables us to obtain the maximum throughput of low-priority threads, while ensuring high performance on high-priority threads. The GPA mechanism is robust, low-cost, integrates easily with existing cache designs and improves the throughput of an in-order 8-core system sharing an 8MB L3 cache by ∼14%. William Hasenplaugh, Pritpal S. Ahuja, Aamer Jaleel, Simon C. Steely Jr., Joel S. Emer |
ACM Trans. Archit. Code Optim. | 1 |
| 2011 | SHiP: signature-based hit predictor for high performance cachingabstractThe shared last-level caches in CMPs play an important role in improving application performance and reducing off-chip memory bandwidth requirements. In order to use LLCs more efficiently, recent research has shown that changing the re-reference prediction on cache insertions and cache hits can significantly improve cache performance. A fundamental challenge, however, is how to best predict the re-reference pattern of an incoming cache line. Carole-Jean Wu, Aamer Jaleel, William Hasenplaugh, Margaret Martonosi, Simon C. Steely Jr., Joel S. Emer |
MICRO | 3 |
| 2008 | Adaptive insertion policies for managing shared cachesabstractChip Multiprocessors (CMPs) allow different applications to concurrently execute on a single chip. When applications with differing demands for memory compete for a shared cache, the conventional LRU replacement policy can significantly degrade cache performance when the aggregate working set size is greater than the shared cache. In such cases, shared cache performance can be significantly improved by preserving the entire working set of applications that can co-exist in the cache and preserving some portion of the working set of the remaining applications. Aamer Jaleel, William Hasenplaugh, Moinuddin K. Qureshi, Julien Sebot, Simon C. Steely Jr., Joel S. Emer |
PACT | 2 |
| 2007 | Fast Modular ReductionabstractIt is widely acknowledged that efficient modular multiplication is a key to high-performance implementation of public-key cryptography, be it classical RSA, Diffie-Hellman, or (hyper-) elliptic curve algorithms. In the recent decade, practitioners have relied mainly on two popular methods: Montgomery Multiplication and regular long-integer multiplication in combination with Barrett's modular reduction technique. In this paper, we propose a modification to Barrett's algorithm that leads to a significant reduction (25% to 75%) in multiplications and additions. William Hasenplaugh, Gunnar Gaubatz, Vinodh Gopal |
IEEE Symposium on Computer Arithmetic | 1 |