Demo Data from VLDB 2026 / reviewers in the wild / expert
Brian Fahs
dblp:56/1397
· DBLP profile ↗
6ranked-venue papers
2as first author
0since 2021 · last 2018
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 5 · 2 first-authorSoftware engineering, systems software and programming languages · 3 · 1 first-authorComputer networks · 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
5 papers |
Cloud and datacenter computing · 48% Processor architecture and microarchitecture · 46% Memory systems · 7% | |
| Computer networks
1 paper |
Datacenter networks · 100% |
Topics — the 9 heaviest of 12, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Cloud and datacenter computing › virtualization
network virtualization |
0.3 | 1 | 2018 | Andromeda: Performance, Isolation, and Velocity at Scale in Cloud Network Virtualization · NSDI 2018 |
Processor architecture and microarchitecture
dynamic optimization |
0.1 | 2 | 2005 | Continuous Optimization · ISCA 2005 Performance characterization of a hardware mechanism for dynamic optimization · MICRO 2001 |
Memory systems › memory access optimization
memory-level parallelism |
0.0 | 1 | 2004 | Microarchitecture Optimizations for Exploiting Memory-Level Parallelism · ISCA 2004 |
Processor architecture and microarchitecture
out-of-order execution |
0.0 | 1 | 2004 | Microarchitecture Optimizations for Exploiting Memory-Level Parallelism · ISCA 2004 |
Processor architecture and microarchitecture › latency hiding
runahead execution |
0.0 | 1 | 2004 | Microarchitecture Optimizations for Exploiting Memory-Level Parallelism · ISCA 2004 |
Processor architecture and microarchitecture
instruction-level parallelism |
0.0 | 1 | 2003 | Dynamic Optimization of Micro-Operations · HPCA 2003 |
Compilers and program optimization › compiler optimization
dataflow optimization |
0.0 | 1 | 2005 | Continuous Optimization · ISCA 2005 |
Processor architecture and microarchitecture › instruction set architecture › CISC
x86 |
0.0 | 1 | 2003 | Dynamic Optimization of Micro-Operations · HPCA 2003 |
Processor architecture and microarchitecture
superscalar processor |
0.0 | 1 | 2001 | Performance characterization of a hardware mechanism for dynamic optimization · MICRO 2001 |
Methods — techniques the papers use, named apart from their topics
store forwarding · 0.1redundant load elimination · 0.1reassociation · 0.1constant propagation · 0.1trace-driven simulation · 0.1simulation · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | Andromeda: Performance, Isolation, and Velocity at Scale in Cloud Network Virtualization
Michael Dalton, David Schultz, Jacob Adriaens, Ahsan Arefin, Anshuman Gupta, Brian Fahs, Dima Rubinstein, Enrique Cauich Zermeno, Erik Rubow, James Alexander Docauer, Jesse Alpert, Jing Ai, Jon Olson, Kevin DeCabooter, Marc de Kruijf, Nan Hua, Nathan Lewis, Nikhil Kasinadhuni, Riccardo Crepaldi, Srinivas Krishnan, Subbaiah Venkata, Yossi Richter, Uday Naik, Amin Vahdat |
NSDI | 6 |
| 2005 | Continuous OptimizationabstractThis paper presents a hardware-based dynamic optimizer that continuously optimizes an application's instruction stream. In continuous optimization, dataflow optimizations are performed using simple, table-based hardware placed in the rename stage of the processor pipeline. The continuous optimizer reduces dataflow height by performing constant propagation, reassociation, redundant load elimination, store forwarding, and silent store removal. To enhance the impact of the optimizations, the optimizer integrates values generated by the execution units back into the optimization process. Continuous optimization allows instructions with input values known at optimization time to be executed in the optimizer, leaving less work for the out-of-order portion of the pipeline. Continuous optimization can detect branch mispredictions earlier and thus reduce the misprediction penalty. In this paper, we present a detailed description of a hardware optimizer and evaluate it in the context of a contemporary microarchitecture running current workloads. Our analysis of SPECint, SPECfp, and mediabench workloads reveals that a hardware optimizer can directly execute 33% of instructions, resolve 29% of mispredicted branches, and generate addresses for 76% of memory operations. These positive effects combine to provide speed ups in the range 0.99 to 1.27. Brian Fahs, Todd M. Rafacz, Sanjay J. Patel, Steven S. Lumetta |
ISCA | 1 |
| 2004 | Microarchitecture Optimizations for Exploiting Memory-Level ParallelismabstractThe performance of memory-bound commercial applications such as databases is limited by increasing memory latencies. In this paper, we show that exploiting memory-level parallelism (MLP) is an effective approach for improving the performance of these applications and that microarchitecture has a profound impact on achievable MLP. Using the epoch model of MLP, we reason how traditional microarchitecture features such as out-of-order issue and state-of-the-art microarchitecture techniques such as runahead execution affect MLP. Simulation results show that a moderately aggressive out-of-order issue processor improves MLP over an in-order issue processor by 12-30%, and that aggressive handling of loads, branches and serializing instructions is needed to attain the full benefits of large out-of-order instruction windows. The results also show that a processor's issue window and reorder buffer should be decoupled to exploit MLP more efficiently. In addition, we demonstrate that runahead execution is highly effective in enhancing MLP, potentially improving the MLP of the database workload by 82% and its overall performance by 60%. Finally, our limit study shows that there is considerable headroom in improving MLP and overall performance by implementing effective instruction prefetching, more accurate branch prediction and better value prediction in addition to runahead execution. Yuan Chou, Brian Fahs, Santosh G. Abraham |
ISCA | 2 |
| 2003 | Improving Quasi-Dynamic Schedules through Region SlipabstractModern processors perform dynamic scheduling to achieve better utilization of execution resources. A schedule created at run-time is often better than one created at compile-time as it can dynamically adapt to specific events encountered at execution-time. In this paper, we examine some fundamental impediments to effective static scheduling. More specifically, we examine the question of why schedules generated quasi-dynamically by a low-level runtime optimizer and executed on a statically scheduled machine perform worse than using a dynamically-scheduled approach. We observe that such schedules suffer because of region boundaries and a skewed distribution of parallelism towards the beginning of a region. To overcome these limitations, we investigate a new concept, region slip, in which the schedules of different statically-scheduled regions can be interleaved in the processor issue queue to reduce the region boundary effects that cause empty issue slots. Francesco Spadini, Brian Fahs, Sanjay J. Patel, Steven S. Lumetta |
CGO | 2 |
| 2003 | Dynamic Optimization of Micro-OperationsabstractInherent within complex instruction set architectures such as /spl times/86 are inefficiencies that do not exist in a simpler ISA. Modern /spl times/86 implementations decode instructions into one or more micro-operations in order to deal with the complexity of the ISA. Since these micro-operations are not visible to the compiler the stream of micro-operations can contain redundancies even in statically optimized /spl times/86 code. Within a processor implementation, however barriers at the ISA level do not apply, and these redundancies can be removed by optimizing the micro-operation stream. In this paper we explore the opportunities to optimize code at the micro-operation granularity. We execute these micro-operation optimizations using the rePLay Framework as a microarchitectural substrate. Using a simple set of seven optimizations, including two that aggressively and speculatively attempt to remove redundant load instructions, we examine the effects of dynamic optimization of micro-operations using a trace-driven simulation environment. Simulation reveals that across a sampling of SPECint 2000 and real /spl times/86 applications, rePLay is able to reduce micro-operation count by 21% and, in particular load micro-operation count by 22%. These reductions correspond to a boost in observed instruction-level parallelism on an 8-wide optimizing rePLay processor by 17% over a non-optimizing configuration. Brian Slechta, David Crowe, Brian Fahs, Michael Fertig, Gregory A. Muthler, Justin Quek, Francesco Spadini, Sanjay J. Patel, Steven S. Lumetta |
HPCA | 3 |
| 2001 | Performance characterization of a hardware mechanism for dynamic optimizationabstractWe evaluate the rePLay microarchitecture as a means for reducing application execution time by facilitating dynamic optimization. The framework contains a programmable optimization engine coupled with a hardware-based recovery mechanism. The optimization engine enables the dynamic optimizer to run concurrently with program execution. The recovery mechanism enables the optimizer to make speculative optimizations without requiring recovery code. We demonstrate that a rePLay configuration performing a small suite of simple optimizations on Alpha code attains an average of 13% reduction in execution cycles on the SPEC2000 integer benchmarks over a rePLay configuration not performing optimizations, and a 21% reduction over an aggressive standard superscalar microarchitecture. Brian Fahs, Satarupa Bose, Matthew M. Crum, Brian Slechta, Francesco Spadini, Tony Tung, Sanjay J. Patel, Steven S. Lumetta |
MICRO | 1 |