Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Lihu Rappoport

dblp:72/2991 · DBLP profile ↗
← Back
7ranked-venue papers
0as first author
0since 2021 · last 2020
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 7Software engineering, systems software and programming languages · 3

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
Processor architecture and microarchitecture · 96% Performance modeling and evaluation · 3% Memory systems · 1%
Theoretical computer science
1 paper
Distributed computing theory · 100%

Topics — the 19 heaviest of 20, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture
branch prediction
0.832020
Auto-Predication of Critical Branches · ISCA 2020
Towards the adoption of Local Branch Predictors in Modern Out-of-Order Superscalar Processors · MICRO 2019
eXtended Block Cache · HPCA 2000
Processor architecture and microarchitecture › branch prediction
hard-to-predict branch
0.412020
Auto-Predication of Critical Branches · ISCA 2020
Processor architecture and microarchitecture
speculation
0.412020
Auto-Predication of Critical Branches · ISCA 2020
Processor architecture and microarchitecture
speculative execution
0.412020
Focused Value Prediction · ISCA 2020
Processor architecture and microarchitecture
value prediction
0.412020
Focused Value Prediction · ISCA 2020
Processor architecture and microarchitecture › branch prediction
branch misprediction recovery
0.412019
Towards the adoption of Local Branch Predictors in Modern Out-of-Order Superscalar Processors · MICRO 2019
Processor architecture and microarchitecture › superscalar processor
superscalar out-of-order processor
0.412019
Towards the adoption of Local Branch Predictors in Modern Out-of-Order Superscalar Processors · MICRO 2019
Processor architecture and microarchitecture
instruction-level parallelism
0.112020
Focused Value Prediction · ISCA 2020
Processor architecture and microarchitecture
pipelining
0.112020
Auto-Predication of Critical Branches · ISCA 2020
Performance modeling and evaluation › simulation
simulation-based evaluation
0.112019
Towards the adoption of Local Branch Predictors in Modern Out-of-Order Superscalar Processors · MICRO 2019
Memory systems › cache › CPU cache
instruction cache
0.012000
eXtended Block Cache · HPCA 2000
Processor architecture and microarchitecture
instruction fetch
0.012000
eXtended Block Cache · HPCA 2000
Processor architecture and microarchitecture › front-end
instruction supply
0.012000
eXtended Block Cache · HPCA 2000
Processor architecture and microarchitecture › instruction fetch
trace cache
0.012000
eXtended Block Cache · HPCA 2000
Distributed computing theory › shared memory
asynchronous shared memory
0.011994
Disjoint-Access-Parallel Implementations of Strong Shared Memory Primitives · PODC 1994
Distributed computing theory
shared memory
0.011994
Disjoint-Access-Parallel Implementations of Strong Shared Memory Primitives · PODC 1994
Distributed computing theory › shared memory
shared-memory primitive
0.011994
Disjoint-Access-Parallel Implementations of Strong Shared Memory Primitives · PODC 1994
Memory systems
cache
0.011999
Correlated Load-Address Predictors · ISCA 1999
Parallel and multicore computing
concurrent data structures
0.011994
Disjoint-Access-Parallel Implementations of Strong Shared Memory Primitives · PODC 1994

Methods — techniques the papers use, named apart from their topics

simulation · 0.9extended block cache · 0.0disjoint-access-parallelism · 0.0
YearPublicationVenuePosition
2020 Focused Value Prediction
abstract
Value Prediction was proposed to speculatively break true data dependencies, thereby allowing Out of Order (OOO) processors to achieve higher instruction level parallelism (ILP) and gain performance. State-of-the-art value predictors try to maximize the number of instructions that can be value predicted, with the belief that a higher coverage will unlock more ILP and increase performance. Unfortunately, this comes at increased complexity with implementations that require multiple different types of value predictors working in tandem, incurring substantial area and power cost.In this paper we motivate towards lower coverage, but focused, value prediction. Instead of aggressively increasing the coverage of value prediction, at the cost of higher area and power, we motivate refocusing value prediction as a mechanism to achieve an early execution of instructions that frequently create performance bottlenecks in the OOO processor. Since we do not aim for high coverage, our implementation is light-weight, needing just 1.2 KB of storage. Simulation results on 60 diverse workloads show that we deliver 3.3% performance gain over a baseline similar to the Intel Skylake processor. This performance gain increases substantially to 8.6% when we simulate a futuristic up-scaled version of Skylake. In contrast, for the same storage, state-of-the-art value predictors deliver a much lower speedup of 1.7% and 4.7% respectively. Notably, our proposal is similar to these predictors in performance, even when they are given nearly eight times the storage and have 60% more prediction coverage than our solution.
Sumeet Bandishte, Jayesh Gaur, Zeev Sperber, Lihu Rappoport, Adi Yoaz, Sreenivas Subramoney
ISCA4
2020 Auto-Predication of Critical Branches
abstract
Advancements in branch predictors have allowed modern processors to aggressively speculate and gain significant performance with every generation of increasing out-of-order depth and width. Unfortunately, there are branches that are still hard-to-predict (H2P) and mis-speculation on these branches is severely limiting the performance scalability of future processors. One potential solution to mitigate this problem is to predicate branches by substituting control dependencies with data dependencies. Predication is very costly for performance as it inhibits instruction level parallelism. To overcome this limitation, prior works selectively applied predication at run-time on H2P branches that have low confidence of branch prediction. However, these schemes do not fully comprehend the delicate trade-offs involved in suppressing speculation and can suffer from performance degradation on certain workloads. Additionally, they need significant changes not just to the hardware but also to the compiler and the instruction set architecture, rendering their implementation complex and challenging.In this paper, by analyzing the fundamental trade-offs between branch prediction and predication, we propose Auto-Predication of Critical Branches (ACB) - an end-to-end hardware-based solution that intelligently disables speculation only on branches that are critical for performance. Unlike existing approaches, ACB uses a sophisticated performance monitoring mechanism to gauge the effectiveness of dynamic predication, and hence does not suffer from performance inversions. Our simulation results show that, with just 386 bytes of additional hardware and no software support, ACB delivers 8% performance gain over a baseline similar to the Skylake processor. We also show that ACB reduces pipeline flushes because of mis-speculations by 22%, thus effectively helping both power and performance.
Adarsh Chauhan, Jayesh Gaur, Zeev Sperber, Franck Sala, Lihu Rappoport, Adi Yoaz, Sreenivas Subramoney
ISCA5
2019 Towards the adoption of Local Branch Predictors in Modern Out-of-Order Superscalar Processors
abstract
Branch prediction accuracy plays a dominant role in the performance provided by modern Out-of-Order(OOO) superscalar processors. While global history-based branch predictors are more popular, local history-based predictors offer an additional dimension towards enhancing the overall branch prediction accuracy. Integrating the local predictors in modern cores, though, comes with non-trivial challenges associated with managing the local predictor's state and repairing this state on any branch misprediction is essential for the local predictor to operate effectively. Using a highly accurate, industry standard simulator modeling a Skylake-like OOO core and workloads spanning diverse categories including Server, High Performance Computing (HPC) and personal computing suites, besides SPEC, we methodically highlight the issues that need to be tackled, why local predictor repair is non-trivial and the performance opportunity that is lost when the local predictor repair is not handled efficiently. We discuss the issues with prior techniques and quantify their limitations when using them in current OOO cores. Further, we propose three practical, implementable and efficient repair techniques with minimal storage requirements that provide significant performance gains for local predictors. Unlike prior repair techniques that can only attain 50% of the oracular gains, our realistic repair techniques retain about 80% of the oracular gains resulting in significantly better application performance.
Niranjan Soundararajan, Ragavendra Natarajan, Jared Stark, Rahul Pal, Franck Sala, Lihu Rappoport, Adi Yoaz, Sreenivas Subramoney
MICRO7
2016 Inside 6th gen Intel® Core™: New microarchitecture code named skylake
abstract
The Intel core microarchitecture is a new foundation for Intel architecture-based desktop, mobile and mainstream server multi-core processors. Designed for efficiency and optimised performance across a range of market segments and power envelopes.
Ittai Anati, David Blythe, Jack Doweck, Wen-Fu Kao, Julius Mandelblat, Lihu Rappoport, Efraim Rotem, Ahmad Yasin
Hot Chips Symposium7
2000 eXtended Block Cache
abstract
This paper describes a new instruction-supply mechanism, called the eXtended Block Cache (XBC). The goal of the XBC is to improve on the Trace Cache (TC) hit rate, while providing the same bandwidth. The improved hit rate is achieved by having the XBC a nearly redundant free structure. The basic unit recorded in the XBC is the extended block (XB), which is a multiple-entry single-exit instruction block. A XB is a sequence of instructions ending on a conditional or an indirect branch. Unconditional direct jumps do not end a XB. In order to enable multiple entry points per XB, the XB index is derived from the IP of its ending instruction. Instructions within the XB are recorded in reverse order, enabling easy extension of XBs. The multiple entry-points remove most of the redundancy. Since there is at most one conditional branch per XB, we can fetch up to n XBs per cycle by predicting n branches. The multiple fetch enables the XBC to march the TC bandwidth.
Stéphan Jourdan, Lihu Rappoport, Yoav Almog, Mattan Erez, Adi Yoaz, Ronny Ronen
HPCA2
1999 Correlated Load-Address Predictors
abstract
As microprocessors become faster, the relative performance cost of memory accesses increases. Bigger and faster caches significantly reduce the absolute load-to-use time delay. However, increase in processor operational frequencies impairs the relative load-to-use latency, measured in processor cycles (e.g. from two cycles on the Pentium processor to three cycles of more in current designs). Load-address prediction techniques were introduced to partially cut the load-to-use latency. This paper focuses on advanced address-prediction schemes to further shorten program execution time. Existing address prediction schemes are capable of predicting simple address patterns, consisting mainly of constant addresses or stride-based addresses. This paper explores the characteristics of the remaining loads and suggests new enhanced techniques to improve prediction effectiveness: Context-based prediction to tackle part of the remaining, difficult-to-predict, load instructions. New prediction algorithms to take advantage of global correlation among different static loads. New confidence mechanisms to increase the correct prediction rate and to eliminate costly mispredictions. Mechanisms to prevent long or random address sequences from polluting the predictor data structures while providing some hysteresis behavior to the predictions. Such an enhanced address predictor accurately predicts 67% of all loads, while keeping the misprediction rate close to 1% We further prove that the proposed predictor works reasonably well in a deep pipelined architecture where the predict-to-update delay may significantly impair both prediction rate and accuracy.
Michael Bekerman, Stéphan Jourdan, Ronny Ronen, Gilad Kirshenboim, Lihu Rappoport, Adi Yoaz, Uri C. Weiser
ISCA5
1994 Disjoint-Access-Parallel Implementations of Strong Shared Memory Primitives
abstract
In this paper, we present efficient implementations of strong shared memory primitives.We use the asynchronous shar-ed memory model.In this model, processes communicate by applying primitive operations (e.g.
Amos Israeli, Lihu Rappoport
PODC2