Suresh Srinivas

dblp:27/3155 · DBLP profile ↗
← Back
6ranked-venue papers
0as first author
0since 2021 · last 2008
—ORCID · none

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

Systems, architecture and hardware · 6Software engineering, systems software and programming languages · 2

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.

Software engineering, system software, and programming languages
2 papers
Concurrent programming · 35% Runtime systems and virtual machines · 35% Compilers and program optimization · 30%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Processor architecture and microarchitecture · 74% High-performance computing · 9% Parallel and multicore computing · 9%

Topics — the 8 heaviest of 9, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Runtime systems and virtual machines › managed runtime
java runtime
0.112008
Practical experiences with Java software transactional memory · PPoPP 2008
Concurrent programming › transactional memory
software transactional memory
0.112008
Practical experiences with Java software transactional memory · PPoPP 2008
Processor architecture and microarchitecture
speculative execution
0.112007
Hardware atomicity for reliable software speculation · ISCA 2007
Processor architecture and microarchitecture
atomic operations
0.012007
Hardware atomicity for reliable software speculation · ISCA 2007
Processor architecture and microarchitecture
instruction set architecture
0.012007
Hardware atomicity for reliable software speculation · ISCA 2007
Distributed systems › fault tolerance
checkpointing
0.011995
pC++/streams: a Library for I/O on Complex Distributed Data Structures · PPoPP 1995
High-performance computing
parallel i/o
0.011995
pC++/streams: a Library for I/O on Complex Distributed Data Structures · PPoPP 1995
Parallel and multicore computing › parallel computing
parallel programming languages
0.011995
pC++/streams: a Library for I/O on Complex Distributed Data Structures · PPoPP 1995

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

software transactional memory · 0.1lock-based synchronization · 0.1buffered i/o abstraction · 0.0
YearPublicationVenuePosition
2008 Practical experiences with Java software transactional memory
abstract
In this paper, we evaluate the emerging Transactional Memory (TM) area by developing a set of Java transactional memory workloads and studying their performance under a Java Software Transactional Memory (STM) system and comparing them to their lock based counterparts. We provide a detailed performance and memory consumption analysis of the overheads of software transactional memory and transactional workloads within a production quality open source Java Runtime system. Additionally, we detail the impact of the various performance optimizations in both workloads and the underlying runtime system to improving both single thread performance and scalability.
Evgueni Brevnov, Yuri Dolgov, Boris Kuznetsov, Dmitry Yershov, Vyacheslav Shakin, Dong-yuan Chen, Vijay Menon 0002, Suresh Srinivas
PPoPP8
2007 Hardware atomicity for reliable software speculation
abstract
Speculative compiler optimizations are effective in improving both single-thread performance and reducing power consumption, but their implementation introduces significant complexity, which can limit their adoption, limit their optimization scope, and negatively impact the reliability of the compilers that implement them. To eliminate much of this complexity, as well as increase the effectiveness of these optimizations, we propose that microprocessors provide architecturally-visible hardware primitives for atomic execution. These primitives provide to the compiler the ability to optimize the program's hot path in isolation, allowing the use of non-speculative formulations of optimization passes to perform speculative optimizations. Atomic execution guarantees that if a speculation invariant does not hold, the speculative updates are discarded, the register state is restored, and control is transferred to a non-speculative version of the code, thereby relieving the compiler from the responsibility of generating compensation code.
Naveen Neelakantam, Ravi Rajwar, Suresh Srinivas, Uma Srinivasan 0003, Craig B. Zilles
ISCA3
2006 Java JNI Bridge: A Framework for Mixed Native ISA Execution
abstract
Managed runtime environments (MRTEs) such as the Java platform promise a cross platform "write once, deploy anywhere" mechanism. However, MRTE applications that contain native method calls are not seamlessly portable across platforms. In this paper, we describe a new approach to transparently run Java applications containing native method calls to one ISA (instruction set architecture) on a different ISA's Java platform. This approach operates within the same operating system process that executes the application but with the support of a dynamic translator. This paper describes the technical challenges and solutions of such an in-process implementation within a production Java Virtual Machine (JVM). These include interfacing the JVM with a dynamic translator to support native calls to a different ISA, pursuing a JVM-independent implementation, enhancing the dynamic translator to support shared libraries in addition to executables, marshalling arguments across ISA boundaries, and providing full support for all Java features such as multi-threading. The paper presents performance results for an end-user application, showing our approach to be 2-3 times faster than other approaches.
Miaobo Chen, Shalom Goldenberg, Suresh Srinivas, Valery Ushakov, Young Wang, Eric Lin, Yoav Zach
CGO3
2000 Practical Experiences with Java Compilation
Todd Smith, Suresh Srinivas, Philipp Tomsich, Jinpyo Park
HiPC2
1997 A Portable Browser for Performance Programming
abstract
We present jCITE, a performance tuning tool for scientific applications. By combining the static information produced by the compiler with the profile data from real program execution, jCITE can be used to quickly understand the performance bottlenecks. The compiler information allows great understanding of what optimizations have been performed. The user can also find out which optimizations have not been applied and why. Platform independence makes Java the ideal implementation platform for our tool. SGI users can have the same performance analysis tool on all platforms. You can run jCITE on an SGI desktop machine (O2, Octane, Indy) or on a PC running Windows to analyze and optimize the performance of a scientific code running on an SGI Challenge or an SGI Origin machine. In our experiments we were able to significantly speed up some SPEC95 applications in a few days or even a few hours without any prior knowledge of those applications. A longer version of this paper describes all our experiments with jCITE. © 1997 John Wiley & Sons, Ltd.
Michal Cierniak, Suresh Srinivas
Concurr. Pract. Exp.2
1995 pC++/streams: a Library for I/O on Complex Distributed Data Structures
abstract
The design and implementation of portable, efficient, and expressive mechanisms for I/O on complex distributed data structures—such as found in adaptive parallel applications—is a challenging problem that we address in this paper.We describe the design, programmer interface, implementation, and performance of pC++/streams, a library that provides an expressive mechanism for I/O on distributed arrays of variable-sized objects in pC++, an object-parallel language. pC++/streams is intended for developers of parallel programs requiring efficient high-level I/O abstractions for checkpointing, scientific visualization, and debugging.pC++/streams is an implementation of d/streams, a language-independent abstraction for buffered I/O on distributed data structures. We describe the d/streams abstraction and present performance results on the Intel Paragon and SGI Challenge showing that d/streams can be implemented efficiently and portably.
Jacob Gotwals, Suresh Srinivas, Dennis Gannon
PPoPP2