Demo Data from EDBT 2026 / reviewers in the wild / expert
Rami Sheikh
dblp:99/9640
· DBLP profile ↗
10ranked-venue papers
5as first author
1since 2021 · last 2023
0000-0003-1365-1921ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 10 · 5 first-author · 1 since 2021
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 · 88% Memory systems · 8% Energy-efficient computing · 4% |
Topics — the 16 heaviest of 18, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Processor architecture and microarchitecture
branch prediction |
1.1 | 4 | 2023 | Branch Target Buffer Organizations · MICRO 2023 Control-Flow Decoupling: An Approach for Timely, Non-Speculative Branching · IEEE Trans. Computers 2015 Control-Flow Decoupling · MICRO 2012 |
Processor architecture and microarchitecture
instruction fetch |
1.0 | 2 | 2023 | Branch Target Buffer Organizations · MICRO 2023 Elastic Instruction Fetching · HPCA 2019 |
Processor architecture and microarchitecture › value prediction
load value prediction |
0.7 | 2 | 2019 | Efficient Load Value Prediction Using Multiple Predictors and Filters · HPCA 2019 Load value prediction via path-based address prediction: avoiding mispredictions due to conflicting stores · MICRO 2017 |
Processor architecture and microarchitecture
value prediction |
0.7 | 2 | 2019 | Efficient Load Value Prediction Using Multiple Predictors and Filters · HPCA 2019 Load value prediction via path-based address prediction: avoiding mispredictions due to conflicting stores · MICRO 2017 |
Processor architecture and microarchitecture › branch prediction
branch target buffer |
0.7 | 1 | 2023 | Branch Target Buffer Organizations · MICRO 2023 |
Processor architecture and microarchitecture › branch prediction › branch target buffer
branch target buffer organization |
0.7 | 1 | 2023 | Branch Target Buffer Organizations · MICRO 2023 |
Processor architecture and microarchitecture › instruction fetch › instruction prefetching
fetch directed instruction prefetching |
0.7 | 1 | 2023 | Branch Target Buffer Organizations · MICRO 2023 |
Processor architecture and microarchitecture › branch prediction
branch misprediction |
0.2 | 1 | 2015 | Control-Flow Decoupling: An Approach for Timely, Non-Speculative Branching · IEEE Trans. Computers 2015 |
Energy-efficient computing › energy-efficient architecture
energy-efficient microarchitecture |
0.2 | 1 | 2015 | Control-Flow Decoupling: An Approach for Timely, Non-Speculative Branching · IEEE Trans. Computers 2015 |
Memory systems › cache management
cache replacement |
0.2 | 1 | 2014 | LACS: A Locality-Aware Cost-Sensitive Cache Replacement Algorithm · IEEE Trans. Computers 2014 |
Memory systems › cache management › cache replacement
cost-sensitive cache replacement |
0.2 | 1 | 2014 | LACS: A Locality-Aware Cost-Sensitive Cache Replacement Algorithm · IEEE Trans. Computers 2014 |
Processor architecture and microarchitecture
instruction-level parallelism |
0.1 | 1 | 2012 | Control-Flow Decoupling · MICRO 2012 |
Processor architecture and microarchitecture › instruction-level parallelism
large instruction window |
0.1 | 1 | 2012 | Control-Flow Decoupling · MICRO 2012 |
Processor architecture and microarchitecture
data dependence |
0.1 | 1 | 2019 | Efficient Load Value Prediction Using Multiple Predictors and Filters · HPCA 2019 |
Memory systems › cache › CPU cache
instruction cache |
0.1 | 1 | 2019 | Elastic Instruction Fetching · HPCA 2019 |
Memory systems
cache |
0.1 | 1 | 2017 | Load value prediction via path-based address prediction: avoiding mispredictions due to conflicting stores · MICRO 2017 |
Methods — techniques the papers use, named apart from their topics
simulation · 0.8predictor filtering · 0.4predictor combination · 0.4pipeline flush reduction · 0.3confidence estimation · 0.3benchmark characterization · 0.2tail duplication · 0.1loop transformation · 0.1compiler transformation · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Branch Target Buffer OrganizationsabstractTo accommodate very large instruction footprints, modern high-performance processors rely on fetch directed instruction prefetching through huge branch predictors and a hierarchy of Branch Target Buffers (BTBs). Recently, significant effort has been undertaken to reduce the footprint of each branch in the BTB, in order to either minimize the storage occupied by the BTB on die, or to increase the number of tracked branches at iso-storage. However, designing for branch density, while necessary, is only one dimension of BTB efficacy. In particular, BTB entry organization plays a significant role in improving instruction fetch throughput, which is a necessary step towards increased performance. In this paper, we first revisit the advantages and drawbacks of three classical BTB organizations in the context of multi-level BTB hierarchies. We then consider three possible improvements to increase the fetch PC throughput of the Region BTB and Block BTB organizations, bridging most of the performance gap with the impractical but highly storage-efficient Instruction BTB organization, thus paving the way for future very high fetch throughput machines. Arthur Perais, Rami Sheikh |
MICRO | 2 |
| 2019 | Elastic Instruction FetchingabstractBranch prediction (i.e., the generation of fetch addresses) and instruction cache accesses need not be tightly coupled. As the instruction fetch stage stalls because of an ICache miss or back-pressure, the branch predictor may run ahead and generate future fetch addresses that can be used for different optimizations, such as instruction prefetching but more importantly hiding taken branch fetch bubbles. This approach is used in many commercially available high-performance design. However, decoupling branch prediction from instruction retrieval has several drawbacks. First, it can increase the pipeline depth, leading to more expensive pipeline flushes. Second, it requires a large Branch Target Buffer (BTB) to store branch targets, allowing the branch predictor to follow taken branches without decoding instruction bytes. Missing the BTB will also cause additional bubbles. In some classes of workloads, those drawbacks may significantly offset the benefits of decoupling. In this paper, we present ELastic Fetching (ELF), a hybrid mechanism that decouples branch prediction from instruction retrieval while minimizing additional bubbles on pipeline flushes and BTB misses. We present two different implementations that trade off complexity for additional performance. Both variants outperform a baseline decoupled fetcher design by up to 3.7% and 5.2%, respectively. Arthur Perais, Rami Sheikh, Luke Yen, Michael McIlvaine, Robert D. Clancy |
HPCA | 2 |
| 2019 | Efficient Load Value Prediction Using Multiple Predictors and FiltersabstractValue prediction [1], [2] has the potential to break through the performance limitations imposed by true data dependencies. Aggressive value predictors can deliver significant performance improvements, but usually require large hardware budgets. While predicting values of all instruction types is possible, prior work has shown that predicting just load values is most effective with a modest hardware budget (e.g., 8KB of prediction state [3], [4]). However, with hardware budget constraints and high prediction accuracy requirements (99%), prior work has struggled to increase the fraction of predicted loads (coverage) beyond the low 30s. In this paper, we analyzed four state-of-the-art load value predictors, and found that they complement each other. Based on that finding, we evaluated a new composite predictor that combines all four component predictors. Our results show that the composite predictor, combined with several optimizations we proposed, improve the benefit of load value prediction by 54%-74% depending on the total predictor budget. Moreover, our composite predictor delivers more than twice the coverage of first championship value prediction winner predictor (EVES [4]), and substantially increases the delivered speedup by more than 50%. Rami Sheikh, Derek Hower |
HPCA | 1 |
| 2018 | VPsec: countering fault attacks in general purpose microprocessors with value predictionabstractDespite their complexity, general purpose microprocessors are susceptible to fault attacks. The state-of-the-art fault attacks rely on a precise understanding of the microprocessor datapath and the instructions critical path, to identify the exact time and location for injecting data faults that affect only targeted instructions in the pipeline. Software-only mitigations are only partially effective to defend against such attacks, whereas existing hardware-assisted mitigations require substantial changes to the microprocessor design. Both types of mitigation introduce significant overheads to the application memory footprint, the microprocessor area, or impact the overall system performance. Rosario Cammarota, Rami Sheikh |
CF | 2 |
| 2018 | SPF: Selective Pipeline FlushabstractBranch mispredictions are inevitable in modern processors, but their high penalty in power and performance can be alleviated by selectively flushing the pipeline. In this paper, we present a practical technique to opportunistically determine the presence of correct path instructions in the processor pipeline and preserve those instructions instead of throwing them away. In our experiments, selective pipeline flush reduced the fetched instruction count by 7% (up to 26%), while increasing the performance by 2% (up to 15%). Vignyan Reddy Kothinti Naresh, Rami Sheikh, Arthur Perais, Harold W. Cain |
ICCD | 2 |
| 2017 | Load value prediction via path-based address prediction: avoiding mispredictions due to conflicting storesabstractCurrent flagship processors excel at extracting instruction-level-parallelism (ILP) by forming large instruction windows. Even then, extracting ILP is inherently limited by true data dependencies. Value prediction was proposed to address this limitation. Many challenges face value prediction, in this work we focus on two of them. Challenge #1: store instructions change the values in memory, rendering the values in the value predictor stale, and resulting in value mispredictions and a retraining penalty. Challenge #2: value mispredictions trigger costly pipeline flushes. To minimize the number of pipeline flushes, value predictors employ stringent, yet necessary, high confidence requirements to guarantee high prediction accuracy. Such requirements can negatively impact training time and coverage. Rami Sheikh, Harold W. Cain, Raguram Damodaran |
MICRO | 1 |
| 2015 | Control-Flow Decoupling: An Approach for Timely, Non-Speculative BranchingabstractMobile and PC/server class processor companies continue to roll out flagship core microarchitectures that are faster than their predecessors. Meanwhile placing more cores on a chip coupled with constant supply voltage puts per-core energy consumption at a premium. Hence, the challenge is to find future microarchitecture optimizations that not only increase performance but also conserve energy. Eliminating branch mispredictions-which waste both time and energy-is valuable in this respect. In this paper, we explore the control-flow landscape by characterizing mispredictions in four benchmark suites. We find that a third of mispredictions-per-1K-instructions (MPKI) come from what we call separable branches: branches with large control-dependent regions (not suitable for if-conversion), whose backward slices do not depend on their control-dependent instructions or have only a short dependence. We propose control-flow decoupling (CFD) to eradicate mispredictions of separable branches. The idea is to separate the loop containing the branch into two loops: the first contains only the branch's predicate computation and the second contains the branch and its control-dependent instructions. The first loop communicates branch outcomes to the second loop through an architectural queue. Microarchitecturally, the queue resides in the fetch unit to drive timely, non-speculative branching. On a microarchitecture configured similar to Intel's Sandy Bridge core, CFD increases performance by up to 55 percent, and reduces energy consumption by up to 49 percent (for CFD regions). Moreover, for some applications, CFD is a necessary catalyst for future complexity-effective large-window architectures to tolerate memory latency. Rami Sheikh, James Tuck 0001, Eric Rotenberg |
IEEE Trans. Computers | 1 |
| 2014 | LACS: A Locality-Aware Cost-Sensitive Cache Replacement AlgorithmabstractThe design of an effective last-level cache (LLC) in general—and an effective cache replacement/partitioning algorithm in particular—is critical to the overall system performance. The processor’s ability to hide the LLC miss penalty differs widely from one miss to another. The more instructions the processor manages to issue during the miss, the better it is capable of hiding the miss penalty and the lower the cost of that miss. This nonuniformity in the processor’s ability to hide LLC miss latencies, and the resultant nonuniformity in the performance impact of LLC misses, opens up an opportunity for a new cost-sensitive cache replacement algorithm. This paper makes two key contributions. First, It proposes a framework for estimating the costs of cache blocks at run-time based on the processor’s ability to (partially) hide their miss latencies. Second, It proposes a simple, low-hardware overhead, yet effective, cache replacement algorithm that is locality-aware and cost-sensitive (LACS). LACS is thoroughly evaluated using a detailed simulation environment. LACS speeds up 12 LLC-performance-constrained SPEC CPU2006 benchmarks by up to 51% and 11% on average. When evaluated using a dual/quad-core CMP with a shared LLC, LACS significantly outperforms LRU in terms of performance and fairness, achieving improvements up to 54%. Mazen Kharbutli, Rami Sheikh |
IEEE Trans. Computers | 2 |
| 2012 | Control-Flow DecouplingabstractMobile and PC/server class processor companies continue to roll out flagship core micro architectures that are faster than their predecessors. Meanwhile placing more cores on a chip coupled with constant supply voltage puts per-core energy consumption at a premium. Hence, the challenge is to find future micro architecture optimizations that not only increase performance but also conserve energy. Eliminating branch mispredictions -- which waste both time and energy -- is valuable in this respect. We first explore the control-flow landscape by characterizing mispredictions in four benchmark suites. We find that a third of mispredictions-per-1K-instructions (MPKI) come from what we call separable branches: branches with large control-dependent regions (not suitable for if-conversion), whose backward slices do not depend on their control-dependent instructions or have only a short dependence. We propose control-flow decoupling (CFD) to eradicate mispredictions of separable branches. The idea is to separate the loop containing the branch into two loops: the first contains only the branch's predicate computation and the second contains the branch and its control-dependent instructions. The first loop communicates branch outcomes to the second loop through an architectural queue. Micro architecturally, the queue resides in the fetch unit to drive timely, non-speculative fetching or skipping of successive dynamic instances of the control-dependent region. Either the programmer or compiler can transform a loop for CFD, and we evaluate both. On a micro architecture configured similar to Intel's Sandy Bridge core, CFD increases performance by up to 43%, and reduces energy consumption by up to 41%. Moreover, for some applications, CFD is a necessary catalyst for future complexity-effective large-window architectures to tolerate memory latency. Rami Sheikh, James Tuck 0001, Eric Rotenberg |
MICRO | 1 |
| 2010 | Improving cache performance by combining cost-sensitivity and locality principles in cache replacement algorithmsabstractDue to the ever increasing performance gap between the processor and the main memory, it becomes crucial to bridge that gap by designing an efficient memory hierarchy capable of reducing the average memory access time. The cache replacement algorithm plays a central role in designing an efficient memory hierarchy. Many of the recent studies in cache replacement algorithms have focused on improving L2 cache replacement algorithms by minimizing the miss count. However, depending on the dependency chain, cache miss bursts, and other factors, a processor's ability to partially hide the cost of an L2 cache miss varies; that is, cache miss costs are not uniform. Therefore, a better solution would account also for the aggregate miss cost in designing cache replacement algorithms. Our proposed solution combines the two principles of locality and cost-sensitivity into one which we call: LACS: Locality-Aware Cost-Sensitive cache replacement algorithm. LACS estimates a cache block's cost from the number of instructions the processor manages to issue during a cache miss on that block and then victimizes cache blocks with low cost and poor locality in order to maximize the overall cache performance. When LACS is evaluated using a uniprocessor architecture model, it speeds up 10 L2 cache performance-constrained SPEC CPU2000 benchmarks by up to 85% and 15% on average while not slowing down any of the 20 SPEC CPU2000 benchmarks evaluated. When evaluated using a dual-core CMP architecture model, LACS speeds up 6 SPEC CPU2000 benchmark pairs by up to 44% and 11% on average. Rami Sheikh, Mazen Kharbutli |
ICCD | 1 |