I am a software systems researcher, working primarily on problems in programming language implementation and scalable runtime systems. I develop innovative technology that enables programmers to productively construct high performance software system.
I have contributed 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:
- My current research focuses on Cloud Programming Models and Runtimes and Serverless Computing. I contribute to Apache OpenWhisk and serve on its Project Management Committee.
- I helped bring the Swift programming language to Linux as part of the Swift@IBM technical team and the Swift.org community.
- I co-led 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 am part of 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, follow dgrove-oss on GitHub.
If you want to download one of my papers from the ACM digital library, use my ACM Authorizer page.