If you are seeking a "knowledge verification" letter from me, such as
for supporting a green card application, please follow the
process described here.
- hmm, updated every few years, whether needed or not... kids will do that to you, I guess.
- Everyone who thought "Greg never takes a vacation" is now proven wrong... family vacation to Hawaii, in July 2012, complete with surfing (really!). Check out a few action shots of Gangers getting it done.
- We launched a new research center focused on cloud computing in 2012. Check out the Intel Science and Technology Center for Cloud Computing (ISTC-CC).
storage systems course is being offerred regularly, with the current offering in the Spring term 2015 and the next one in Fall 2015.
- In Fall 2010, I taught a PhD-level special topics class (it'd been awhile) on Data-intensive and Cloud computing and storage.
- In July 2010, I testified before Congress about cloud computing in a hearing on the benefits and risks of moving federal IT to the cloud. It was a very interesting experience.
- In 2010, I was named Jatras Professor of ECE. An overwhelming honor.
- We've established (or are in the process of establishing) several clouds at CMU, including the CMU vCloud, an OpenCirrus site, and an OpenCloud site.
- Tim and Will (my sons) make it tough
to keep web pages up to date, but lots of research progress is happening
too. Check out my publications page for recent
and previous papers.
I have broad research interests
in computer systems, including storage/file systems, cloud computing,
software systems for large-scale machine learning, distributed systems,
and operating systems. Most of my current research
explores these topics in the broad context of storage systems and
large-scale infrastructures within
CMU's Parallel Data Lab (PDL),
for which I serve as Director.
See the PDL pages for more current information, since this page
gets updated rately, but... Together with industry collaborators
and other members of CMU's Parallel
Data Lab (PDL) and CMU's
CyLab, my students and I are currently pursuing several
topics of research:
- Cloud computing, including resource scheduling in heterogeneous clouds and problem diagnosis in complex services.
- System support for large-scale machine learning, including new
consistency models for shared data, new execution scheduling
schemes for solving the straggler problem, opportunities offered
by iterative-ness, and generally identifying framework properties
well-matched to different types on ML computations.
- Elastic distributed storage and deduplication in database systems.
Other recent projects include:
Storage Systems, which automate and simplify storage administration
in clusters of self-configuring, self-organizing, self-tuning, self-healing,
self-managing, etc. storage servers.
Survivable distributed storage (PASIS) that provide data availability and
security even after some successful breakins.
Security via Smarter Devices. (which, among other things, includes
devices that protect their contents from compromised OSes).
Automated database storage management (Fates) that matches data layouts and
access patterns to device-specific characteristics to increase performance and predictability.
Characterization and simulation of storage systems. (Two useful
side-effects of this work have been the publicly-available DiskSim
storage system simulator and the DIXtrac-enabled database
of validated disk parameters for it.)
- Design, implementation
and use of Systems of Active
Components, including "intelligent" NICs, Active
Storage Networks, and Active
Extracting and using free bandwidth from busy disks.
MEMS-based storage devices in computer systems.
Dynamic function placement for data-intensive cluster computing via
the ABACUS runtime system.
Design and implementation of biometric-enhanced authentication systems.
- Design and implementation
of application-level networking.
Exokernel-based operating systems.
general-purpose file system support for small file I/O.
- Design, implementation
and use of extensible I/O software. (This is, I think, the most interesting
subcomponent of extensible operating systems, like exokernel-based
- Construction of high-performance
network servers (e.g., WWW servers).
- Implementation and use
of application-controlled storage management.
Currently on a cycle primarily consisting of 15-213/18-243 in
Fall semesters and 15-746/18-746 in Spring semesters.
In Spring 2001, Dave Nagle
and I created a new storage systems course
(18-546). It has, of course, evolved over the years. We continue
to teach it annually, now as 15-746/18-746.
In Fall 2000, I was drafted
at the last minute to teach 15-712 (graduate
OS and Distributed Systems). It was a lot of fun, and I taught it
again in Fall 2001 and Fall 2002.
In addition to research
and teaching, I enjoy spending time with my wife, Jenny,
playing various sports (basketball, in particular), and occasionally
sleeping. Of course, with the arrivals of Tim and
Will, all of that became irrelevant.
I spent 8/95 thru 11/97
as a postdoc in Frans
Kaashoek's research group
(PDOS) at the MIT Lab for Computer
Science. During that time, I participated in the design and development
of the exokernel operating system.
I also pursued (with others, of course) a number of specific projects,
most of which are mentioned above.
In a previous life (i.e.,
prior to August 1995), I was a graduate student in Yale Patt's
research group in the University of Michigan's
Advanced Computer Architecture Lab . Although the group's main focus
is on compilation for and implementation of high-performance processors,
my research was focused on file systems and storage subsystem architecture.
I earned all of my collegiate
degrees (B.S., 1991, M.S., 1993, Ph.D., 1995) from the University of
Michigan. I grew up in Michigan (Troy, post-1980) and Northern Ohio