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

Jaydeep Marathe

dblp:99/1539 · DBLP profile ↗
← Back
10ranked-venue papers
8as first author
0since 2021 · last 2010
—ORCID · none

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

Systems, architecture and hardware · 9 · 7 first-authorSoftware engineering, systems software and programming languages · 3 · 2 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
5 papers
Performance modeling and evaluation · 48% Memory systems · 41% High-performance computing · 10%

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

TopicWeightPapersLastEvidence papers
Memory systems
cache coherence
0.122007
Source-Code-Correlated Cache Coherence Characterization of OpenMP Benchmarks · IEEE Trans. Parallel Distributed Syst. 2007
Analysis of cache-coherence bottlenecks with hybrid hardware/software techniques · ACM Trans. Archit. Code Optim. 2006
Performance modeling and evaluation
workload characterization
0.122007
Source-Code-Correlated Cache Coherence Characterization of OpenMP Benchmarks · IEEE Trans. Parallel Distributed Syst. 2007
Poster reception - Scalable compression and replay of communication traces in massively parallel environments · SC 2006
Memory systems
cache
0.112007
METRIC: Memory tracing via dynamic binary rewriting to identify cache inefficiencies · ACM Trans. Program. Lang. Syst. 2007
Performance modeling and evaluation › tracing
memory reference tracing
0.112007
METRIC: Memory tracing via dynamic binary rewriting to identify cache inefficiencies · ACM Trans. Program. Lang. Syst. 2007
Performance modeling and evaluation
simulation
0.112007
Source-Code-Correlated Cache Coherence Characterization of OpenMP Benchmarks · IEEE Trans. Parallel Distributed Syst. 2007
Memory systems › non-uniform memory access
CC-NUMA
0.112006
Hardware profile-guided automatic page placement for ccNUMA systems · PPoPP 2006
Memory systems
page placement
0.112006
Hardware profile-guided automatic page placement for ccNUMA systems · PPoPP 2006
Performance modeling and evaluation › performance monitoring
hardware performance monitoring
0.012006
Analysis of cache-coherence bottlenecks with hybrid hardware/software techniques · ACM Trans. Archit. Code Optim. 2006
Performance modeling and evaluation
trace analysis
0.012006
Analysis of cache-coherence bottlenecks with hybrid hardware/software techniques · ACM Trans. Archit. Code Optim. 2006

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

dynamic binary rewriting · 0.1hardware performance monitoring · 0.1trace compression · 0.1incremental simulation · 0.1trace replay · 0.1binary rewriting · 0.1automated profiling · 0.1MPI event compression · 0.1
YearPublicationVenuePosition
2010 Efficient compilation of fine-grained SPMD-threaded programs for multicore CPUs
abstract
In this paper we describe techniques for compiling fine-grained SPMD-threaded programs, expressed in programming models such as OpenCL or CUDA, to multicore execution platforms. Programs developed for manycore processors typically express finer thread-level parallelism than is appropriate for multicore platforms. We describe options for implementing fine-grained threading in software, and find that reasonable restrictions on the synchronization model enable significant optimizations and performance improvements over a baseline approach. We evaluate these techniques in a production-level compiler and runtime for the CUDA programming model targeting modern CPUs. Applications tested with our tool often showed performance parity with the compiled C version of the application for single-thread performance. With modest coarse-grained multithreading typical of today's CPU architectures, an average of 3.4x speedup on 4 processors was observed across the test applications.
John A. Stratton, Vinod Grover, Jaydeep Marathe, Bastiaan Aarts, Mike Murphy, Ziang Hu, Wen-Mei W. Hwu
CGO3
2010 Feedback-directed page placement for ccNUMA via hardware-generated memory traces
Jaydeep Marathe, Vivek Thakkar, Frank Mueller 0001
J. Parallel Distributed Comput.1
2007 METRIC: Memory tracing via dynamic binary rewriting to identify cache inefficiencies
abstract
With the diverging improvements in CPU speeds and memory access latencies, detecting and removing memory access bottlenecks becomes increasingly important. In this work we present METRIC, a software framework for isolating and understanding such bottlenecks using partial access traces. METRIC extracts access traces from executing programs without special compiler or linker support. We make four primary contributions. First, we present a framework for extracting partial access traces based on dynamic binary rewriting of the executing application. Second, we introduce a novel algorithm for compressing these traces. The algorithm generates constant space representations for regular accesses occurring in nested loop structures. Third, we use these traces for offline incremental memory hierarchy simulation. We extract symbolic information from the application executable and use this to generate detailed source-code correlated statistics including per-reference metrics, cache evictor information, and stream metrics. Finally, we demonstrate how this information can be used to isolate and understand memory access inefficiencies. This illustrates a potential advantage of METRIC over compile-time analysis for sample codes, particularly when interprocedural analysis is required.
Jaydeep Marathe, Frank Mueller 0001, Tushar Mohan, Sally A. McKee, Bronis R. de Supinski, Andy B. Yoo
ACM Trans. Program. Lang. Syst.1
2007 Source-Code-Correlated Cache Coherence Characterization of OpenMP Benchmarks
abstract
Cache coherence in shared-memory multiprocessor systems has been studied mostly from an architecture viewpoint, often by means of aggregating metrics. In many cases, aggregate events provide insufficient information for programmers to understand and optimize the coherence behavior of their applications. A better understanding would be given by source code correlations of not only aggregate events, but also finer granularity metrics directly linked to high-level source code constructs, such as source lines and data structures. In this paper, we explore a novel application-centric approach to studying coherence traffic. We develop a coherence analysis framework based on incremental coherence simulation of actual reference traces. We provide tool support to extract these reference traces and synchronization information from OpenMP threads at runtime using dynamic binary rewriting of the application executable. These traces are fed to ccSIM, our cache-coherence simulator. The novelty of ccSIM lies in its ability to relate low-level cache coherence metrics (such as coherence misses and their causative invalidations) to high-level source code constructs including source code locations and data structures. We explore the degree of freedom in interleaving data traces from different processors and assess simulation accuracy in comparison to metrics obtained from hardware performance counters. Our quantitative results show that: 1) Cache coherence traffic can be simulated with a considerable degree of accuracy for SPMD programs, as the invalidation traffic closely matches the corresponding hardware performance counters. 2) Detailed, high-level coherence statistics are very useful in detecting, isolating, and understanding coherence bottlenecks. We use ccSIM with several well-known benchmarks and find coherence optimization opportunities leading to significant reductions in coherence traffic and savings in wall-clock execution time
Jaydeep Marathe, Frank Mueller 0001
IEEE Trans. Parallel Distributed Syst.1
2006 Hardware profile-guided automatic page placement for ccNUMA systems
abstract
Cache coherent non-uniform memory architectures (ccNUMA) constitute an important class of high-performance computing plat-forms. Contemporary ccNUMA systems, such as the SGI Altix, have a large number of nodes, where each node consists of a small number of processors and a fixed amount of physical memory. All processors in the system access the same global virtual address space but the physical memory is distributed across nodes, and coherence is maintained using hardware mechanisms. Accesses to local physical memory (on the same node as the requesting processor) results in lower latencies than accesses to remote memory (on a different node). Since many scientific programs are memory-bound, an intelligent page-placement policy that allocates pages closer to the requesting processor can significantly reduce number of cycles required to access memory. We show that such a policy can lead to significant savings in wall-clock execution time.In this paper, we introduce a novel hardware-assisted page placement scheme based on automated profiling. The placement scheme allocates pages near processors that most frequently access that page. The scheme leverages performance monitoring capabilities of contemporary microprocessors to efficiently extract an approximate trace of memory accesses. This information is used to decide page affinity, i.e., the node to which the page is bound. Our method operates entirely in user space, is widely automated, and handles not only static but also dynamic memory allocation.We evaluate our framework with a set of multi-threaded benchmarks from the NAS and SPEC OpenMP suites. We investigate the use of two different hardware profile sources with respect to the cost (e.g., time to trace, number of records in profile) vs. the accuracy of the profile and the corresponding savings in wall-clock execution time. We show that long-latency loads provide a better indicator for page placement than TLB misses.Our experiments show that our method can efficiently improve page placement, leading to an average wall-clock execution time saving of more than 20% for our benchmarks, with a one-time profiling overhead of 2.7% over the overall original program wallclock time. To the best of our knowledge, this is the first evaluation on a real machine of a completely user mode interrupt-driven profile-guided page placement scheme that requires no special compiler, operating system or network interconnect support.
Jaydeep Marathe, Frank Mueller 0001
PPoPP1
2006 Poster reception - Scalable compression and replay of communication traces in massively parallel environments
abstract
Characterizing the communication behavior of large-scale applications is a difficult and costly task due to code and system complexity as well as the time to execute such codes. An alternative to run actual codes is to gather their communication traces and then replay them, which facilitates application tuning and future procurements. While past approaches lacked lossless scalable trace collection, we contribute an approach that provides near constant-size communication traces regardless of the number of nodes while preserving structural information. We introduce intra- and inter-node compression techniques of MPI events and present results of our implementation. Given this novel capability, we discuss its impact on communication tuning and beyond.
Michael Noeth, Jaydeep Marathe, Frank Mueller 0001, Martin Schulz 0001, Bronis R. de Supinski
SC2
2006 Analysis of cache-coherence bottlenecks with hybrid hardware/software techniques
abstract
Application performance on high-performance shared-memory systems is often limited by sharing patterns resulting in cache-coherence bottlenecks. Current approaches to identify coherence bottlenecks incur considerable run-time overhead and do not scale. We present two novel hardware-assisted coherence-analysis techniques that reduce trace sizes by two orders of magnitude over full traces. First, hardware performance monitoring is combined with capturing stores in software to provide a lossy-trace mechanism, which is an order of magnitude faster than software-instrumentation-based full-tracing and retains accuracy. Second, selected long-latency loads are instrumented via binary rewriting, which provides even higher accuracy and control over tracing, but requires additional overhead.
Jaydeep Marathe, Frank Mueller 0001, Bronis R. de Supinski
ACM Trans. Archit. Code Optim.1
2005 A hybrid hardware/software approach to efficiently determine cache coherence Bottlenecks
abstract
High-end computing increasingly relies on shared-memory multiprocessors (SMPs), such as clusters of SMPs, nodes of chipmultiprocessors (CMP) or large-scale single-system image (SSI) SMPs. In such systems, performance is often affected by the sharing pattern of data within applications and its impact on cache coherence. Sharing patterns that result in frequent invalidations followed by subsequent coherence misses create cache coherence bottlenecks with significant performance penalties. Past work on identifying coherence bottlenecks based on tracing memory accesses incurs considerable runtime overhead and does not scale well with increasing problem sizes, which makes it infeasible to use with real-world programs. In this paper, we introduce a novel low-cost, hardware-assisted approach to determine coherence bottlenecks in shared-memory OpenMP applications. We assess the merits of our approach on a
Jaydeep Marathe, Frank Mueller 0001, Bronis R. de Supinski
ICS1
2004 Detailed cache coherence characterization for OpenMP benchmarks
abstract
Past work on studying cache coherence in shared-memory symmetric multiprocessors (SMPs) concentrates on studying aggregate events, often from an architecture point of view. However, this approach provides insufficient information about the exact sources of inefficiencies in parallel applications. For SMPs in contemporary clusters, application performance is impacted by the pattern of shared memory usage, and it becomes essential to understand coherence behavior in terms of the application program constructs -- such as data structures and source code lines.The technical contributions of this work are as follows. We introduce ccSIM, a cache-coherent memory simulator fed by data traces obtained through on-the-fly dynamic binary rewriting of OpenMP benchmarks executing on a Power3 SMP node. We explore the degrees of freedom in interleaving data traces from the different processors and assess the simulation accuracy by comparing with hardware performance counters. The novelty of ccSIM lies in its ability to relate coherence traffic -- specifically coherence misses as well as their progenitor invalidations -- to data structures and to their reference locations in the source program, thereby facilitating the detection of inefficiencies. Our experiments demonstrate that (a) cache coherence traffic is simulated accurately for SPMD programming styles as its invalidation traffic closely matches the corresponding hardware performance counters, (b) we derive detailed coherence information indicating the location of invalidations in the application code, i.e, source line and data structures and (c) we illustrate opportunities for optimizations from these details. By exploiting these unique features of ccSIM, we were able to identify and locate opportunities for program transformations, including interactions with OpenMP constructs, resulting in both significantly decreased coherence misses and savings of up to 73% in wall-clock execution time for several real-world benchmarks.
Jaydeep Marathe, Anita Nagarajan, Frank Mueller 0001
ICS1
2003 METRIC: Tracking Down Inefficiencies in the Memory Hierarchy via Binary Rewriting
abstract
We present METRIC, an environment for determining memory inefficiencies by examining data traces. METRIC is designed to alter the performance behavior of applications that are mostly constrained by their latency to resolve memory references. We make four primary contributions. First, we present methods to extract partial data traces from running applications by observing their memory behavior via dynamic binary rewriting. Second, we present a methodology to represent partial data traces in constant space for regular references through a novel technique for online compression of reference streams. Third, we employ offline cache simulation to derive indications about memory performance bottlenecks from partial data traces. By exploiting summarized memory metrics, by-reference metrics as well as cache evictor information, we can pin-point the sources of performance problems. Fourth, we demonstrate the ability to derive opportunities for optimizations and assess their benefits in several experiments resulting in up to 40% lower miss ratios.
Jaydeep Marathe, Frank Mueller 0001, Tushar Mohan, Bronis R. de Supinski, Sally A. McKee, Andy B. Yoo
CGO1