Demo Data from EDBT 2026 / reviewers in the wild / expert
Ramesh Radhakrishnan
dblp:06/1741
· DBLP profile ↗
12ranked-venue papers
8as first author
0since 2021 · last 2020
0000-0002-4382-8356ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 11 · 8 first-authorSoftware engineering, systems software and programming languages · 2 · 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
4 papers |
Processor architecture and microarchitecture · 52% Memory systems · 23% Performance modeling and evaluation · 21% | |
| Software engineering, system software, and programming languages
2 papers |
Runtime systems and virtual machines · 100% |
Topics — the 13 heaviest of 14, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Runtime systems and virtual machines › virtual machine implementation
java virtual machine |
0.1 | 2 | 2001 | Java Runtime Systems: Characterization and Architectural Implications · IEEE Trans. Computers 2001 Architectural Issues in Java Runtime Systems · HPCA 2000 |
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation |
0.1 | 2 | 2001 | Java Runtime Systems: Characterization and Architectural Implications · IEEE Trans. Computers 2001 Architectural Issues in Java Runtime Systems · HPCA 2000 |
Processor architecture and microarchitecture
instruction-level parallelism |
0.0 | 2 | 2001 | Allowing for ILP in an embedded Java processor · ISCA 2000 Java Runtime Systems: Characterization and Architectural Implications · IEEE Trans. Computers 2001 |
Memory systems
cache design |
0.0 | 1 | 2001 | Java Runtime Systems: Characterization and Architectural Implications · IEEE Trans. Computers 2001 |
Memory systems › cache
instruction and data cache |
0.0 | 1 | 2001 | Java Runtime Systems: Characterization and Architectural Implications · IEEE Trans. Computers 2001 |
Processor architecture and microarchitecture › front-end
instruction fetch and decode |
0.0 | 1 | 2000 | Allowing for ILP in an embedded Java processor · ISCA 2000 |
Processor architecture and microarchitecture › instruction set architecture › high-level language architecture
java processor |
0.0 | 1 | 2000 | Allowing for ILP in an embedded Java processor · ISCA 2000 |
Performance modeling and evaluation
benchmarking |
0.0 | 1 | 1998 | Evaluating MMX Technology Using DSP and Multimedia Applications · MICRO 1998 |
Performance modeling and evaluation › profiling
instruction-level profiling |
0.0 | 1 | 1998 | Evaluating MMX Technology Using DSP and Multimedia Applications · MICRO 1998 |
Processor architecture and microarchitecture
instruction set architecture |
0.0 | 1 | 1998 | Evaluating MMX Technology Using DSP and Multimedia Applications · MICRO 1998 |
Processor architecture and microarchitecture › SIMD
SIMD extensions |
0.0 | 1 | 1998 | Evaluating MMX Technology Using DSP and Multimedia Applications · MICRO 1998 |
Performance modeling and evaluation
workload characterization |
0.0 | 2 | 2001 | Java Runtime Systems: Characterization and Architectural Implications · IEEE Trans. Computers 2001 Evaluating MMX Technology Using DSP and Multimedia Applications · MICRO 1998 |
Embedded and real-time systems
embedded processor |
0.0 | 1 | 2000 | Allowing for ILP in an embedded Java processor · ISCA 2000 |
Methods — techniques the papers use, named apart from their topics
bytecode profiling · 0.1architectural simulation · 0.1interpretation · 0.1hardware realization · 0.1JIT compilation · 0.1verilog simulation · 0.0instruction level profiling · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Demystifying the MLPerf Training Benchmark SuiteabstractMLPerf, an emerging machine learning benchmark suite, strives to cover a broad range of machine learning applications. We present a study on the characteristics of MLPerf benchmarks and how they differ from previous deep learning benchmarks such as DAWNBench and DeepBench. MLPerf benchmarks are seen to exhibit moderately high memory transactions per second and moderately high compute rates, while DAWNBench creates a high-compute benchmark with low memory transaction rate, and DeepBench provides low compute rate benchmarks. We also observe that the various MLPerf benchmarks possess unique features that allow unveiling various bottlenecks in systems. We also observe variation in scaling efficiency across the MLPerf models. The variation exhibited by the different models highlight the importance of smart scheduling strategies for multi-GPU training. Another observation is that dedicated low latency interconnect between GPUs in multi-GPU systems is crucial for optimal distributed deep learning training. Furthermore, host CPU utilization increases with an increase in the number of GPUs used for training. Corroborating prior work, we also observe and quantify improvements possible by mixed-precision training using Tensor Cores. Snehil Verma, Qinzhe Wu, Bagus Hanindhito, Gunjan Jha, Eugene John, Ramesh Radhakrishnan, Lizy Kurian John |
ISPASS | 6 |
| 2005 | Performance Effects of Interrupt Throttle Rate on Linux Clusters using Intel Gigabit Network AdaptersabstractSummary form only given. Many high performance computing clusters (HPCC) are still built using gigabit Ethernet as the interconnect connecting all the computing nodes even though there are faster (lower latency and higher bandwidth) alternatives such as Infiniband and Myrinet. The choice of interconnect mainly depends on the parallel application communication characteristics as well as budget requirements since the faster alternatives are much more expensive compared to gigabit Ethernet especially at lower node counts. Some applications require lower latency interconnect since they communicate more frequently but send relatively small messages, and others can be sending infrequent but large messages thus requiring a higher bandwidth interconnect. Since PCs, workstations and servers are designed for server-client type of environment, network interface card (NIC) drivers are usually optimized for specific network traffic patterns by using several interrupt moderation techniques/parameters, specifically interrupt throttle rate (ITR). Since in an HPCC environment the parallel application communication characteristics (i.e. network traffic patterns) are usually different than the default setting, an ITR value has to be identified to achieve best overall system performance for each type of application. This poster will present the case for why this is an important area in high-performance computing clusters connected using gigabit interconnects. It will present methodologies to tune the interrupt throttle rate parameter given to the driver to achieve a balance between application and network performance. Performance results on typical applications will be shown on different clusters Baris Guler, Ramesh Radhakrishnan, Ronald Pepper |
CLUSTER | 2 |
| 2005 | IBRIX File System: Architecture and DesignabstractSummary form only given. Recently, there have been significant advances in file system technology in the form of cluster, distributed and/or parallel file systems in an attempt to break the I/O bottleneck plaguing the effective utilization of clusters of commodity computers. Successes have been achieved in scaling performance when defined as bandwidth, as typified by sequential access of large files using large I/O sizes. Applications with such access patterns does not represent all application classes to which cluster computing is being applied as a potential solution, the balance being those that access small and medium sized files in a random or sequential manner using small I/O sizes. Specifically, these access patterns perform as many and often more "metadata" operations on the file system as data reads or writes. Since metadata operations are at the heart of a file system and impact its integrity, scaling throughput or metadata performance through concurrency across many servers poses the most difficult technical challenge in file system design. This poster will present details about the fundamentally new architecture for constructing parallel file systems called segmented file system that scales linearly for both data and metadata oriented applications. Performance results will be presented with the IBRIX Fusion product (http:Wwww.ibrix.com) based on this architecture using micro benchmarks as well as real applications demonstrating the general-purpose scalability of this architecture. The poster will also show typical I/O cluster offerings from Dell that use IBRIX, using large cluster installations at universities and research labs as an example Sudhir Srinivasan, Amina Saify, Ramesh Radhakrishnan |
CLUSTER | 3 |
| 2004 | Evaluating Performance of BLAST on Intel Xeon and Itanium2 Processors
Ramesh Radhakrishnan, Rizwan Ali, Garima Kochhar, Kalyana Chadalavada, Ramesh Rajagopalan, Jenwei Hsieh, Onur Celebioglu |
ISPA | 1 |
| 2001 | Improving Java performance using hardware translationabstractState of the art Java Virtual Machines with Just-In-Time (JIT) compilers make use of advanced compiler techniques, run-time profiling and adaptive compilation to improve performance. However, these techniques for alleviating performance bottlenecks are more effective in long running workloads, such as server applications. Short running Java programs, or client workloads, spend a large fraction of their execution time in compilation instead of useful execution when run using JIT compilers. In short running Java programs, the benefits of runtime translation do not compensate for the overhead. Ramesh Radhakrishnan, Ravi Bhargava, Lizy Kurian John |
ICS | 1 |
| 2001 | Java Runtime Systems: Characterization and Architectural ImplicationsabstractThe Java Virtual Machine (JVM) is the cornerstone of Java technology and its efficiency in executing the portable Java bytecodes is crucial for the success of this technology. Interpretation, Just-in-Time (JIT) compilation, and hardware realization are well-known solutions for a JVM and previous research has proposed optimizations for each of these techniques. However, each technique has its pros and cons and may not be uniformly attractive for all hardware platforms. Instead, an understanding of the architectural implications of JVM implementations with real applications can be crucial to the development of enabling technologies for efficient Java runtime system development on a wide range of platforms. Toward this goal, this paper examines architectural issues from both the hardware and JVM implementation perspectives. The paper starts by identifying the important execution characteristics of Java applications from a bytecode perspective. It then explores the potential of a smart JIT compiler strategy that can dynamically interpret or compile based on associated costs and investigates the CPU and cache architectural support that would benefit JVM implementations. We also study the available parallelism during the different execution modes using applications from the SPECjvm98 benchmarks. At the bytecode level, it is observed that less than 5 out of the 256 bytecodes constitute 90 percent of the dynamic bytecode stream. Method sizes fall into a trinodal distribution with peak of 1, 9, and 26 bytecodes across all benchmarks. The architectural issues explored in this study show that, when Java applications are executed with a JIT compiler, selective translation using good heuristics can improve performance, but the saving is only 10-15 percent at best. The instruction and data cache performance of Java applications are seen to be better than that of C/C/sub +/+ applications except in the case of data cache performance in the JIT mode. Write misses resulting from installation of JIT compiler output dominate the misses and deteriorate the data cache performance in JIT mode. A study on the available parallelism shows that Java programs executed using JIT compilers have parallelism comparable to C/C++ programs for small window sizes, but falls behind when the window size is increased. Java programs executed using the interpreter have very little parallelism due to the stack nature of the SVM instruction set, which is dominant in the interpreted execution mode. In addition, this work gives revealing insights and architectural proposals for designing an efficient Java runtime system. Ramesh Radhakrishnan, Narayanan Vijaykrishnan, Lizy Kurian John, Anand Sivasubramaniam, Juan C. Rubio, Jyotsna Sabarinathan |
IEEE Trans. Computers | 1 |
| 2000 | Architectural Issues in Java Runtime SystemsabstractThe Java Virtual Machine (JVM) is the cornerstone of Java technology, and its efficiency in executing portable Java bytecodes is crucial for the success of this technology. Interpretation, just-in-time (JIT) compilation and hardware realization are well-known solutions for JVM, and previous research has proposed optimizations for each of these techniques. However, each technique has its pros and cons and may not be uniformly attractive for all hardware platforms. Instead, an understanding of the architectural implications of JVM implementations with real applications can be crucial to the development of enabling technologies for efficient Java runtime system development on a wide range of platforms (from resource-rich servers to resource-constrained hand-held/embedded systems). Towards this goal, this paper examines architectural issues, from both the hardware and JVM implementation perspectives. It specifically explores the potential of a smart JIT compiler strategy that can dynamically interpret or compile based on associated costs, investigates the CPU and cache architectural support that would benefit JVM implementations, and examines the synchronization support for enhancing performance, using applications from the SpecJVM98 benchmarks. Ramesh Radhakrishnan, Narayanan Vijaykrishnan, Lizy Kurian John, Anand Sivasubramaniam |
HPCA | 1 |
| 2000 | Allowing for ILP in an embedded Java processorabstractJava processors are ideal for embedded and network computing applications such as Internet TV's, set-top boxes, smart phones, and other consumer electronics applications. In this paper, we investigate cost-effective microarchitectural techniques to exploit parallelism in Java bytecode streams. Firstly, we propose the use of a fill unit that stores decoded bytecodes into a decoded bytecode cache. This mechanism improves the fetch and decode bandwidth of Java processors by 2 to 3 times. These additional hardware units can also be used to perform optimizations such as instruction folding. This is particularly significant because experiments with the Verilog model of Sun Microsystems pico Java-II core demonstrates that instruction folding lies in the critical path. Moving folding logic from the critical path of the processor to the fill unit allows to improve the clock frequency by 25%. Out-of-order ILP exploitation is not investigated due to the prohibitive cost, but in-order dual-issue with a 64-entry decoded bytecode cache is seen to result in 10% to 14% improvement in execution cycles. Another contribution of the paper is a stack disambiguation technique that allows elimination of false dependencies between different types of stack accesses. Stack disambiguation further exposes parallelism and a dual in-order issue microengine with a 64-entry bytecode cache yields an additional 10% reduction in cycles, leading to an aggregate reduction of 17% to 24% in execution cycles. Ramesh Radhakrishnan, Deependra Talla, Lizy Kurian John |
ISCA | 1 |
| 1999 | A Performance Study of Modern Web Server Applications
Ramesh Radhakrishnan, Lizy Kurian John |
Euro-Par | 1 |
| 1999 | Characterization of Java Applications at Bytecode and Ultra-SPARC Machine Code LevelsabstractThe paper identifies some of the most important execution characteristics of a recent suite of Java benchmarks (SPEC JVM98) from a bytecode perspective and while running in an interpreted environment on the Sun Ultra SPARC-II. We instrumented the Java Virtual Machine (JVM) to obtain detailed traces and developed a Java bytecode analyzer environment called Jaba to characterize the applications at the bytecode level. Utilizing Jaba and SPARC profiling tools, we analyze bytecode locality, instruction mix and dynamic method sizes. It is observed that less than 45 out of the 250 Java bytecodes constitute 90% of the bytecode stream. A tri-nodal distribution with peaks of 1, 10 and 27 bytecodes is observed for method size across all benchmarks in the JVM98 suite. For most of the applications, one bytecode is seen to translate into approximately 25 SPARC instructions. Ramesh Radhakrishnan, Juan C. Rubio, Lizy Kurian John |
ICCD | 1 |
| 1998 | Execution characteristics of object oriented programs on the UltraSPARC-IIabstractIt is widely accepted that object-oriented design improves code reusability, facilitates code maintainability and enables higher levels of abstraction. Although software developers and the software engineering community have embraced object-oriented programming for these benefits, there have been wide concerns about the performance overhead associated with this programming paradigm on modern processors. In this paper, we characterize the performance of several C and C++ benchmarks on an UltraSPARC-II processor. Various architectural data related to execution behavior of the benchmarks are collected using on-chip performance monitoring counters. Factors including CPI, instruction and data cache misses, processor stalls due to instruction cache misses and branch misprediction, from real execution of several programs are measured and presented. While previous research evaluates the behavioral differences between C and C++ programs based on profiling and simulation, we will measure executi... Ramesh Radhakrishnan, Lizy Kurian John |
HiPC | 1 |
| 1998 | Evaluating MMX Technology Using DSP and Multimedia ApplicationsabstractMany current general purpose processors are using extensions to the instruction set architecture to enhance the performance of digital signal processing (DSP) and multimedia applications. In this paper, we evaluate the X86 architecture's multimedia extension (MMX) instruction set on a set of benchmarks. Our benchmark suite includes kernels (filtering, fast Fourier transforms, and vector arithmetic) and applications (JPEG compression, Doppler radar processing, imaging, and G.722 speech encoding). Each benchmark has at least one non-MMX version in C and an MMX version that makes calls to an MMX assembly library. The versions differ in the implementation of filtering, vector arithmetic, and other relevant kernels. The observed speed up for the MMX versions of the suite ranges from less than 1.0 to 6.1. In addition to quantifying the speedup, we perform detailed instruction level profiling using Intel's VTune profiling tool. Using VTune, we profile static and dynamic instructions, microarchitecture operations, and data references to isolate the specific reasons for speedup or lack thereof. This analysis allows one to understand which aspects of native signal processing instruction sets are most useful, the current limitations, and how they can be utilized most efficiently. Ravi Bhargava, Lizy Kurian John, Brian L. Evans, Ramesh Radhakrishnan |
MICRO | 4 |