I am the Deputy Director of the Mathematics and Computer
Science Division at Argonne National
Laboratory, where I am also a Senior Computer Scientist. I am also a
Senior Fellow in the Computation Institute at the
University of Chicago and
an Adjunct Professor in the Dept. of Electrical
Engineering and Computer Science at Northwestern University. My
research interests are in the area of high-performance computing,
particularly in parallel programming models, runtime systems,
communication libraries, and scalable parallel I/O.
My curriculum vitae: pdf
- Ph.D., Computer Engineering, Syracuse
- M.S., Computer Engineering, Syracuse
- B.E., Computer Engineering, University of Bombay, India, 1990
- New! Using Advanced MPI: Modern Features of the Message-Passing Interface
by William Gropp, Torsten Hoefler, Rajeev Thakur, and Ewing Lusk, MIT Press, 2014.
This is a new book on advanced features of MPI, including the new features in MPI-3.
MPI-2: Advanced Features of the Message-Passing Interface, by
William Gropp, Ewing Lusk, and Rajeev Thakur,
MIT Press, 1999.
A Japanese translation of the book is available here. The translation was done by
Takao Hatazaki. Here
is a link to the cover
of the Japanese version.
- MPI and MPICH
- I am actively involved in the definition of the MPI standard in
the MPI Forum and its
implementation in the MPICH implementation
of MPI. MPICH is a high-performance, portable implementation developed
by us at Argonne. Many vendors (IBM, Cray, Intel, Microsoft)
use MPICH as the basis of their own MPI implementations.
The popular MVAPICH
implementation from Ohio State University for InfiniBand networks is
also based on MPICH. Many of the largest machines in the Top500 list
use MPICH-based MPI implementations. MPICH2 won an R&D
100 Award in 2005 (photo). Many of our
related to MPICH can be found here.
- Codesign for Exascale
- I am the computer science lead for the Center for Exascale Simulation for Advanced Reactors (CESAR), a DOE Office of Science Exascale Codesign Center.
- Exascale Operating System and Runtime
- I am one of the lead participants in the Argo project, which is developing an exascale operating system and runtime prototype.
- Parallel I/O
- I have worked on parallel I/O for many years, originally in the
context of the PASSION runtime library when I was a graduate student
at Syracuse University. I was actively involved in the definition of
the MPI-IO interface in the MPI-2 Forum. I was also the original
developer of the ROMIO
implementation of MPI-IO, which provides the MPI-IO
support in most MPI implementations. More recently, I have
collaborated with Prof. Xian-He Sun's group
at Illinois Insitute of Technology on various NSF-funded I/O
projects. Publications related to my I/O work can be found here. I also maintain this updated list
of parallel I/O benchmarks.
- Formal Verification of Parallel Programs
collaborate with Prof. Ganesh Gopalakrishnan
at the University of Utah and Prof. Stephen Siegel at
the University of Delaware on using formal methods to verify
correctness of parallel programs. This is a promising technology since
it is quite hard to find concurrency-related bugs otherwise. We have
had several publications, including
one in Communications of the ACM.
- Exascale Computing
- I was involved in the
International Exascale Software
Project (IESP), which developed a
roadmap of system software research needed for exascale. I was one of
the (many) authors of this roadmap document.
Mathematics and Computer Science Division
Argonne National Laboratory
9700 S. Cass Avenue
Argonne, IL 60439, USA
Tel: (630) 252-7847
email: thakur at mcs.anl.gov