Demo Data from EDBT 2026 / reviewers in the wild / expert
Ragavendra Natarajan
dblp:115/5270
· DBLP profile ↗
3ranked-venue papers
1as 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 · 3 · 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
2 papers |
Processor architecture and microarchitecture · 69% Memory systems · 11% Parallel and multicore computing · 11% |
Topics — the 8 heaviest of 8, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Processor architecture and microarchitecture › branch prediction
branch misprediction recovery |
0.4 | 1 | 2019 | Towards the adoption of Local Branch Predictors in Modern Out-of-Order Superscalar Processors · MICRO 2019 |
Processor architecture and microarchitecture
branch prediction |
0.4 | 1 | 2019 | 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.4 | 1 | 2019 | Towards the adoption of Local Branch Predictors in Modern Out-of-Order Superscalar Processors · MICRO 2019 |
Memory systems › memory consistency
memory consistency model |
0.2 | 1 | 2015 | Leveraging Transactional Execution for Memory Consistency Model Emulation · ACM Trans. Archit. Code Optim. 2015 |
Processor architecture and microarchitecture
transactional execution |
0.2 | 1 | 2015 | Leveraging Transactional Execution for Memory Consistency Model Emulation · ACM Trans. Archit. Code Optim. 2015 |
Parallel and multicore computing
transactional memory |
0.2 | 1 | 2015 | Leveraging Transactional Execution for Memory Consistency Model Emulation · ACM Trans. Archit. Code Optim. 2015 |
Performance modeling and evaluation › simulation
simulation-based evaluation |
0.1 | 1 | 2019 | Towards the adoption of Local Branch Predictors in Modern Out-of-Order Superscalar Processors · MICRO 2019 |
Electronic design automation › hardware verification and test › functional verification › emulation
full-system emulation |
0.1 | 1 | 2015 | Leveraging Transactional Execution for Memory Consistency Model Emulation · ACM Trans. Archit. Code Optim. 2015 |
Methods — techniques the papers use, named apart from their topics
transactional execution · 0.2memory fences · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Opportunistic Early Pipeline Re-steering for Data-dependent BranchesabstractAs Out-of-Order (OOO) cores scale to very large instruction windows to extract higher instruction level parallelism (ILP), the cost of mis-speculation increases tremendously. Branch predictors sitting at the head of the pipeline are a significant contributor to the speculatively executed code. It is critical to limit the execution time down the wrong path for the sake of performance and energy efficiency. Architects continue to increase the branch predictor sizes and improve the prediction algorithms to mitigate the increasing cost of the mis-speculations. Unfortunately, there still exists branches whose outcomes are predominantly data dependent, and that significantly contribute to the overall mispredictions. This work is the first to characterize data dependent branches at a scale spanning 100+ workloads drawn from several application categories and establish a clear motivation to address them. We find that branches which have only one load instruction feeding them and only simple operations to compute the branch direction from the load value are responsible for a significant fraction of the overall mispredictions. We call such branches Direct Data Dependent (3D) branches. We develop a family of synergistic techniques to avoid mispredictions from such 3D-branches. We describe 3D-Branch Overrider, our novel branch overriding technique that operates in the front-end of the pipeline to minimize the branch misprediction penalties. On a modern Icelake-like OOO core equipped with the state-of-the-art branch predictor, we find that our technique provides a 12.7% reduction in branch mispredictions resulting in 3.1% Instructions Per Cycle (IPC) gain while needing just 5.7KB in additional storage. As future cores become wider and deeper, we show that the gains from 3D-Branch Overrider nicely increases, even if the size of the underlying branch predictor is aggressively scaled. Niranjan Soundararajan, Ragavendra Natarajan, Sreenivas Subramoney |
PACT | 3 |
| 2019 | Towards the adoption of Local Branch Predictors in Modern Out-of-Order Superscalar ProcessorsabstractBranch 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 |
MICRO | 3 |
| 2015 | Leveraging Transactional Execution for Memory Consistency Model EmulationabstractSystem emulation is widely used in today’s computer systems. This technology opens new opportunities for resource sharing as well as enhancing system security and reliability. System emulation across different instruction set architectures (ISA) can enable further opportunities. For example, cross-ISA emulation can enable workload consolidation over a wide range of microprocessors and potentially facilitate the seamless deployment of new processor architectures. As multicore and manycore processors become pervasive, it is important to address the challenges toward supporting system emulation on these platforms. A key challenge in cross-ISA emulation on multicore systems is ensuring the correctness of emulation when the guest and the host memory consistency models differ. Many existing cross-ISA system emulators are sequential, thus they are able to avoid this problem at the cost of significant performance degradation. Recently proposed parallel emulators are able to address the performance limitation; however, they provide limited support for memory consistency model emulation. When the host system has a weaker memory consistency model compared to the guest system, the emulator can insert memory fences at appropriate locations in the translated code to enforce the guest memory ordering constraints. These memory fences can significantly degrade the performance of the translated code. Transactional execution support available on certain recent microprocessors provides an alternative approach. Transactional execution of the translated code enforces sequential consistency (SC) at the coarse-grained transaction level, which in turn ensures that all memory accesses made on the host machine conform to SC. Enforcing SC on the host machine guarantees that the emulated execution will be correct for any guest memory model. In this article, we compare and evaluate the overheads associated with using transactions and fences for memory consistency model emulation on the Intel Haswell processor. Our experience of implementing these two approaches on a state-of-the-art parallel emulator, COREMU, demonstrates that memory consistency model emulation using transactions performs better when the transaction sizes are large enough to amortize the transaction overhead and the transaction conflict rate is low, whereas inserting memory fences is better for applications in which the transaction overhead is high. A hybrid implementation that dynamically determines which approach to invoke can outperform both approaches. Our results, based on the SPLASH-2 and the PARSEC benchmark suites, demonstrate that the proposed hybrid approach is able to outperform the fence insertion mechanism by 4.9% and the transactional execution approach by 24.9% for two-thread applications, and outperform them by 4.5% and 44.7%, respectively, for four-threaded execution. Ragavendra Natarajan, Antonia Zhai |
ACM Trans. Archit. Code Optim. | 1 |