Prof. Douglas Thain at Notre Dame

| About | Teaching | Research | Papers | Talks | Service | Blog | Lab |

Research

In the Cooperative Computing Lab, my team creates software that enables the construction of applications that easily run on thousands of computers drawn from clusters, clouds, and grids. Our work is highly applied: we design new software systems, run them at large scale with real applications, and then study the problems that naturally arise in that context. As a result, we work on a wide variety of topics, include workflows, filesystems, data management, fault tolerance, and resource management,

My work has three interwoven components:
1. Open Source Software. We design and build the production-quality open source software that is used around the world. The Cooperative Computing Tools include Work Queue, a distributed application framework; Makeflow, a workflow system for large clusters; Parrot, a global filesystem for remote data access, and other components as well. Because our software must operate in many complex and hostile environments, we maintain a rigorous software engineering process encompassing design, implementation, testing, and complete documentation. (see more software)
2. Research Collaborations. We work closely with colleagues in other fields such as high energy physics, molecular dynamics, machine learning, and computational agriculture to carefully understand the computational needs, design novel solutions, and deploy them at scale in infrastructure spanning airborne mini-clusters, campus infrastructure, and leadership-class HPC machines. These collaborations are essential to identifying the right problems, keeping our solutions on track, and ensuring that we solve all aspects of the problem, whether usability, reliability, or performance.
3. Fundamental Research. We perform fundamental computer science research that is grounded in working software deployed to solve real problems. Our software and end users serve as a "living lab" in which we can evaluate new techniques for making applications more usable, more reliable, or more performant. For some highlights, see:

Ph.D. Graduates

I am thankful and proud to have worked with the following Ph.D. students at Notre Dame:

  1. Dr. Tim Shaffer, (2022) Engineer at Seagate.
  2. Dr. Nathaniel Kremer-Herman, (2021) Faculty at Seattle University.
  3. Dr. Nicholas Hazekamp, (2019) Engineer at Atomic Object.
  4. Dr. Chao (Charles) Zheng, (2019) Engineer at Alibaba.
  5. Dr. Peter Ivie, (2018) Engineer at VidAngel.
  6. Dr. James Sweet, (2017) postdoc at ND Center for Research Computing.
  7. Dr. Haiyan Meng, 2017) Engineer at Google.
  8. Dr. Patrick Donnelly, (2016) Engineer at Google.
  9. Dr. Haipeng Cai, (2015) Postdoc at Virginia Tech, then faculty at Washington State University.
  10. Dr. Peter Sempolinski, (2015) Postdoc at Notre Dame
  11. Dr. Dinesh Rajan, (2015) Engineer at Amazon.
  12. Dr. Li Yu, (2013) Engineer at Bloomberg.
  13. Dr. Peter Bui, (2012) Faculty at University of Wisconsin - Eau Claire, then Faculty at Notre Dame.
  14. Dr. Hoang Bui, (2012) Faculty at Wester Illinois University.
  15. Dr. Christopher Moretti, (2010) Faculty at Princeton University.
  16. Dr. Kyle Wheeler, (2009) Researcher at Sandia National Labs.
  17. Dr. Jeffrey Hemmes, (2009) Faculty at Air Force Institute of Technology, then Faculty at Auburn University.

Research Funding