EDBT 2026 Demo / reviewers in the wild / expert
Y. N. Srikant
dblp:80/4946
· DBLP profile ↗
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
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis › code representation learning
code embedding |
0.4 | 1 | 2020 | IR2VEC: LLVM IR Based Scalable Program Embeddings · ACM Trans. Archit. Code Optim. 2020 |
Program analysis
program representation |
0.4 | 1 | 2020 | IR2VEC: LLVM IR Based Scalable Program Embeddings · ACM Trans. Archit. Code Optim. 2020 |
Programming languages and type systems
domain-specific languages |
0.2 | 1 | 2016 | Falcon: A Graph Manipulation Language for Heterogeneous Systems · ACM Trans. Archit. Code Optim. 2016 |
Memory systems
cache management |
0.2 | 1 | 2014 | 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.2 | 1 | 2014 | Toward a Scalable Working Set Size Estimation Method and Its Application for Chip Multiprocessors · IEEE Trans. Computers 2014 |
Program analysis
data flow analysis |
0.1 | 1 | 2011 | Probabilistic dataflow analysis using path profiles on structure graphs · SIGSOFT FSE 2011 |
Program analysis › dynamic analysis › profiling
path profiling |
0.1 | 1 | 2011 | Probabilistic dataflow analysis using path profiles on structure graphs · SIGSOFT FSE 2011 |
Compilers and program optimization › compiler optimization
speculative optimization |
0.1 | 1 | 2011 | Probabilistic dataflow analysis using path profiles on structure graphs · SIGSOFT FSE 2011 |
Energy-efficient computing › leakage power reduction
cache leakage reduction |
0.1 | 1 | 2014 | 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.1 | 1 | 2014 | 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.1 | 1 | 2014 | 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.1 | 1 | 2005 | Genetic algorithm based automatic data partitioning scheme for HPF · HPDC 2005 |
Parallel and multicore computing
data distribution |
0.1 | 1 | 2005 | Genetic algorithm based automatic data partitioning scheme for HPF · HPDC 2005 |
Interconnection networks and networks-on-chip › network topology
mesh network |
0.0 | 1 | 1990 | Parallel Parsing of Arithmetic Expressions · IEEE Trans. Computers 1990 |
Interconnection networks and networks-on-chip
network topology |
0.0 | 1 | 1990 | Parallel Parsing of Arithmetic Expressions · IEEE Trans. Computers 1990 |
Parallel and multicore computing
parallel algorithms |
0.0 | 1 | 1990 | Parallel Parsing of Arithmetic Expressions · IEEE Trans. Computers 1990 |
Parallel and multicore computing › parallel algorithms › parallel string algorithms
parallel parsing |
0.0 | 1 | 1990 | 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
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | IR2VEC: LLVM IR Based Scalable Program EmbeddingsabstractWe 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 SystemsabstractGraph 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 |
CLUSTER | 3 |
| 2017 | Refining Cache Behavior Prediction Using Cache Miss PathsabstractWorst-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 applicationsabstractSoftware 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 |
MEMOCODE | 3 |
| 2016 | Falcon: A Graph Manipulation Language for Heterogeneous SystemsabstractGraph 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 AnalysisabstractReal-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 approachabstractStream 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 |
SCOPES | 2 |
| 2015 | Path Sensitive Cache Analysis Using Cache Miss Paths
Kartik Nagar, Y. N. Srikant |
VMCAI | 2 |
| 2014 | Precise shared cache analysis using optimal interference placementabstractDetermining 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 |
RTAS | 2 |
| 2014 | Exploiting critical data regions to reduce data cache energy consumptionabstractIn 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 |
SCOPES | 2 |
| 2014 | Toward a Scalable Working Set Size Estimation Method and Its Application for Chip MultiprocessorsabstractIt 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. Computers | 3 |
| 2012 | Estimation of probabilistic bounds on phase CPI and relevance in WCET analysisabstractEstimating 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 |
EMSOFT | 2 |
| 2012 | Efficient cache exploration method for a tiled chip multiprocessorabstractPast 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 |
HiPC | 2 |
| 2012 | Interdependent cache analyses for better precision and safetyabstractOne 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 |
MEMOCODE | 2 |
| 2012 | TCP: Thread Contention Predictor for Parallel ProgramsabstractWith 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 |
PDP | 3 |
| 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 graphsabstractSpeculative 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 FSE | 3 |
| 2011 | Relative roles of instruction count and cycles per instruction in WCET estimationabstractMost 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 |
ICPE | 2 |
| 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 |
CC | 2 |
| 2009 | Profiling k-Iteration Paths: A Generalization of the Ball-Larus Profiling AlgorithmabstractThe 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 |
CGO | 2 |
| 2009 | Probabilistic modeling of data cache behaviorabstractIn 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 |
EMSOFT | 3 |
| 2008 | Pragmatic integrated scheduling for clustered VLIW architecturesabstractAbstract 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 explorationsabstractPrior 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 |
CASES | 4 |
| 2007 | Microarchitecture Sensitive Empirical Models for Compiler OptimizationsabstractThis 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 |
CGO | 3 |
| 2007 | WCET estimation for executables in the presence of data cachesabstractThis 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 |
EMSOFT | 2 |
| 2007 | Compiler-Assisted Instruction Decoder Energy Optimization for Clustered VLIW Architectures
Rahul Nagpal, Y. N. Srikant |
HiPC | 2 |
| 2007 | Partial Flow Sensitivity
Subhajit Roy 0001, Y. N. Srikant |
HiPC | 2 |
| 2007 | Executable Analysis using Abstract Interpretation with Circular Linear ProgressionsabstractWe 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 |
MEMOCODE | 2 |
| 2007 | Register File Energy Optimization for Snooping Based Clustered VLIW ArchitecturesabstractFrequent 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-PAD | 2 |
| 2006 | Compiler-assisted leakage energy optimization for clustered VLIW architecturesabstractMiniaturization 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 |
EMSOFT | 2 |
| 2006 | Exploring Energy-Performance Trade-Offs for Heterogeneous Interconnect Clustered VLIW Processors
Rahul Nagpal, Y. N. Srikant |
HiPC | 2 |
| 2006 | Specification Based Regression Testing Using Explicit State Space EnumerationabstractThis 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 |
ICSEA | 2 |
| 2005 | A Programmable Hardware Path ProfilerabstractFor 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 |
CGO | 3 |
| 2005 | Genetic algorithm based automatic data partitioning scheme for HPFabstractThe 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 |
HPDC | 2 |
| 2003 | A Simple and Fast Scheme for Code Compression for VLIW ProcessorsabstractSummary 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 |
DCC | 4 |
| 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 |
HiPC | 2 |
| 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 machinesabstractEstimating 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 |
HiPC | 2 |
| 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. Microprogramming | 2 |
| 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 ExpressionsabstractParallel 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. Computers | 1 |
| 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 |
ICPP | 1 |
| 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-CalculusabstractAn 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 |