Haryadi S. Gunawi

 

 

 

University of Wisconsin – Madison

7366 Computer Sciences Building

1210 West Dayton Street

Madison, WI – 53706

 

 

Email:

Phone:  (cell)

(608) 262-6624 (work)

Fax: (608) 262-9777

http://www.cs.wisc.edu/~haryadi

 

 

Research Interests

 

 

Primary interests: File and storage systems, distributed systems, operating systems, and software engineering.

Secondary interests: Networking and database.

 

Education

 

 

 

Ph.D. Candidate in Computer Science

 

University of Wisconsin, Madison

 

Expected: Dec 2009

 

 

Thesis: Towards Reliable Storage Systems
Co-winner of the 2009 departmental Outstanding Graduate Student Research Award (best thesis award)

 

 

Advisors: Prof. Andrea C. Arpaci-Dusseau and Prof. Remzi H. Arpaci-Dusseau

 

M.S. in Computer Science

University of Wisconsin, Madison

December 2004

 

B.S. in Comp. Engineering and Comp. Science

 

University of Wisconsin, Madison

December 2001

Awards

 

§

 

Awarded the 2009 departmental Outstanding Graduate Student Research Award (Best Thesis Award)

 

§

Selected as a finalist for the Microsoft Research Ph.D. Fellowship program in 2007

 

§

Awarded the Lawrence H. Landweber NCR Fellowship in Distributed Systems in 2006/2007

 

§

Nominated for the Microsoft Research Ph.D. Fellowship program by the CS Dept of UW-Madison in 2006

 

§

Awarded Summer Research Fellowship by the CS Dept of UW-Madison in Summer 2003

 

§

Awarded USENIX Student Research Grant in Summer 2001

 

§

Dean's Honor List at Univ. of Wisconsin Madison, Fall 1998 - Spring 2001

 

 

Technical Talks

.

§

SQCK: A Declarative File System Checker (2008)

OSDI ’08

§

EIO: Error-handling is Occasionally Correct (2008)

FAST ’08, Network Appliance

§

Improving File System Reliability with I/O Shepherding (2007)

SOSP ’07

§

Deconstructing Commodity Storage Clusters (2005)

ISCA ’05, EMC Corp.

§

Deploying Safe User-Level Network Services with icTCP (2004)

 

OSDI ’04

 

Teaching Experience

 

§

 

Full-time Lecturer, CS 537 (Introduction to Operating Systems), Fall 2008

 

§

Guest Lecturer, CS 739 (Distributed Systems), Spring 2005

 

§

Teaching Assistant, CS 577 (Introduction to Algorithm), Spring 2003

 

 

Industry Experience

 

§

 

Microsoft Research. Redmond, WA

Internship under the Operating System Group (working on the Singularity project)

Jun ’06 – Aug ‘06

§

EMC Corp. Hopkinton, MA

Internship under the Research and Advanced Development Group

May ’05 – Aug ‘05


Patents

 

§

 

Galen C. Hunt, Orion Hodson, Haryadi S. Gunawi, Homogeneous Programming For Heterogeneous Multiprocessor Systems, US Patent #20080244507 filed by Microsoft Corp.

 

§

Galen C. Hunt, Orion Hodson, Haryadi S. Gunawi, Master And Subordinate Operating System Kernels For Heterogeneous Multiprocessor Systems, US Patent #20080244599 filed by Microsoft Corp.

 

 

Conference Publications

 

 

 

Under

Submission

 

DBMS and On-Disk Data Corruption: Problems and Solutions

Sriram Subramanian, Yupu Zhang, Rajiv Vaidyanathan, Haryadi S. Gunawi , Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Jeffrey F. Naughton

 

 

[PLDI’09]

Error Propagation Analysis for File Systems

Cindy Rubio-Gonzalez, Haryadi S. Gunawi, Ben Liblit, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau

ACM SIGPLAN  2009 Conference on Programming Language Design and Implementation

June 2009, Dublin, Ireland

 

 

[OSDI’08]

 

SQCK: A Declarative File System Checker
Haryadi S. Gunawi, Abhishek Rajimwale, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau

Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation

December 2008, San Diego, CA

 

 

[FAST’08]

 

EIO: Error-handling is Occasionally Correct

Haryadi S. Gunawi, Cindy Rubio-Gonzalez, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Ben Liblit

Proceedings of the 6th USENIX Conference on File and Storage Technologies

February 2008, San Jose, CA

 

 

[SOSP’07]

Improving File System Reliability with I/O Shepherding

Haryadi S. Gunawi, Vijayan Prabhakaran, Swetha Krishnan, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau

Proceedings of the 21st ACM Symposium on Operating Systems Principles

October 2007, Stevenson, WA

 

 

[SOSP’05]

IRON File Systems
Vijayan Prabhakaran, Lakshmi N. Bairavasundaram, Nitin Agrawal, Haryadi S. Gunawi, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau
Proceedings of the 20th ACM Symposium on Operating Systems Principles
October 2005, Brighton, United Kingdom

 

 

[ISCA’05]

Deconstructing Commodity Storage Clusters
Haryadi S. Gunawi, Nitin Agrawal, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau
Proceedings of the 32nd International Symposium on Computer Architecture
June 2005, Madison, WI

 

 

[OSDI’04]

Deploying Safe User-Level Network Services with icTCP
Haryadi S. Gunawi, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau
Proceedings of the 6th USENIX Symposium on Operating Systems Design and Implementation
December 2004,
San Francisco, California

 

 

[SOSP’03]

Transforming Policies into Mechanisms with Infokernel
Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Nathan C. Burnett, Timothy E. Denehy, Thomas J. Engle, Haryadi S. Gunawi, James A. Nugent, Florentina I. Popovici
Proceedings of the 19th ACM Symposium on Operating Systems Principles
October 2003, Bolton Landing, New York

 

Dissertation Research

 

 

Title: Towards Reliable Storage Systems

 

My doctoral research centers around file and storage systems, specifically focusing on how to design a better framework to improve robustness.  This research is motivated by three trends that will dominate the storage systems of tomorrow: users are storing increasingly massive amounts of data, storage software complexity is growing, and the use of cheap and less reliable hardware is increasing nowadays.  The combination of these trends presents us with a terrific challenge: How can we promise users that storage systems work robustly in spite of their massive software complexity and all the complex disk failures that can arise?

 

My thesis work consists of three parts that deal with the challenges above.  First, I analyzed commodity file systems to understand how they handle various types of disk failures.  Second, I prototyped a new reliability infrastructure for file systems.  The goal of the new infrastructure is to make reliability policies well-defined, easy to understand, and simple to tailor.  Finally, I redesigned a robust offline file system checker.  I utilized a declarative query language to specify the high-level intent of a checker in a clear and compact manner. 

 

In summary, in building a new generation of more robust and reliable storage systems, I adhere to the idea that complexity is the enemy of reliability.  Recovery code is complex and hard to get right.  Thus, I always advocate a higher-level strategy where the logic of reliability policies can be described clearly and concisely. I believe my work has shown that such design is feasible without sacrificing performance and features, and I have taken an important step towards improving future storage system reliability.

 

Research Experience

 

§

 

DBMS and On-Disk Data Corruption: Problems and Solutions:

In this work, I lead three graduate students in analyzing how robust DBMS handles disk corruption. Our preliminary findings suggest that DBMS (MySQL ans PostgreSQL) performs little corruption detection and recovery, leaving the corruptions unattended [In Submission].

 

Aug ’08

–

Apr ‘09

§

SQCK, A Declarative File System Checker:

File system checker (fsck) is a “trusted” component that fixes file system inconsistencies. Unfortunately, fsck also corrupts and loses data.  To build a new generation of robust and reliable file system checkers, I utilized a declarative query language to cleanly separate the description of the intent from its low-level implementation [OSDI ‘08].

 

Sep ‘07

–

Jul ‘08

§

Improving File System Reliability with I/O Shepherding:

I prototyped a new reliability infrastructure for file systems called I/O shepherding. With I/O shepherding, the reliability policies of a file system are well-defined, easy to understand, powerful, and simple to tailor to environment and workload [SOSP ‘07].

 

 

Mar ‘06

–

Aug ’07

 

§

Error Detection and Propagation Analysis in Commodity File Systems:

I developed a static source-code analysis technique, which shows how error codes flow through the file system and storage drivers.  Applying this analysis to more than 20 file systems and 3 major storage device drivers, we found that low-level errors are sometimes lost as they travel trough the many layers of the storage subsystem [FAST ‘08].

 

Jun ‘05

–

Mar ‘06

§

IRON File Systems:

We proposed a new failure model for modern disk drives called Fail-Partial Failure Model which incorporates realistic localized faults such as latent sector errors and block corruption. Using the new model, we showed that commodity file system failure policies are sometimes buggy and generally not highly capable to recover from partial disk failures [SOSP ‘05].

 

Jan ’05

–

May ’05

§

Deconstructing the EMC Centera Storage Cluster:

I showed how intra-box instrumentation can help one understand the behavior of large-scale storage cluster, the EMC Centera. We were able to infer the structure of the software system as well as its policies (e.g., how it performs caching, replication, and load-balancing). This was achieved without examining a single line of source code [ISCA ‘05].

 

Jun ’04

–

Dec ’04

§

icTCP, Information and Control TCP:

I explored some TCP elements that can be controlled from the user-level. The goal is to allow certain TCP variables to be set in a safe fashion. To show the power of icTCP, I have implemented six well-known TCP extensions within the application layer [OSDI ’04].

 

Apr ’03

–

Sep ’04

§

InfoTCP, part of infokernel:

Through infokernel, we advocated that operating systems should export key pieces of information about its algorithm and internal state. InfoTCP shows the benefit of infokernel in the networking subsystem. I demonstrated that by exporting TCP information, in-kernel TCP Reno can be altered into a controllable transport mechanism [SOSP ‘03].

 

Dec ’02

–

Jul ’03

Professional Activities

 

§

 

Reviewer:

FAST ’09, VLDB ’09, MICRO ’09, FAST ’07, ASPLOS ’06,

USENIX ’05, USENIX ’04, ICDCS ’04, VLDB ’04

 

§

Member of ACM, IEEE, USENIX

 

References

 

 

Available upon request.