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

Ramesh Radhakrishnan

dblp:06/1741 · DBLP profile ↗
← Back
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

TopicWeightPapersLastEvidence papers
Runtime systems and virtual machines › virtual machine implementation
java virtual machine
0.122001
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.122001
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.022001
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.012001
Java Runtime Systems: Characterization and Architectural Implications · IEEE Trans. Computers 2001
Memory systems › cache
instruction and data cache
0.012001
Java Runtime Systems: Characterization and Architectural Implications · IEEE Trans. Computers 2001
Processor architecture and microarchitecture › front-end
instruction fetch and decode
0.012000
Allowing for ILP in an embedded Java processor · ISCA 2000
Processor architecture and microarchitecture › instruction set architecture › high-level language architecture
java processor
0.012000
Allowing for ILP in an embedded Java processor · ISCA 2000
Performance modeling and evaluation
benchmarking
0.011998
Evaluating MMX Technology Using DSP and Multimedia Applications · MICRO 1998
Performance modeling and evaluation › profiling
instruction-level profiling
0.011998
Evaluating MMX Technology Using DSP and Multimedia Applications · MICRO 1998
Processor architecture and microarchitecture
instruction set architecture
0.011998
Evaluating MMX Technology Using DSP and Multimedia Applications · MICRO 1998
Processor architecture and microarchitecture › SIMD
SIMD extensions
0.011998
Evaluating MMX Technology Using DSP and Multimedia Applications · MICRO 1998
Performance modeling and evaluation
workload characterization
0.022001
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.012000
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
YearPublicationVenuePosition
2020 Demystifying the MLPerf Training Benchmark Suite
abstract
MLPerf, 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
ISPASS6
2005 Performance Effects of Interrupt Throttle Rate on Linux Clusters using Intel Gigabit Network Adapters
abstract
Summary 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
CLUSTER2
2005 IBRIX File System: Architecture and Design
abstract
Summary 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
CLUSTER3
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
ISPA1
2001 Improving Java performance using hardware translation
abstract
State 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
ICS1
2001 Java Runtime Systems: Characterization and Architectural Implications
abstract
The 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. Computers1
2000 Architectural Issues in Java Runtime Systems
abstract
The 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
HPCA1
2000 Allowing for ILP in an embedded Java processor
abstract
Java 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
ISCA1
1999 A Performance Study of Modern Web Server Applications
Ramesh Radhakrishnan, Lizy Kurian John
Euro-Par1
1999 Characterization of Java Applications at Bytecode and Ultra-SPARC Machine Code Levels
abstract
The 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
ICCD1
1998 Execution characteristics of object oriented programs on the UltraSPARC-II
abstract
It 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
HiPC1
1998 Evaluating MMX Technology Using DSP and Multimedia Applications
abstract
Many 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
MICRO4