I am an experimental computer scientist who enjoys exploring novel ways to solve real world problems, and building production scale systems that translate those ideas into commercial value. I love programming, and am familiar with a number of programming languages and tools for development, testing and deployment. Over my career as an engineer, scientist, and entrepreneur, I have been involved in software architecture, systems programming, leading technical teams, raising venture capital and developing technology strategy.
Besides technology, my other passions are tennis, sketching, classical guitar, and traveling around the world.
Projects I am currently working on
I lead the Datacenter Analytics team at the Watson Labs, which, in collaboration with groups at Carnegie Mellon, University of Toronto, and UC San Diego is exploring ways to mine real-time operational data (such as logs, events, configuration changes, etc) in a Cloud environment, to learn patterns that tend to lead to performance problems and system outages. This project, called Origami, was started in 2011 and is an ongoing R&D effort. What makes this problem challenging is the large number of operational features involved, a highly dynamic environment where change management systems are continuously making changes, and the difficulty in distinguishing benign changes from problematic ones.
In partnership with a team at CMU, I also helped create the Olive open virtual machine library. Olive aims to build a public domain VM library, for the historical preservation of executable environments. This project has drawn the interest of The Library of Congress, Sloan Foundation, and IMLS.org. Early prototypes of this library are now operational, and a number of universities are now involved in populating it with historically significant software systems packaged as executable VMs. Examples of VMs in Olive include the first Mac and Windows OS, early versions of productivity tools like Wordperfect, and early graphical games like Oregon Trail. VMs hosted in the Olive library can be streamed to local laptops or to remote Clouds for instant execution, giving users a YouTube like experience with working virtual computers.
Past projects I worked on at IBM
I have previously led many technology and systems engineering efforts at IBM Research that have created products and services in commercial use today both within IBM and at IBM customer locations. I was one of the architects of the Research Compute Cloud (RC2) that forms the Cloud computing infrastructure for the worldwide IBM Research division. It now operates across 4 geographic zones, and hosts thousands of research workloads for hundreds of IBM Research employees worldwide. I received an Outstanding Technical Achievement Award for this work.
The Mirage VM image library developed by my team forms the nucleus of the VM lifecycle management process used in the Research Compute Cloud. Mirage developed many advanced techniques for the management of VM images on a large scale, including capabilities to perform offline security and compliance scanning, provenance tracking and version control (see my publications for technical details). This technology is also a central component of several IBM Cloud management products.
Prior to Mirage, I developed an application virtualization and streaming technology code-named PDS, that enabled desktop applications to be centrally packaged and streamed (similar to the way video/audio data is streamed) from a central IT department to employee desktops. The PDS project developed a number of innovations in process and file-system virtualization, and techniques to encode the installed state of applications as streamable data.
Projects I worked on before joining IBM
Prior to joining IBM Research, I have worked on computer architecture, compiler optimization, parallel computing, virtualization, dynamic binary translation, and digital rights management. My work on multi-processor message passing algorithms has influenced the Message Passing Interface (MPI) standard used in modern supercomputers. My work on pipeline instruction scheduling is used in the GNU C compiler. My work on the Dynamo system made pioneering contributions to the field of just-in-time compilation and binary optimization, and has been widely referenced and extended by others. My work on using virtualization to enable document protection and security was successfully commercialized by Liquid Machines Inc, a company I co-founded (and was later acquired by Check Point Inc).
I was recognized as an ACM Distinguished Scientist for seminal contributions to the field of dynamic binary translation. I am also a member of the IBM Academy of Technology and an IBM Master Inventor.
I received my MS and Ph.D. in Computer Science from Rice University. In addition to IBM Research, I have worked as a research fellow at Caltech, a compiler engineer at Kendall Square Research, and a senior scientist at Hewlett-Packard Labs. Prior to joining IBM Research, I co-founded Liquid Machines Inc., a startup company in Waltham, MA that was later acquired by Check Point Software Technologies.