Demo Data from SIGIR 2026 / reviewers in the wild / expert
Bryan Black
dblp:56/4563
· DBLP profile ↗
12ranked-venue papers
5as first author
0since 2021 · last 2008
0000-0001-8571-6486ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 11 · 5 first-authorSoftware engineering, systems software and programming languages · 4 · 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
7 papers |
Processor architecture and microarchitecture · 59% Memory systems · 32% Energy-efficient computing · 8% |
Topics — the 18 heaviest of 20, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Processor architecture and microarchitecture
instruction scheduling |
0.1 | 2 | 2007 | Matrix scheduler reloaded · ISCA 2007 Hierarchical Scheduling Windows · MICRO 2002 |
Memory systems
3d-stacked memory |
0.1 | 1 | 2006 | Die Stacking (3D) Microarchitecture · MICRO 2006 |
Processor architecture and microarchitecture › multi-chip architecture
3d stacking |
0.1 | 1 | 2006 | Die Stacking (3D) Microarchitecture · MICRO 2006 |
Energy-efficient computing
thermal management |
0.1 | 1 | 2006 | Die Stacking (3D) Microarchitecture · MICRO 2006 |
Processor architecture and microarchitecture
instruction fetch |
0.1 | 2 | 2000 | Completion time multiple branch prediction for enhancing trace cache performance · ISCA 2000 The Block-Based Trace Cache · ISCA 1999 |
Processor architecture and microarchitecture › instruction fetch
trace cache |
0.1 | 2 | 2000 | Completion time multiple branch prediction for enhancing trace cache performance · ISCA 2000 The Block-Based Trace Cache · ISCA 1999 |
Memory systems
cache |
0.0 | 1 | 2002 | Avoiding Initialization Misses to the Heap · ISCA 2002 |
Memory systems › memory hierarchy
cache hierarchy |
0.0 | 1 | 2002 | Non-Vital Loads · HPCA 2002 |
Memory systems
cache management |
0.0 | 1 | 2002 | Non-Vital Loads · HPCA 2002 |
Processor architecture and microarchitecture
instruction-level parallelism |
0.0 | 1 | 2002 | Hierarchical Scheduling Windows · MICRO 2002 |
Processor architecture and microarchitecture › instruction-level parallelism
large instruction window |
0.0 | 1 | 2002 | Hierarchical Scheduling Windows · MICRO 2002 |
Memory systems › cache management › cache insertion policy
selective caching |
0.0 | 1 | 2002 | Non-Vital Loads · HPCA 2002 |
Processor architecture and microarchitecture
branch prediction |
0.0 | 2 | 2000 | Completion time multiple branch prediction for enhancing trace cache performance · ISCA 2000 The Block-Based Trace Cache · ISCA 1999 |
Processor architecture and microarchitecture › branch prediction
multiple branch prediction |
0.0 | 1 | 2000 | Completion time multiple branch prediction for enhancing trace cache performance · ISCA 2000 |
Processor architecture and microarchitecture
out-of-order execution |
0.0 | 1 | 2007 | Matrix scheduler reloaded · ISCA 2007 |
Memory systems › memory management
heap allocation |
0.0 | 1 | 2002 | Avoiding Initialization Misses to the Heap · ISCA 2002 |
Performance modeling and evaluation
workload characterization |
0.0 | 1 | 2002 | Non-Vital Loads · HPCA 2002 |
Processor architecture and microarchitecture › instruction fetch
fetch bandwidth |
0.0 | 1 | 1999 | The Block-Based Trace Cache · ISCA 1999 |
Methods — techniques the papers use, named apart from their topics
simulation · 0.13d integration · 0.1performance simulation · 0.1limit study · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2008 | A Segmented Bloom Filter Algorithm for Efficient PredictorsabstractBloom Filters are a technique to reduce the effects of conflicts/interference in hash table-like structures. Conventional hash tables store information in a single location which is susceptible to destructive interference through hash conflicts. A Bloom Filter uses multiple hash functions to store information in several locations, and recombines the information through some voting mechanism. Many microarchitectural predictors use simple single-index hash tables to make binary 0/1 predictions, and Bloom Filters help improve predictor accuracy. However, implementing a true Bloom Filter requires k hash functions, which in turn implies a k-ported hash table, or k sequential accesses. Unfortunately,the area of a hardware table increases quadratically with the port count, increasing costs of area, latency and power consumption. We propose a simple but elegant modification to the Bloom Filter algorithm that uses banking combined with special hash functions that guarantee all hash indexes fall into non-conflicting banks. We evaluate several applications of our Banked Bloom Filter (BBF) prediction in processors: BBF branch prediction, BBF load hit/miss prediction, and BBF last-tag prediction. We show that BBF predictors can provide accurate predictions with substantially less cost than previous techniques. Maurício Breternitz, Gabriel H. Loh, Bryan Black, Jeff Rupley, Peter G. Sassone, Wesley Attrot, Youfeng Wu |
SBAC-PAD | 3 |
| 2007 | Matrix scheduler reloadedabstractFrom multiprocessor scale-up to cache sizes to the number of reorder-buffer entries, microarchitects wish to reap the benefits of more computing resources while staying within power and latency bounds. This tension is quite evident in schedulers, which need to be large and single-cycle for maximum performance on out-of-order cores. In this work we present two straightforward modifications to a matrix scheduler implementation which greatly strengthen its scalability. Both are based on the simple observation that the wakeup and picker matrices are sparse, even at small sizes; thus small indirection tables can be used to greatly reduce their width and latency. This technique can be used to create quicker iso-performance schedulers (17-58% reduced critical path) or larger iso-timing schedulers (7-26% IPC increase). Importantly, the power and area requirements of the additional hardware are likely offset by the greatly reduced matrix sizes and subsuming the functionality of the power-hungry allocation CAMs. Peter G. Sassone, Jeff Rupley, Edward Brekelbaum, Gabriel H. Loh, Bryan Black |
ISCA | 5 |
| 2006 | Die Stacking (3D) Microarchitectureabstract3D die stacking is an exciting new technology that increases transistor density by vertically integrating two or more die with a dense, high-speed interface. The result of 3D die stacking is a significant reduction of interconnect both within a die and across dies in a system. For instance, blocks within a microprocessor can be placed vertically on multiple die to reduce block to block wire distance, latency, and power. Disparate Si technologies can also be combined in a 3D die stack, such as DRAM stacked on a CPU, resulting in lower power higher BW and lower latency interfaces, without concern for technology integration into a single process flow. 3D has the potential to change processor design constraints by providing substantial power and performance benefits. Despite the promising advantages of 3D, there is significant concern for thermal impact. In this research, we study the performance advantages and thermal challenges of two forms of die stacking: Stacking a large DRAM or SRAM cache on a microprocessor and dividing a traditional micro architecture between two die in a stack Bryan Black, Murali Annavaram, Ned Brekelbaum, John DeVale, Gabriel H. Loh, Don McCaule, Patrick Morrow, Donald W. Nelson, Daniel Pantuso, Paul Reed, Jeff Rupley, Sadasivan Shankar, John Paul Shen, Clair Webb |
MICRO | 1 |
| 2006 | Design space exploration for 3D architecturesabstractAs technology scales, interconnects have become a major performance bottleneck and a major source of power consumption for microprocessors. Increasing interconnect costs make it necessary to consider alternate ways of building modern microprocessors. One promising option is 3D architectures where a stack of multiple device layers with direct vertical tunneling through them are put together on the same chip. As fabrication of 3D integrated circuits has become viable, developing CAD tools and architectural techniques is imperative to explore the design space to 3D microarchitectures. In this article, we give a brief introduction to 3D integration technology, discuss the EDA design tools that can enable the adoption of 3D ICs, and present the implementation of various microprocessor components using 3D technology. An industrial case study is presented as an initial attempt to design 3D microarchitectures. Yuan Xie 0001, Gabriel H. Loh, Bryan Black, Kerry Bernstein |
ACM J. Emerg. Technol. Comput. Syst. | 3 |
| 2004 | 3D Processing Technology and Its Impact on iA32 MicroprocessorsabstractThis short paper explores an implementation of a new technology called 3D die stacking and describes research activity at Intel. 3D die stacking is the bonding of two die either face-to-face or face-to-back in order to construct the 3D structure. In this work, a face-to-face bonding is utilized because it yields a higher density die-to-die inter-connect than is possible with face-to-back. With sufficiently dense die-to-die interconnect devices as complex as an iA32 microprocessor can be repartitioned or split between two die in order to simultaneously improve performance and power. The 3D structure of this emerging technology is examined and applied in this paper to a real x86 deeply pipelined high performance microprocessor. In this initial study, it is shown that a 3D implementation can potentially improve the performance by 15% while improving power by 15%. Bryan Black, Donald Nelson, Clair Webb, Nick Samra |
ICCD | 1 |
| 2002 | Non-Vital LoadsabstractAs the frequency gap between main memory and modern microprocessor grows, the implementation and efficiency of on-chip caches become more important. The growing latency to memory is motivating new research into load instruction behavior and selective data caching. This work investigates the classification of load instruction behavior. A new load classification method is proposed that classifies loads into those vital to performance and those not vital to performance. A limit study is presented to characterize different types of non-vital loads and to quantify the percentage of loads that are non-vital. Finally, a realistic implementation of the non-vital load classification method is presented and a new cache structure called the Vital Cache is proposed to take advantage of non-vital loads. The Vital Cache caches data for vital loads only, deferring non-vital loads to slower caches. Results: The limit study shows 75% of all loads are non-vital with only 35% of the accessed data space being vital for caching. The Vital Cache improves the efficiency of the cache hierarchy and the hit rate for vital loads. The Vital Cache increases performance by 17%. Ryan N. Rakvic, Bryan Black, Deepak Limaye, John Paul Shen |
HPCA | 2 |
| 2002 | Avoiding Initialization Misses to the HeapabstractThis paper investigates a class of main memory accesses (invalid memory traffic) that can be eliminated altogether. Invalid memory traffic is real data traffic that transfers invalid data. By tracking the initialization of dynamic memory allocations, it is possible to identify store instructions that miss the cache and would fetch uninitialized heap data. The data transfers associated with these initialization misses can be avoided without losing correctness. The memory system property crucial for achieving good performance under heap allocation is cache installation - the ability to allocate and initialize a new object into the cache without a penalty. Tracking heap initialization at a cache block granularity enables cache installation mechanisms to provide zero-latency prefetching into the cache. We propose a hardware mechanism, the allocation range cache, that can efficiently identify initializing store misses to the heap and trigger cache installations to avoid invalid memory traffic. The results obtained are presented and discussed. Jarrod A. Lewis, Mikko H. Lipasti, Bryan Black |
ISCA | 3 |
| 2002 | Hierarchical Scheduling WindowsabstractLarge scheduling windows are an effective mechanism for increasing microprocessor performance through the extraction of instruction level parallelism. Current techniques do not scale effectively for very large windows, leading to slow wakeup and select logic as well as large complicated bypass networks. This paper introduces a new instruction scheduler implementation, referred to as Hierarchical Scheduling Windows or HSW, which exploits latency tolerant instructions in order to reduce implementation complexity. HSW yields a very large instruction window that tolerates wakeup, select, and bypass latency, while extracting significant far flung ILP. Results: It is shown that HSW loses <0.5% performance per additional cycle of bypass/select/wakeup latency as compared to a monolithic window that loses /spl sim/5% per additional cycle. Also, HSW achieves the performance of traditional implementations with only 1/3 to 1/2 the number of entries in the critical timing path. Edward Brekelbaum, Jeff Rupley, Chris Wilkerson, Bryan Black |
MICRO | 4 |
| 2000 | Completion time multiple branch prediction for enhancing trace cache performanceabstractThe need for multiple branch prediction is inherent to wide instruction fetching. This paper presents a completion time multiple branch predictor called the Tree-based Multiple Branch Predictor (TMP) that builds on previous single branch prediction techniques. It employs a tree structure of branch predictors, or tree-node predictors, and achieves accurate multiple branch prediction by leveraging the high accuracies of the individual branch predictors. A highly-efficient TMP design uses the 2-bit saturating counters for the tree-node predictors. To achieve higher prediction rate, the TMP employs two-level schemes for the tree-node predictors resulting in a three-level TMP design. Placing the TMP at completion time reduces the critical latency in the front-end of the pipeline; the resultant longer update latency does not significantly impact the overall performance. In this paper the TMP is applied to a trace cache design and shown to be very effective in increasing its performance. Ryan N. Rakvic, Bryan Black, John Paul Shen |
ISCA | 2 |
| 1999 | The Block-Based Trace CacheabstractThe trace cache is a recently proposed solution to achieving high instruction fetch bandwidth by buffering and reusing dynamic instruction traces. This work presents a new block-based trace cache implementation that can achieve higher IPC performance with more efficient storage of traces. Instead of explicitly storing instructions of a trace, pointers to blocks constituting a trace are stored in a much smaller trace table. The block-based trace cache renames fetch addresses at the basic block level and stores aligned blocks in a block cache. Traces are constructed by accessing the replicated block cache using block pointers from the trace table. Performance potential of the blockbased trace cache is quantified and compared with perfect branch prediction and perfect fetch schemes. Comparing to the conventional trace cache, the block-based design can achieve higher IPC, with less impact on cycle time. Bryan Black, Bohuslav Rychlik, John Paul Shen |
ISCA | 1 |
| 1998 | Load Execution Latency ReductionabstractLoad execution latency is dependent on memory access latency, pipeline depth, and data dependencies.Through load effective address prediction both data dependencies and deep pipeline effects can potentially he removed from the overall execution time.If a load effective address is correctly predicted, the data cache can he speculatively accessed prior to execution, thus effectively reducing the latency of load execution.A hybrid load effective address prediction technique is proposed, using three basic predictors: Last Address Predictor (LAP), Stride Predictor (SP), and Global Dynamic Predictor (GDP).In addition to improving load address prediction accuracy, this work explores the balance of data ports in the cache memory hierarchy, and the effects of load and store aliasing in wide superscalar machines.Results: Using a realistic hybrid load address predictor, load address prediction rates range from 32% to 77% averaging 51% for SPECint95 and 60% to 96% averaging 87% for SPECfp95.For a wide superscalar machine with a significant number of execution resources, this prediction rate increases IPC by 12% and 19% for SPECint95 and SPECfp95, respectively.It is also shown that load/ store aliasing decreases the average IPC by 33 % for SPECint95 and 24 % for SPECfp95. Bryan Black, Brian Mueller, Stephanie Postal, Ryan N. Rakvic, Noppanunt Utamaphethai, John Paul Shen |
International Conference on Supercomputing | 1 |
| 1996 | Can Trace-Driven Simulators Accurately Predict Superscalar Performance?abstractThere are four crucial issues associated with performance simulators: simulator retargetability, simulator validation, simulation speed and simulation accuracy. The paper documents our experiences in developing performance simulators and our recent findings in using these simulators. We are concerned with all four of the crucial issues. Our first generation tool, VMW, focused on achieving retargetability. Our second generation tool, MW, significantly improved simulation speed. Recently we validated a PowerPC 604 simulator model, generated using MW against an actual PowerPC 604 hardware system. We also present results on simulating extremely long traces on our PowerPC 620 model and highlight potential inaccuracies that can result from trace sampling. As processor complexity continues to increase at a rapid rate and microarchitectures continue to become more speculative, it is not clear whether the trace driven paradigm of performance simulation can continue to effectively predict actual machine performance. Bryan Black, Andrew S. Huang, Mikko H. Lipasti, John Paul Shen |
ICCD | 1 |