If you are seeking a "knowledge verification" letter from me, such as for supporting a green card application, please follow the process described here.

Recent Events

Research Interests

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:


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.

Brief Bio

(In reverse order) 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 (Sylvania, pre-1980).