I enjoy implementing and extending experimental software systems and pushing the frontier of what is possible. A recurring theme in my research is the pursuit of technology that enables programmers to more productively construct high performance software systems.
During my career, I have made research contributions in a variety of areas, 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, memory management, and cloud programming models.
Since joining IBM Research in 1998, I have worked on a number of projects:
-
My current research focuses on Cloud Programming Models and Serverless Computing. I contribute to Apache OpenWhisk and serve on its Project Management Committee. In the KAR project, we are developing a new fault-tolerant cloud programming model based on actors, reliable message delivery, and principled retries.
-
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 for Java that became the basis for IBM’s WebSphere Real Time product.
-
I was a member 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.