Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Prithviraj Banerjee is active.

Publication


Featured researches published by Prithviraj Banerjee.


ACM Journal on Emerging Technologies in Computing Systems | 2012

Towards a net-zero data center

Prithviraj Banerjee; Chandrakant D. Patel; Cullen E. Bash; Amip J. Shah; Martin F. Arlitt

A world consisting of billions of service-oriented client devices and thousands of data centers can deliver a diverse range of services, from social networking to management of our natural resources. However, these services must scale in order to meet the fundamental needs of society. To enable such scaling, the total cost of ownership of the data centers that host the services and comprise the vast majority of service delivery costs will need to be reduced. As energy drives the total cost of ownership of data centers, there is a need for a new paradigm in design and management of data centers that minimizes energy used across their lifetimes, from “cradle to cradle”. This tutorial article presents a blueprint for a “net-zero data center”: one that offsets any electricity used from the grid via adequate on-site power generation that gets fed back to the grid at a later time. We discuss how such a data center addresses the total cost of ownership, illustrating that contrary to the oft-held view of sustainability as “paying more to be green”, sustainable data centers—built on a framework that focuses on integrating supply and demand management from end-to-end—can concurrently lead to lowest cost and lowest environmental impact.


symposium on code generation and optimization | 2011

The runtime abort graph and its application to software transactional memory optimization

Dhruva R. Chakrabarti; Prithviraj Banerjee; Hans-Juergen Boehm; Pramod G. Joisha; Robert Schreiber

Programming with atomic sections is a promising alternative to locks since it raises the abstraction and removes deadlocks at the programmer level. However, implementations of atomic sections using software transactional memory (STM) support have significant bookkeeping overheads. Additionally, because of the speculative nature of transactions, aborts can be frequent greatly lowering application performance. Thus regardless of the STM implementation, tools need to be available to programmers that provide insights into the runtime characteristics of an application as well as provide means to improve performance. This paper attempts to identify the source of an abort at the granularity of a transactional memory reference. The resulting abort patterns are captured in the form of a runtime abort graph (RAG). We show how to build this graph efficiently using compiler instrumentation. We then describe a technique that works on the RAG and automatically recommends STM policy changes to improve performance. Detailed experimental results are presented showing the tradeoffs in building the RAG and its use in reducing aborts and improving performance.


embedded software | 2008

State space abstraction for parameterized self-stabilizing embedded systems

Nikolaos D. Liveris; Hai Zhou; Robert P. Dick; Prithviraj Banerjee

Self-stabilizing systems are systems that automatically recover from any transient fault. Proving the correctness of a parameterized self-stabilizing system, i.e., a system composed of an arbitrary number of processes, is a challenging task. For the verification of parameterized systems the method of control abstraction has been developed. However, control abstraction can only be applied to systems in which each process has a fixed number of observable variables. In this article, we propose a technique to abstract a parameterized self-stabilizing system, whose processes have a parameterized number of observable variables, to a system with fixed number of observable variables. This enables the use of control abstraction for verification. The proposed technique targets low-atomicity, shared-memory, asynchronous systems. We establish the completeness of the method under reasonable conditions and demonstrate its effectiveness by applying it on a number of self-stabilizing distributed systems.


asia and south pacific design automation conference | 2008

A dynamic-programming algorithm for reducing the energy consumption of pipelined system-level streaming applications

Nikolaos D. Liveris; Hai Zhou; Prithviraj Banerjee

In this paper we present a System-Level technique for reducing energy consumption. The technique is applicable to pipelined applications represented as chain-structured graphs and targets the energy overhead of switching between active and sleep mode. The overhead is reduced by increasing the number of consecutive executions of the pipeline stages. The technique has no impact on the average throughput. We derive upper bounds on the number of consecutive executions and present a dynamic-programming algorithm that finds the optimal solution using these bounds. For specific cases we derive a quality metric that can be used to trade quality of the result for running-time.


ACM Transactions on Programming Languages and Systems | 2012

On a Technique for Transparently Empowering Classical Compiler Optimizations on Multithreaded Code

Pramod G. Joisha; Robert Schreiber; Prithviraj Banerjee; Hans-Juergen Boehm; Dhruva R. Chakrabarti

A large body of data-flow analyses exists for analyzing and optimizing sequential code. Unfortunately, much of it cannot be directly applied on parallel code, for reasons of correctness. This article presents a technique to automatically, aggressively, yet safely apply sequentially-sound data-flow transformations, without change, on shared-memory programs. The technique is founded on the notion of program references being “siloed” on certain control-flow paths. Intuitively, siloed references are free of interference from other threads within the confines of such paths. Data-flow transformations can, in general, be unblocked on siloed references. The solution has been implemented in a widely used compiler. Results on benchmarks from SPLASH-2 show that performance improvements of up to 41% are possible, with an average improvement of 6% across all the tested programs over all thread counts.


asia and south pacific design automation conference | 2009

Complete-k-distinguishability for retiming and resynthesis equivalence checking without restricting synthesis

Nikolaos D. Liveris; Hai Zhou; Prithviraj Banerjee

Iterative retiming and resynthesis is a powerful way to optimize sequential circuits but its massive adoption has been hampered by the hardness of verification. This paper tackles the problem of retiming and resynthesis equivalence checking on a pair of circuits. For this purpose we define the Complete-k-Distinguishability (C-k-D) property for any natural number k based on C-1-D. We show how the equivalence checking problem can be simplified if the circuits satisfy this property and prove that the method is complete for any number of retiming and resynthesis steps. We also provide a way to enforce C-k-D on the circuits without restricting the optimization power of retiming and resynthesis or increasing their complexity. Experimental results demonstrate that enforcing C-k-D property can speed up the verification process.


Archive | 1999

MATCH: A MATLAB Compiler For Configurable Computing Systems

Prithviraj Banerjee; Nagaraj Shenoy; Alok N. Choudhary; Scott Hauck; Charles C. Chang


symposium on principles of programming languages | 2011

A technique for the effective and automatic reuse of classical compiler optimizations on multithreaded code

Pramod G. Joisha; Robert Schreiber; Prithviraj Banerjee; Hans-Juergen Boehm; Dhruva R. Chakrabarti


Archive | 2010

Sequential-Code Optimization of Parallel Code Based on Identifying Siloed Program References

Pramod G. Joisha; Robert Schreiber; Prithviraj Banerjee; Hans Boehm; Dhruva R. Chakrabarti


Archive | 1999

A framework for inter-procedural locality optimization

Mahmut Kandemir; Alok N. Choudhary; J. Ramanujam; Prithviraj Banerjee

Collaboration


Dive into the Prithviraj Banerjee's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Hai Zhou

Northwestern University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Scott Hauck

University of Washington

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge