Current Work

My research focuses on finding new programming models and paradigms for multicores. As newer chips gain in parallelism more than in pure clock-speed, efficient ways to harness this parallelism must be found. Current approaches of statically, or even dynamically, breaking up the computation into independent data or computing chunks will work for certain embarassingly parallel applications but programmers are facing difficulty for many other types of applications.

I am working on two main topics. My primary focus is on n-way parallelism which seeks to exploit algorithmic diversity to speed-up certain sequential algorithms or obtain quality improvements. I am also collaborating with a fellow PhD candidate, Kaushik Ravichandran, on thread collaboration which looks at how threads can be made semantically aware of their role in a computation so as to better share certain information with other threads.

Other collaborations

Tushar Kumar is leading work on dynamically tuning the feature set of certain types of applications (particularly games and multimedia applications) to maximize the quality-of-service of the application. This work is detailed in this section.

I have also worked on Software Transactional Memories to allow programmers to relax the constraints of traditional STMs.

More details on each of the above projects can be found in the subsections in the menu on the left.

Past Work

I previously worked with the Trimaran compiler to develop a compiling framework for the MONARCH chip developed by Raytheon. More information on that project can be found here.

List of Publications

Each section on the left has its own list of relevant papers along with slides if available. All publications are summarized here, the most recent first.