I am a software systems researcher, working primarily on problems in programming language implementation and scalable runtime systems.
My research objective is to develop new technology that enables programmers to productively use high-level languages to construct high performance software systems. In pursuit of this end goal, I have made research contributions to a number of technical topics in programming language design and implementation including the analysis and optimization of object-oriented languages, virtual machine design and implementation, scalable runtime systems, Just-In-Time compilation, online feedback-directed optimization, and garbage collection.
Since joining IBM in 1998, I have worked on a number of projects, including:
- I am currently helping to bring the Swift programming language to the server as part of the Swift@IBM technical team and the Swift.org community.
- I co-lead the X10 Project. X10 is an object-oriented programming language with integrated support for fine-grained concurrency and distribution. Although originally designed for supercomputers, X10 provides scalable performance and programmer productivity on a variety of systems ranging from single multi-core machines, to the cloud, to high-end HPC-style clusters.
- I was a member of the Metronome Project, which developed the real-time garbage collection technology that became the basis for IBM's WebSphere Real Time product.
- I continue to be active in the Jikes RVM open source community serving on the Jikes RVM core team and steering committee. Jikes RVM grew out of the Jalapeño research project at IBM. I worked on the Jalapeño optimizing compiler, adaptive optimization system, and other aspects of the VM runtime.
If you want to download one of my papers from the ACM digital library, use my ACM Authorizer page.