Rajeev Thakur
Introduction
I am a Computer Scientist in the Mathematics and Computer
Science Division at Argonne National
Laboratory and a
Fellow in the Computation Institute at the
University of Chicago. I am also
an adjunct associate professor in the Dept. of Electrical
Engineering and Computer Science at Northwestern University. My
research interests are in the area of high-performance computing in
general and particularly in parallel programming models and
message-passing and I/O libraries.
My curriculum vitae: pdf
Education
- Ph.D., Computer Engineering, Syracuse
University, 1995
- M.S., Computer Engineering, Syracuse
University, 1992
- B.E., Computer Engineering, University of Bombay, India, 1990
Book
Current Projects
- MPICH2
- I am a member of the
MPICH group at Argonne. MPICH is a freely
available, portable implementation of the MPI (Message Passing
Interface) standard. Our current efforts are focussed on the design
and implementation of MPICH2, the next-generation MPICH. The goal of
MPICH2 is to develop a full implementation of MPI-2 that runs
everywhere and also delivers high
performance. "Everywhere" means on all machine architectures (shared
memory, distributed memory, clusters of SMPs), all operating systems,
and all communication technologies (TCP, shared memory, Myrinet,
InfiniBand). MPI-2 includes all of MPI-1 message passing
plus one-sided communication, dynamic process management, parallel
I/O, and some other features. My efforts focus on implementing efficient
collective communication algorithms,
one-sided communication operations, dynamic process management, and
thread safety.
This project won a 2005 R&D 100 Award (photo).
-
- Formal Verification of MPI Programs
- Bill Gropp and I are collaborating with Prof. Ganesh
Gopalakrishnan and Prof. Mike Kirby from the University of Utah on
formal verification of MPI programs. Our initial efforts focussed on
MPI one-sided communication. Our model checker revealed a bug in an
algorithm for byte-range locking. See this
paper for details.
-
- MPI-IO
- I participated actively in the definition of the parallel I/O
interface in MPI-2, commonly known as MPI-IO. I also developed a
freely available, portable implementation of MPI-IO, called
ROMIO. Several computer-system
vendors (HP, SGI, NEC, Cray, and IBM for BG/L) have
used ROMIO as the basis for their own MPI-IO implementations. Our current
work in this area focuses on parallel I/O for Linux clusters by using the
PVFS parallel file
system (with Rob Ross and others).
-
- SciDAC
- I am involved in the SciDAC project on Scientific Data Management,
where among other things we are developing a
parallel version of the NetCDF I/O
library (in collaboration with Prof. Alok Choudhary's group at Northwestern
University).
-
- UPC-IO
- Along Prof. Tarek El-Ghazawi's group at George Washington
University and Dan Bonachea from UC Berkeley, I am involved in the
definition and implementation of a parallel I/O interface for UPC,
called UPC-IO.
-
Past Projects
- High-Performance I/O in Java
- Dan Bonachea (UC Berkeley), Phil Dickens (Illinois Institute of
Technology), and I evaluated the I/O capabilities of Java for
high-performance computing. We found that the main deficiency in
Java was the lack of direct support for bulk (array) I/O for data
types other than bytes, which affected
performance in real applications. We proposed extensions to the Java
I/O library that address these deficiencies. Performance results show that the
proposed methods improve performance by a factor of 4 to 5. See these
publications for details.
-
- Scientific Data Management
- This project aimed to simplify the problem of management, storage,
efficient access, and analysis of the large data sets generated by
scientific experiments and simulations. This work was in collaboration
with Alok Choudhary (Northwestern University) and Jaechun No (formerly
Argonne, now at Sejong University in Korea). We developed a software system for scientific
data management that combines
the good features of parallel file I/O (namely, high performance) and
databases (namely, convenience and flexibility). This work is reported
in the following publications.
Professional Activities
- Associate Editor, IEEE Transactions on Parallel and Distributed Systems, (2004-2007)
- Program Committee, ICPP 2010
- Program Committee, P2S2 2010
- Program Committee, Euro MPI 2010
- Program Committee, NAS 2010
- Program Committee, ICS 2010
- Program Committee, SNAPI 2010
- Co-Chair, Student Research Symposium, HiPC 2009
- Program Committee, SC09
- Tutorials Co-Chair, SC09
- Program Committee, PGAS 2009
- Program Committee, Cluster 2009
- Program Committee, Euro PVM/MPI 2009
- Program Committee, ICPP 2009
- Program Committee, P2S2 2009
- Program Committee, PADTAD 2009
- Co-Chair, Student Research Symposium, HiPC 2008
- Program Committee, SC08
- Program Committee, ICPADS 2008
- Program Committee, P2S2 2008
- Program Committee, ICPP 2008
- Program Committee, ACSAC 2008
- Poster/Presentation Chair, HiPC '07
- Program Committee, IISWC 2007
- Program Committee, Cluster 2007
- Program Committee, ACSAC 2007
- Program Committee, SMTPS Workshop at IPDPS 2007
- Poster/Presentation Chair, HiPC '06
- Program Committee, ICPADS 2006
- Program Committee, Eleventh Asia-Pacific Computer Systems Architecture Conference (ACSAC 2006)
- Program Committee, SMTPS Workshop at IPDPS 2006
- Poster/Presentation Chair, HiPC '05
- Program Committee, Tenth Asia-Pacific Computer Systems Architecture Conference (ACSAC'2005)
- Program Committee, SMTPS Workshop at IPDPS 2005
- Program Committee, Cluster 2004
- Program Committee, Ninth Asia-Pacific Computer Systems Architecture Conference (ACSAC'2004)
- Program Committee, ICPP 2004
- Program Committee, Cluster 2003
- Program Committee, Workshop
on Parallel I/O in Cluster Computing and Computational Grids at CCGrid
2003
- Vice Program Chair, Cluster 2002
- Editorial Board of a Special Issue of
Calculateurs Paralleles on Parallel I/O for Cluster Computing, 2001
- Program Committee, CCGrid2001
- Global Chair, Parallel I/O and Storage Technology, Euro-Par 2000
- BOFs (Birds-of-a-Feather sessions) Chair, SC2000
- Proposal Review Panels at the National Science Foundation, 1999
- General Co-Chair, IOPADS '99
- Ph.D. thesis committees of Rakesh Krishnaiyer (1998), Chutimet
Srinilta (1998), and Jaechun No (1999) at Syracuse University; Murali
Vilayannur at Penn State University (2005); Sachin More (2000), Avery
Ching (2007), and Kenin Coloma (2007) at Northwestern University
- Program Committee, HiPC '99
- Program Committee, Heterogeneous Computing Workshop at IPPS '99
- Vice-Chair, Parallel I/O Workshop at Euro-Par '98
- Program Committee, PDCS-98
- Poster Exhibits Chair, SC98
- Co-Guest Editor, Special Issue of IJHPCA on I/O in Parallel Applications
- Tutorials Vice-Chair, SC97
- Program Committee, HiPC '97
- Publicity Chair, IOPADS '97
- Tutorials Vice-Chair,
Supercomputing '96
Address
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