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.

Y. N. Srikant

dblp:80/4946 · DBLP profile ↗
← Back
59ranked-venue papers
5as 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 · 27 · 3 first-authorSoftware engineering, systems software and programming languages · 22Theory of computation · 4Applied, interdisciplinary, general and emerging computing · 4Databases, data management, data science and information retrieval · 3 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 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.

Software engineering, system software, and programming languages
4 papers
Program analysis · 72% Programming languages and type systems · 16% Compilers and program optimization · 12%
Computer architecture, parallel and distributed computing, and storage systems
4 papers
Memory systems · 62% GPUs and heterogeneous computing · 11% Parallel and multicore computing · 10%

Topics — the 17 heaviest of 19, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program analysis › code representation learning
code embedding
0.412020
IR2VEC: LLVM IR Based Scalable Program Embeddings · ACM Trans. Archit. Code Optim. 2020
Program analysis
program representation
0.412020
IR2VEC: LLVM IR Based Scalable Program Embeddings · ACM Trans. Archit. Code Optim. 2020
Programming languages and type systems
domain-specific languages
0.212016
Falcon: A Graph Manipulation Language for Heterogeneous Systems · ACM Trans. Archit. Code Optim. 2016
Memory systems
cache management
0.212014
Toward a Scalable Working Set Size Estimation Method and Its Application for Chip Multiprocessors · IEEE Trans. Computers 2014
Memory systems › memory management
working set estimation
0.212014
Toward a Scalable Working Set Size Estimation Method and Its Application for Chip Multiprocessors · IEEE Trans. Computers 2014
Program analysis
data flow analysis
0.112011
Probabilistic dataflow analysis using path profiles on structure graphs · SIGSOFT FSE 2011
Program analysis › dynamic analysis › profiling
path profiling
0.112011
Probabilistic dataflow analysis using path profiles on structure graphs · SIGSOFT FSE 2011
Compilers and program optimization › compiler optimization
speculative optimization
0.112011
Probabilistic dataflow analysis using path profiles on structure graphs · SIGSOFT FSE 2011
Energy-efficient computing › leakage power reduction
cache leakage reduction
0.112014
Toward a Scalable Working Set Size Estimation Method and Its Application for Chip Multiprocessors · IEEE Trans. Computers 2014
Processor architecture and microarchitecture
chip multiprocessor
0.112014
Toward a Scalable Working Set Size Estimation Method and Its Application for Chip Multiprocessors · IEEE Trans. Computers 2014
Memory systems › cache design
non-uniform cache architecture
0.112014
Toward a Scalable Working Set Size Estimation Method and Its Application for Chip Multiprocessors · IEEE Trans. Computers 2014
Compilers and program optimization
parallelizing compiler
0.112005
Genetic algorithm based automatic data partitioning scheme for HPF · HPDC 2005
Parallel and multicore computing
data distribution
0.112005
Genetic algorithm based automatic data partitioning scheme for HPF · HPDC 2005
Interconnection networks and networks-on-chip › network topology
mesh network
0.011990
Parallel Parsing of Arithmetic Expressions · IEEE Trans. Computers 1990
Interconnection networks and networks-on-chip
network topology
0.011990
Parallel Parsing of Arithmetic Expressions · IEEE Trans. Computers 1990
Parallel and multicore computing
parallel algorithms
0.011990
Parallel Parsing of Arithmetic Expressions · IEEE Trans. Computers 1990
Parallel and multicore computing › parallel algorithms › parallel string algorithms
parallel parsing
0.011990
Parallel Parsing of Arithmetic Expressions · IEEE Trans. Computers 1990

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

domain-specific language design · 0.5representation learning · 0.4machine learning · 0.4tagged WSS estimation · 0.2dynamic programming · 0.2structure graph analysis · 0.1path profiling · 0.1static and dynamic data distribution · 0.1genetic algorithm · 0.1
YearPublicationVenuePosition
2020 IR2VEC: LLVM IR Based Scalable Program Embeddings
abstract
We propose IR2V EC , a Concise and Scalable encoding infrastructure to represent programs as a distributed embedding in continuous space. This distributed embedding is obtained by combining representation learning methods with flow information to capture the syntax as well as the semantics of the input programs. As our infrastructure is based on the Intermediate Representation (IR) of the source code, obtained embeddings are both language and machine independent. The entities of the IR are modeled as relationships, and their representations are learned to form a seed embedding vocabulary . Using this infrastructure, we propose two incremental encodings: Symbolic and Flow-Aware . Symbolic encodings are obtained from the seed embedding vocabulary , and Flow-Aware encodings are obtained by augmenting the Symbolic encodings with the flow information. We show the effectiveness of our methodology on two optimization tasks (Heterogeneous device mapping and Thread coarsening). Our way of representing the programs enables us to use non-sequential models resulting in orders of magnitude of faster training time. Both the encodings generated by IR2V EC outperform the existing methods in both the tasks, even while using simple machine learning models. In particular, our results improve or match the state-of-the-art speedup in 11/14 benchmark-suites in the device mapping task across two platforms and 53/68 benchmarks in the thread coarsening task across four different platforms. When compared to the other methods, our embeddings are more scalable , is non-data-hungry , and has better Out-Of-Vocabulary (OOV) characteristics .
S. VenkataKeerthy, Rohit Aggarwal, Shalini Jain 0002, Maunendra Sankar Desarkar, Ramakrishna Upadrasta, Y. N. Srikant
ACM Trans. Archit. Code Optim.6
2017 DH-Falcon: A Language for Large-Scale Graph Processing on Distributed Heterogeneous Systems
abstract
Graph models of social information systems typically contain trillions of edges. Such big graphs cannot beprocessed on a single machine. The graph object must bepartitioned and distributed among machines and processedin parallel on a computer cluster. Programming such systemsis very challenging. In this work, we present DH-Falcon, a graph DSL (domain-specific language) which can be usedto implement parallel algorithms for large-scale graphs, tar-geting Distributed Heterogeneous (CPU and GPU) clusters. DH-Falcon compiler is built on top of the Falcon compiler, which targets single node devices with CPU and multipleGPUs. An important facility provided by DH-Falcon is that itsupports mutation of graph objects, which allows programmerto write dynamic graph algorithms. Experimental evaluationshows that DH-Falcon matches or outperforms state-of-the-art frameworks and gains a speedup of up to 13×.
Unnikrishnan C., Rupesh Nasre, Y. N. Srikant
CLUSTER3
2017 Refining Cache Behavior Prediction Using Cache Miss Paths
abstract
Worst-Case Execution Time (WCET) is an important metric for programs running on real-time systems, and finding precise estimates of a program’s WCET is crucial to avoid wastage of hardware resources and to improve the schedulability of task sets. Caches have a major impact on a program’s execution time, and accurate estimation of a program’s cache behavior can lead to significant reduction in its estimated WCET. The traditional approach to cache analysis generally targets the worst-case cache behavior of individual cache accesses and provides a safe hit-miss classification for every individual access. In this work, we show that these classifications are not sufficient to precisely capture cache behavior, since they apply to individual accesses, and often, more precise predictions can be made about groups of accesses. Further, memory accesses inside loops may show the worst-case behavior only for a subset of the iteration space. In order to predict such behavior in a scalable fashion, we use the fact that the cache behavior of an access mostly depends only on the memory accesses made in the immediate vicinity, and hence we analyze a small, fixed-size neighborhood of every access with complete precision and summarize the resulting information in the form of cache miss paths. A variety of analyses are then performed on the cache miss paths to make precise predictions about cache behavior. We also demonstrate precision issues in Abstract Interpretation-based Must and Persistence cache analysis that can be easily solved using cache miss paths. Experimental results over a wide range of benchmarks demonstrate precision improvement in WCET of multipath programs over previous approaches, and we also show how to integrate our approach with other microarchitectural analysis such as pipeline analysis.
Kartik Nagar, Y. N. Srikant
ACM Trans. Embed. Comput. Syst.2
2016 Asynchrony-aware static analysis of Android applications
abstract
Software applications developed for the Android platform are very popular. Due to this, static analysis of these applications has received a lot of attention recently. An Android application is essentially an asynchronous, event-driven program. The Android framework manages the state of the application by invoking callbacks, called lifecycle callbacks, in pre-defined orders. Unfortunately, the existing static analysis techniques treat the callbacks synchronously. Additionally, they do not model all possible orderings of lifecycle callbacks. These may result in unsound analysis results. In this work, we present a precise representation of control flow of Android applications called Android inter-component control flow graph (AICCFG). In this representation, the asynchronous nature of the callbacks is modeled accurately. Further, all interleavings of callbacks of different components of an Android application are modeled in AICCFG. We use this representation to design a typestate analysis of Android applications. Android applications use a rich set of resources such as camera and media player whose safe usage is governed by some state machines. Using the typestate analysis, we can verify whether an application uses a resource safely or not. We have implemented the construction of AICCFG and the typestate analysis in the Soot framework. We have also implemented a variant of typestate analysis which uses the unsound control flow model used commonly in the literature. To compare our AICCFG based analysis with this, we present a benchmark of Android applications called AsyncBench. It comprises applications that use various resources in both safe and unsafe manner. The experiments over this benchmark demonstrate the benefits of our more precise control flow model and the typestate analysis.
Ashish Mishra 0002, Aditya Kanade 0001, Y. N. Srikant
MEMOCODE3
2016 Falcon: A Graph Manipulation Language for Heterogeneous Systems
abstract
Graph algorithms have been shown to possess enough parallelism to keep several computing resources busy—even hundreds of cores on a GPU. Unfortunately, tuning their implementation for efficient execution on a particular hardware configuration of heterogeneous systems consisting of multicore CPUs and GPUs is challenging, time consuming, and error prone. To address these issues, we propose a domain-specific language (DSL), Falcon, for implementing graph algorithms that (i) abstracts the hardware, (ii) provides constructs to write explicitly parallel programs at a higher level, and (iii) can work with general algorithms that may change the graph structure (morph algorithms). We illustrate the usage of our DSL to implement local computation algorithms (that do not change the graph structure) and morph algorithms such as Delaunay mesh refinement, survey propagation, and dynamic SSSP on GPU and multicore CPUs. Using a set of benchmark graphs, we illustrate that the generated code performs close to the state-of-the-art hand-tuned implementations.
Unnikrishnan C., Rupesh Nasre, Y. N. Srikant
ACM Trans. Archit. Code Optim.3
2016 Fast and Precise Worst-Case Interference Placement for Shared Cache Analysis
abstract
Real-time systems require a safe and precise estimate of the worst-case execution time (WCET) of programs. In multicore architectures, the precision of a program’s WCET estimate highly depends on the precision of its predicted shared cache behavior. Prediction of shared cache behavior is difficult due to the uncertain timing of interfering shared cache accesses made by programs running on other cores. Given the assignment of programs to cores, the worst-case interference placement (WCIP) technique tries to find the worst-case timing of interfering accesses, which would cause the maximum number of cache misses on the worst case path of the program, to determine its WCET. Although WCIP generates highly precise WCET estimates, the current ILP-based approach is also known to have very high analysis time. In this work, we investigate the WCIP problem in detail and determine its source of hardness. We show that performing WCIP is an NP-hard problem by reducing the 0-1 knapsack problem. We use this observation to make simplifying assumptions, which make the WCIP problem tractable, and we propose an approximate greedy technique for WCIP, whose time complexity is linear in the size of the program. We perform extensive experiments to show that the assumptions do not affect the precision of WCIP but result in significant reduction of analysis time.
Kartik Nagar, Y. N. Srikant
ACM Trans. Embed. Comput. Syst.2
2015 Efficient Compilation of Stream Programs for Heterogeneous Architectures: A Model-Checking based approach
abstract
Stream programming based on the synchronous data flow (SDF) model naturally exposes data, task and pipeline parallelism. Statically scheduling stream programs for homogeneous architectures has been an area of extensive research. With graphic processing units (GPUs) now emerging as general purpose co-processors, scheduling and distribution of these stream programs onto heterogeneous architectures (having both GPUs and CPUs) provides for challenging research. Exploiting this abundant parallelism in hardware, and providing a scalable solution is a hard problem.
Rajesh Kumar Thakur, Y. N. Srikant
SCOPES2
2015 Path Sensitive Cache Analysis Using Cache Miss Paths
Kartik Nagar, Y. N. Srikant
VMCAI2
2014 Precise shared cache analysis using optimal interference placement
abstract
Determining the Worst Case Execution Time (WCET) of programs running on a multi-core architecture is a challenging problem, that is hampering the use of multi-cores in real-time systems. The highly imprecise WCET estimates obtained using the current state-of-the-art analyses has prompted research in the direction of making the multi-core architecture itself more estimation-friendly, but there has been little effort to make the WCET analysis more precise. The main difficulty in analyzing programs running on multi-core architectures arises from the fact that interferences to shared resources (such as shared cache) from other cores can occur at any time. Hence, to perform safe micro-architectural analysis, current approaches assume that all interferences occur at all times, which results in significantly imprecise analysis WCET estimates. However, since we are interested in the WCET, we can instead assume that the interferences will come at the worst possible program points, causing maximum increase in the execution time. In our work, we formulate an ILP problem to determine these worst case interference points, from the perspective of a shared cache, and determine the WCET by assuming that the interferences come at those program points. Our approach provides an average precision improvement of 25.63% over earlier analysis for benchmarks which perform a reasonable number of accesses to the shared cache.
Kartik Nagar, Y. N. Srikant
RTAS2
2014 Exploiting critical data regions to reduce data cache energy consumption
abstract
In this paper we propose an energy aware optimization that exploits latency tolerance of data regions in programs. We propose techniques to identify data regions and rate their criticality using a dynamic critical path model. We compare latency tolerance of data regions to existing characteristics like access frequency and size of data regions. We leverage previously proposed drowsy cache lines to design an optimization that can reduce energy consumption in a data cache. We target this optimization to a simplified single-core with a private cache and single-threaded system which can be part of any type of a multi-core processor. We compare this technique to existing optimizations that use drowsy caches. We experimentally show that this technique can yield total power savings close to 38% and leakage power savings of 20% in the data cache when compared to a baseline configuration without any significant performance penalty.
K. Ananda Vardhan, Y. N. Srikant
SCOPES2
2014 Toward a Scalable Working Set Size Estimation Method and Its Application for Chip Multiprocessors
abstract
It is essential to accurately estimate the working set size (WSS) of an application for various optimizations such as to partition cache among virtual machines or reduce leakage power dissipated in an over-allocated cache by switching it off. However, the state-of-the-art heuristics such as average memory access latency (AMAL) or cache miss ratio (CMR) are poorly correlated to the WSS of an application due to 1) over-sized caches and 2) their dispersed nature. Past studies focus on estimating WSS of an application executing on a uniprocessor platform. Estimating the same for a chip multiprocessor (CMP) with a large dispersed cache is challenging due to the presence of concurrently executing threads/processes. Hence, we propose a scalable, highly accurate method to estimate WSS of an application. We call this method “tagged WSS (TWSS)” estimation method. We demonstrate the use of TWSS to switch-off the over-allocated cache ways in Static and Dynamic NonUniform Cache Architectures (SNUCA, DNUCA) on a tiled CMP. In our implementation of adaptable way SNUCA and DNUCA caches, decision of altering associativity is taken by each L2 controller. Hence,this approach scales better with the number of cores present on a CMP. It gives overall (geometric mean) 26% and 19% higher energy-delay product savings compared to AMAL and CMR heuristics on SNUCA, respectively.
Aparna Mandke Dani, Bharadwaj S. Amrutur, Y. N. Srikant
IEEE Trans. Computers3
2012 Estimation of probabilistic bounds on phase CPI and relevance in WCET analysis
abstract
Estimating program worst case execution time(WCET) accurately and efficiently is a challenging task. Several programs exhibit phase behavior wherein cycles per instruction (CPI) varies in phases during execution. Recent work has suggested the use of phases in such programs to estimate WCET with minimal instrumentation. However the suggested model uses a function of mean CPI that has no probabilistic guarantees. We propose to use Chebyshev's inequality that can be applied to any arbitrary distribution of CPI samples, to probabilistically bound CPI of a phase.
Archana Ravindar, Y. N. Srikant
EMSOFT2
2012 Efficient cache exploration method for a tiled chip multiprocessor
abstract
Past studies use deterministic models to evaluate optimal cache configuration or to explore its design space. However, with the increasing number of components present on a chip multiprocessor (CMP), deterministic approaches do not scale well. Hence, we apply probabilistic genetic algorithms (GA) to determine a near-optimal cache configuration for a sixteen tiled CMP. We propose and implement a faster trace based approach to estimate fitness of a chromosome. It shows up-to 218x simulation speedup over the cycle-accurate architectural simulation. Our methodology can be applied to solve other cache optimization problems such as design space exploration of cache and its partitioning among applications/virtual machines.
Aparna Mandke Dani, Y. N. Srikant, Bharadwaj S. Amrutur
HiPC2
2012 Interdependent cache analyses for better precision and safety
abstract
One of the challenges for accurately estimating Worst Case Execution Time(WCET) of executables is to accurately predict their cache behavior. Various techniques have been developed to predict the cache contents at different program points to estimate the execution time of memory-accessing instructions. One of the most widely used techniques is Abstract Interpretation based Must Analysis, which determines the cache blocks guaranteed to be present in the cache, and hence provides safe estimation of cache hits and misses. However, Must Analysis is highly imprecise, and platforms using Must Analysis have been known to produce blown-up WCET estimates. In our work, we propose to use May Analysis to assist the Must Analysis cache update and make it more precise. We prove the safety of our approach as well as provide examples where our Improved Must Analysis provides better precision. Further, we also detect a serious flaw in the original Persistence Analysis, and use Must and May Analysis to assist the Persistence Analysis cache update, to make it safe and more precise than the known solutions to the problem. Finally, we propose an improvement in the original May Analysis, to make it more precise, especially for Data Cache Analysis.
Kartik Nagar, Y. N. Srikant
MEMOCODE2
2012 TCP: Thread Contention Predictor for Parallel Programs
abstract
With proliferation of chip multicores (CMPs) on desktops and embedded platforms, multi-threaded programs have become ubiquitous. Existence of multiple threads may cause resource contention, such as, in on-chip shared cache and interconnects, depending upon how they access resources. Hence, we propose a tool - Thread Contention Predictor (TCP) to help quantify the number of threads sharing data and their sharing pattern. We demonstrate its use to predict a more profitable shared, last level on-chip cache (LLC) access policy on CMPs. Our cache configuration predictor is 2.2 times faster compared to the cycle-accurate simulations. We also demonstrate its use for identifying hot data structures in a program which may cause performance degradation due to false data sharing. We fix layout of such data structures and show up-to 10% and 18% improvement in execution time and energy-delay product (EDP), respectively.
Aparna Mandke Dani, Bharadwaj S. Amrutur, Y. N. Srikant, Chiranjib Bhattacharyya
PDP3
2012 Compiler-assisted energy optimization for clustered VLIW processors
Rahul Nagpal, Y. N. Srikant
J. Parallel Distributed Comput.2
2011 Probabilistic dataflow analysis using path profiles on structure graphs
abstract
Speculative optimizations are increasingly becoming popular for improving program performance by allowing transformations that benefit frequently traversed program paths. Such optimizations are based on dataflow facts which are mostly true, though not always safe. Probabilistic dataflow analysis frameworks infer such facts about a program, while also providing the probability with which a fact is likely to be true. We propose a new Probabilistic Dataflow Analysis Framework which uses path profiles and information about the nesting structure of loops to obtain improved probabilities of dataflow facts.
Arun Ramamurthi, Subhajit Roy 0001, Y. N. Srikant
SIGSOFT FSE3
2011 Relative roles of instruction count and cycles per instruction in WCET estimation
abstract
Most of the existing WCET estimation methods directly estimate execution time, ET, in cycles. We propose to study ET as a product of two factors, ET = IC * CPI, where IC is instruction count and CPI is cycles per instruction. Considering directly the estimation of ET may lead to a highly pessimistic estimate since implicitly these methods may be using worst case IC and worst case CPI. We hypothesize that there exists a functional relationship between CPI and IC such that CPI=f(IC). This is ascertained by computing the covariance matrix and studying the scatter plots of CPI versus IC. IC and CPI values are obtained by running benchmarks with a large number of inputs using the cycle accurate architectural simulator, Simplescalar on two different architectures. It is shown that the benchmarks can be grouped into different classes based on the CPI versus IC relationship. For some benchmarks like FFT, FIR etc., both IC and CPI are almost a constant irrespective of the input. There are other benchmarks that exhibit a direct or an inverse relationship between CPI and IC. In such a case, one can predict CPI for a given IC as CPI=f(IC). We derive the theoretical worst case IC for a program, denoted as SWIC, using integer linear programming(ILP) and estimate WCET as SWIC*f(SWIC). However, if CPI decreases sharply with IC then measured maximum cycles is observed to be a better estimate. For certain other benchmarks, it is observed that the CPI versus IC relationship is either random or CPI remains constant with varying IC. In such cases, WCET is estimated as the product of SWIC and measured maximum CPI. It is observed that use of the proposed method results in tighter WCET estimates than Chronos, a static WCET analyzer, for most benchmarks for the two architectures considered in this paper.
Archana Ravindar, Y. N. Srikant
ICPE2
2011 Compiler-assisted power optimization for clustered VLIW architectures
Rahul Nagpal, Y. N. Srikant
Parallel Comput.2
2010 The Hot Path SSA Form: Extending the Static Single Assignment Form for Speculative Optimizations
Subhajit Roy 0001, Y. N. Srikant
CC2
2009 Profiling k-Iteration Paths: A Generalization of the Ball-Larus Profiling Algorithm
abstract
The Ball-Larus path-profiling algorithm is an efficient technique to collect acyclic path frequencies of a program. However, longer paths — those extending across loop iterations — describe the runtime behaviour of programs better. We generalize the Ball-Larus profiling algorithm for profiling k-iteration paths — paths that can span up to to k iterations of a loop. We show that it is possible to number such k-iteration paths perfectly, thus allowing for an efficient profiling algorithm for such longer paths. We also describe a scheme for mixed-mode profiling: profiling different parts of a procedure with different path lengths. Experimental results show that k-iteration profiling is realistic.
Subhajit Roy 0001, Y. N. Srikant
CGO2
2009 Probabilistic modeling of data cache behavior
abstract
In this paper, we propose a formal analysis approach to estimate the expected (average) data cache access time of an application across all possible program inputs. Towards this goal, we introduce the notion of probabilistic access history that intuitively summarizes the history of data memory accesses along different program paths (to reach a particular program point) and their associated probabilities. An efficient static program analysis technique has been developed to compute the access history at all program points. We estimate the cache hit/miss probabilities and hence the expected access time of each data memory reference from the access history. Our experimental evaluation confirms the accuracy and viability of the probabilistic data cache modeling approach.
Vinayak Puranik, Tulika Mitra, Y. N. Srikant
EMSOFT3
2008 Pragmatic integrated scheduling for clustered VLIW architectures
abstract
Abstract Clustered architecture processors are preferred for embedded systems because centralized register file architectures scale poorly in terms of clock rate, chip area, and power consumption. Scheduling for clustered architectures involves spatial concerns (where to schedule) as well as temporal concerns (when to schedule). Various clustered VLIW configurations, connectivity types, and inter‐cluster communication models present different performance trade‐offs to a scheduler. The scheduler is responsible for resolving the conflicting requirements of exploiting the parallelism offered by the hardware and limiting the communication among clusters to achieve better performance. In this paper, we describe our experience with developing a pragmatic scheme and also a generic graph‐matching‐based framework for cluster scheduling based on a generic and realistic clustered machine model. The proposed scheme effectively utilizes the exact knowledge of available communication slots, functional units, and load on different clusters as well as future resource and communication requirements known only at schedule time. The proposed graph‐matching‐based framework for cluster scheduling resolves the phase‐ordering and fixed‐ordering problem associated with earlier schemes for scheduling clustered VLIW architectures. The experimental evaluation in the context of a state‐of‐art commercial clustered architecture (using real‐world benchmark programs) reveals a significant performance improvement over the earlier proposals, which were mostly evaluated using compiled simulation of hypothetical clustered architectures. Our results clearly highlight the importance of considering the peculiarities of commercial clustered architectures and the hard‐nosed performance measurement. Copyright © 2007 John Wiley & Sons, Ltd.
Rahul Nagpal, Y. N. Srikant
Softw. Pract. Exp.2
2007 INTACTE: an interconnect area, delay, and energy estimation tool for microarchitectural explorations
abstract
Prior work on modeling interconnects has focused on optimizing the wire and repeater design for trading off energy and delay, and is largely based on low level circuit parameters. Hence these models are hard to use directly to make high level microarchitectural trade-offs in the initial exploration phase of a design. In this paper, we propose INTACTE, a tool that can be used by architects toget reasonably accurate interconnect area, delay, and power estimates based on a few architecture level parameters for the interconnect such as length, width (in number of bits), frequency, and latency for a specified technology and voltage.
Rahul Nagpal, Arvind Madan, Bharadwaj S. Amrutur, Y. N. Srikant
CASES4
2007 Microarchitecture Sensitive Empirical Models for Compiler Optimizations
abstract
This paper proposes the use of empirical modeling techniques for building microarchitecture sensitive models for compiler optimizations. The models we build relate program performance to settings of compiler optimization flags, associated heuristics and key microarchitectural parameters. Unlike traditional analytical modeling methods, this relationship is learned entirely from data obtained by measuring performance at a small number of carefully selected compiler/microarchitecture configurations. We evaluate three different learning techniques in this context viz. linear regression, adaptive regression splines and radial basis function networks. We use the generated models to a) predict program performance at arbitrary compiler/microarchitecture configurations, b) quantify the significance of complex interactions between optimizations and the microarchitecture, and c) efficiently search for 'optimal' settings of optimization flags and heuristics for any given micro architectural configuration. Our evaluation using benchmarks from the SPEC CPU2000 suites suggests that accurate models (< 5% average error in prediction) can be generated using a reasonable number of simulations. We also find that using compiler settings prescribed by a model-based search can improve program performance by as much as 19% (with an average of 9.5%) over highly optimized binaries
Kapil Vaswani, Matthew J. Thazhuthaveetil, Y. N. Srikant, P. J. Joseph
CGO3
2007 WCET estimation for executables in the presence of data caches
abstract
This paper describes techniques to estimate the worst case execution time of executable code on architectures with data caches. The underlying mechanism is Abstract Interpretation, which is used for the dual purposes of tracking address computations and cache behavior. A simultaneous numeric and pointer analysis using an abstraction for discrete sets of values computes safe approximations of access addresses which are then used to predict cache behavior using Must Analysis. A heuristic is also proposed which generates likely worst case estimates. It can be used in soft real time systems and also for reasoning about the tightness of the safe estimate. The analysis methods can handle programs with non-affine access patterns, for which conventional Presburger Arithmetic formulations or Cache Miss Equations do not apply. The precision of the estimates is user-controlled and can be traded off against analysis time. Executables are analyzed directly, which, apart from enhancing precision, renders the method language independent.
Rathijit Sen, Y. N. Srikant
EMSOFT2
2007 Compiler-Assisted Instruction Decoder Energy Optimization for Clustered VLIW Architectures
Rahul Nagpal, Y. N. Srikant
HiPC2
2007 Partial Flow Sensitivity
Subhajit Roy 0001, Y. N. Srikant
HiPC2
2007 Executable Analysis using Abstract Interpretation with Circular Linear Progressions
abstract
We propose a new abstract domain for static analysis of executable code. Concrete states are abstracted using circular linear progressions (CLPs). CLPs model computations using a finite word length as is seen in any real life processor. The finite abstraction allows handling overflow scenarios in a natural and straight-forward manner. Abstract transfer functions have been defined for a wide range of operations which makes this domain easily applicable for analyzing code for a wide range of ISAs. CLPs combine the scalability of interval domains with the discreteness of linear congruence domains. We also present a novel, lightweight method to track linear equality relations between static objects that is used by the analysis to improve precision. The analysis is efficient, the total space and time overhead being quadratic in the number of static objects being tracked.
Rathijit Sen, Y. N. Srikant
MEMOCODE2
2007 Register File Energy Optimization for Snooping Based Clustered VLIW Architectures
abstract
Frequent accesses to the register file make it one of the major sources of energy consumption in ILP architectures. The large number of functional units connected to a large unified register file in VLIW architectures make power dissipation in the register file even worse because of the need for a large number of ports. High power dissipation in a relatively smaller area occupied by a register file leads to a high power density in the register file and makes it one of the prime hot-spots. This makes it highly susceptible to the possibility of a catastrophic heatstroke. This in turn impacts the performance and cost because of the need for periodic cool down and sophisticated packaging and cooling techniques respectively. Clustered VLIW architectures partition the register file among clusters of functional units and reduce the number of ports required thereby reducing the power dissipation. However, we observe that the aggregate accesses to register files in clustered VLIW architectures (and associated energy consumption) become very high compared to the centralized VLIW architectures and this can be attributed to a large number of explicit inter-cluster communications. Snooping based clustered VLIW architectures provide very limited but very fast way of inter-cluster communication by allowing some of the functional units to directly read some of the operands from the register file of some of the other clusters. In this paper, we propose instruction scheduling algorithms that exploit the limited snooping capability to reduce the register file energy consumption on an average by 12% and 18% and improve the overall performance by 5% and 11% for a 2-clustered and a 4-clustered machine respectively, over an earlier state-of-the-art clustered scheduling algorithm when evaluated in the context of snooping based clustered VLIW architectures.
Rahul Nagpal, Y. N. Srikant
SBAC-PAD2
2006 Compiler-assisted leakage energy optimization for clustered VLIW architectures
abstract
Miniaturization of devices and the ensuing decrease in the threshold voltage has led to a substantial increase in the leakage component of the total processor energy consumption. Relatively simpler issue logic and the presence of a large number of function units in the VLIW and the clustered VLIW architectures attribute a large fraction of this leakage energy consumption in the functional units. However, functional units are not fully utilized in the VLIW architectures because of the inherent variations in the ILP of the programs. This underutilization is even more pronounced in the context of clustered VLIW architectures because of the contentions for the limited number of slow intercluster communication channels which lead to many short idle cycles.In the past, some architectural schemes have been proposed to obtain leakage energy bene .ts by aggressively exploiting the idleness of functional units. However, presence of many short idle cycles cause frequent transitions from the active mode to the sleep mode and vice-versa and adversely a ffects the energy benefits of a purely hardware based scheme. In this paper, we propose and evaluate a compiler instruction scheduling algorithm that assist such a hardware based scheme in the context of VLIW and clustered VLIW architectures. The proposed scheme exploits the scheduling slacks of instructions to orchestrate the functional unit mapping with the objective of reducing the number of transitions in functional units thereby keeping them off for a longer duration. The proposed compiler-assisted scheme obtains a further 12% reduction of energy consumption of functional units with negligible performance degradation over a hardware-only scheme for a VLIW architecture. The benefits are 15% and 17% in the context of a 2-clustered and a 4-clustered VLIW architecture respectively. Our test bed uses the Trimaran compiler infrastructure.
Rahul Nagpal, Y. N. Srikant
EMSOFT2
2006 Exploring Energy-Performance Trade-Offs for Heterogeneous Interconnect Clustered VLIW Processors
Rahul Nagpal, Y. N. Srikant
HiPC2
2006 Specification Based Regression Testing Using Explicit State Space Enumeration
abstract
This paper presents a method of partial automation of specification based regression testing, which we call ESSE (Explicit State Space Enumeration). The first step in ESSE method is the extraction of a finite state model of the system making use of an already tested version of the system under test (SUT). Thereafter, the finite state model thus obtained is used to compute good test sequences that can be used to regression test subsequent versions of the system. We present two new algorithms for test sequence computation - both based on our finite state model generated by the above method. We also provide the details and results of the experimental evaluation of ESSE method. Comparison with a practically used random-testing algorithm has shown substantial improvements.
Sujit Kumar Chakrabarti, Y. N. Srikant
ICSEA2
2005 A Programmable Hardware Path Profiler
abstract
For aggressive path-based program optimizations to be profitable in cost-sensitive environments, accurate path profiles must be available at low overheads. In this paper, we propose a low-overhead, non-intrusive hardware path profiling scheme that can be programmed to detect several types of paths including acyclic, intra-procedural paths, paths for a whole program path and extended paths. The profiler consists of a path stack, which detects paths and generates a sequence of path descriptors using branch information from the processor pipeline, and a hot path table that collects a profile of hot paths for later use by a program optimizer. With assistance from the processor's event detection logic, our profiler can track a host of architectural metrics along paths, enabling context-sensitive performance monitoring and bottleneck analysis. We illustrate the utility of our scheme by associating paths with a power metric that estimates power consumption in the cache hierarchy caused by instructions along the path. Experiments using programs from the SPEC CPU2000 benchmark suite show that our path profiler, occupying 7KB of hardware real-estate, collects accurate path profiles (average overlap of 88% with a perfect profile) at negligible execution time overheads (0.6% on average).
Kapil Vaswani, Matthew J. Thazhuthaveetil, Y. N. Srikant
CGO3
2005 Genetic algorithm based automatic data partitioning scheme for HPF
abstract
The performance of a parallel program depends largely on its data partitions. So a good data partitioning scheme is the need of the time. However it is very difficult to arrive at a good solution as the number of possible data partitions for a given real life program is exponential in the size of the program. We present a heuristic technique for automatic data partitioning for HPF. Our approach is based on genetic algorithms and is very simple, yet very efficient to quickly find appropriate data partitions even for large programs with large number of alternatives for data distribution. It makes use of both static as well as dynamic data distribution with the main aim of reducing the overall execution time of the entire program.
Sunil Kumar Anand, Y. N. Srikant
HPDC2
2003 A Simple and Fast Scheme for Code Compression for VLIW Processors
abstract
Summary form only given. A scheme for code compression that has a fast decompression algorithm, which can be implemented using simple hardware, is proposed. The effectiveness of the scheme on the TMS320C62x architecture that includes the overheads of a line address table (LAT) is evaluated and obtained compression rates ranging from 70% to 80%. Two schemes for decompression are proposed. The basic idea underlying the scheme is a simple clustering algorithm that partially maps a block of instructions into a set of clusters. The clustering algorithm is a greedy algorithm based on the frequency of occurrence of various instructions.
J. Prakash, C. Sandeep, Priti Shankar, Y. N. Srikant
DCC4
2003 Partial redundancy elimination: a simple, pragmatic, and provably correct algorithm
Vineeth Paleri, Y. N. Srikant, Priti Shankar
Sci. Comput. Program.2
2002 Improved Preprocessing Methods for Modulo Scheduling Algorithms
D. V. Ravindra, Y. N. Srikant
HiPC2
2002 Scheduling expression trees for delayed-load architectures
Y. N. Srikant
J. Syst. Archit.2
1998 An incremental basic block instruction scheduler
Y. N. Srikant
J. Syst. Archit.2
1997 Communication cost estimation and global data partitioning for distributed memory machines
abstract
Estimating communication cost involved in executing a program on distributed memory machines is important for evaluating the overheads due to repartitioning. The authors present a scheme which will work with reasonable efficiency for arrays with at most 3 dimensions. The hyperplane partitioning technique given by Prakash and Srikant (1997) is extended to complete programs by estimating the communication cost by the scheme presented in the work.
S. R. Prakash, Y. N. Srikant
HiPC2
1995 Scheduling Expression Trees with Reusable Registers on Delayed-Load Architectures
Y. N. Srikant
Comput. Lang.2
1994 An Automatic Parallelization Framework for Multicomputers
U. Nagaraj Shenoy, Y. N. Srikant, Vijay P. Bhatkar
Comput. Lang.2
1994 Parallel Incremental LR Parsing
N. Viswanathan, Y. N. Srikant
Comput. Lang.2
1994 Scheduliing expression trees with register variables on delayed-load architectures
Y. N. Srikant
Microprocess. Microprogramming2
1993 Linda Sub System on Transputers
K. H. Shekhar, Y. N. Srikant
Comput. Lang.2
1993 Heuristic Chaining in Directed Acyclic Graphs
Y. N. Srikant
Comput. Lang.2
1991 Parallel Incremental LR Parsing
Y. N. Srikant
ICPP (3)2
1990 Incremental Recursive Descent Parsing
Arvind M. Murching, Y. V. Prasad, Y. N. Srikant
Comput. Lang.3
1990 Parallel Parsing of Arithmetic Expressions
abstract
Parallel algorithms for parsing expressions on mesh, shuffle, cube, and cube-connected cycle parallel computers are presented. With n processors, it requires O( square root n) time on the mesh-connected model and O(log/sup 2/ n) time on others. For the mesh-connected computer, the author uses a wrap-around row-major ordering. For the shuffle computer, he uses an extra connection between adjacent processors, and thus four connections per processor are required.>
Y. N. Srikant
IEEE Trans. Computers1
1989 Incremental Attribute Evaluation Through Recursive Procedures
Arvind M. Murching, Y. N. Srikant
Comput. Lang.2
1989 A Class of Problems Efficiently Solvable on Mesh-Connected Computers Including Dynamic Expression Evaluation
Alan Gibbons, Y. N. Srikant
Inf. Process. Lett.2
1988 A Compiler Writing System Based on Affix Grammars
H. K. Haripriyan, Y. N. Srikant, Priti Shankar
Comput. Lang.2
1987 Parallel Parsing of Arithmetic Expressions
Y. N. Srikant
ICPP1
1987 Parallel parsing of programming languages
Y. N. Srikant, Priti Shankar
Inf. Sci.1
1987 A new parallel algorithm for parsing arithmetic infix expressions
Y. N. Srikant, Priti Shankar
Parallel Comput.1
1986 Graphical simulation of Petri Nets
M. P. Subodh Kumar, Y. N. Srikant
Comput. Graph.2
1986 An Interpreter for SLIPS - An Applicative Language Based on Lambda-Calculus
abstract
An applicative language based on the LAMBDA-Calculus is presented. The language, SLIPS (Small Language for Instruction Purposes), is described using the LAMBDA-Calculus as a metalanguage. A call-by-need mechanism of function invocation eliminates the drawbacks of both call-by-name and call-by-value. The system has been implemented in PASCAL.
Vijay Gehlot, Y. N. Srikant
Comput. Lang.2
1982 An interactive graphics system for 2-D drawing and design
Y. N. Srikant, D. Vidyasagar, Lalit M. Patnaik
Comput. Graph.1