Research

Before industry, I spent six years doing research in distributed systems and networking, mostly on one question: how can a system understand an application from the outside and adapt to it automatically?

PhD, Northwestern University

  1. Black Box Methods for Inferring Parallel Applications' Properties in Virtual Environments

    PhD dissertation, Computer Science, Northwestern University 2002 – 2008

    Defended March 2008. Advised by Prof. Peter Dinda.

    Dissertation (PDF) Defense talk (PPT) Original proposal (DOC)

Abstract

Virtual machine based distributed computing greatly simplifies and enhances adaptive/autonomic computing by lowering the level of abstraction, benefiting both resource providers and users. We are developing Virtuoso, a middleware system for virtual machine shared-resource computing (e.g. grids) that provides numerous advantages and overcomes many obstacles a user faces in using shared resources for deploying distributed applications. A major hurdle for distributed applications to function in such an environment is locating, reserving/scheduling and dynamically adapting to the appropriate communication and computational resources so as to meet the applications' demands, limited by cost constraints. Resources can be very heterogeneous, especially in wide area or shared infrastructures, and their availability is also highly dynamic.

To achieve such automated adaptation, one must first learn about the various demands and properties of the distributed application running inside the VMs. My thesis is that it is feasible to infer the applications' demands and behavior, to a significant degree, without actually knowing much about the application or its operating system; I have investigated and demonstrated numerous novel techniques to infer many useful properties of parallel applications, in an automated fashion. Throughout my work I have used a black box approach to inference. Thus the results are applicable to existing, unmodified applications and operating systems and are widely applicable.

I show how to infer the communication behavior and the runtime topology of a parallel application. I also show how to infer very useful runtime properties of a parallel application such as its runtime performance. I have developed the algorithms to understand quantitatively the slowdown of an application under external load to find global bottlenecks at the resource and process level using time decomposition of the application's execution.

In addition, my dissertation also gives limited evidence and points to other work that shows that this inferred information can actually be used to benefit the application, without having any knowledge of the application/OS itself.

Research projects

Publications

Technical reports

Talks

Patent

Research internships

  1. Google

    Engineering Intern 2006

    AdSense: designed a new ad delivery algorithm and built a system for boosting ad relevance and click rates.

  2. Intel Labs

    Research Intern 2005 and 2006

    Two internships across Intel's Pittsburgh (with CMU) and Cambridge, UK labs: distributed algorithms for particle-based modular robotics, including an OpenGL simulator for them, and algorithms and design for high-performance packet classification.

  3. IBM Research

    Research Intern Summer 2002

    Tools for developing large-scale distributed applications for e-government, at IBM's lab in New Delhi. Project page and report

Before the PhD

  1. QoS Aware Path Protection Schemes for MPLS Networks

    B.Tech thesis, Computer Science and Engineering, IIT Delhi 1998 – 2002

    A "segment-based" approach to protecting MPLS paths that guarantees QoS, such as delay, jitter, and bounded switch-over time, even after a failure, while using less bandwidth than existing schemes. Advised by Prof. B.N. Jain in the Advanced Networking Laboratory.

    Received the Best B.Tech Project Award in the Computer Science department and the ICIM Stay Ahead Award for the best project in Information Technology and Computing Sciences.

    Thesis report (PDF) Paper (PDF) Award presentation (PPT) Final presentation (PPT)