I am a Principal Research Staff Member in the Programming Technologies Department at the Watson Research Center. I also manage the Parallel Languages, Applications, and Tools group.
I am interested in a wide variety of 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. Much of my research is ultimately motivated by a desire to enable programmers to use high-level languages to construct high performance software systems.
Since joining IBM in 1998, I have worked on a number of projects, including:
- I am currently co-leading the X10 Project. X10 is an object-oriented programming language with integrated support for fine-grained concurrency and distribution. It is designed to address the architectural challenge of multiples cores, hardware accelerators, clusters, and supercomputers in a manner that provides both scalable performance and programmer productivity.
- I was a member of the Metronome Project, which developed 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.
Many of the software artifacts I use in my research are open source. For more information on my contributions to open source, see my OpenHub page.
If you want to download one of my papers from the ACM digital library, use my ACM Authorizer page.