- Please take a look at the reading list and send me e-mail with the paper you want to present in class.
- We have moved the class location permanently to BA 5205.
Over 90% of all new information produced in the world is being stored on digital storage systems, including the crown jewels jewels of enterprises (ranging from Microsofts's source code to the sales database of every e-commerce site) and personal records, such as photos, correspondence, and movies. Storage systems often dominate the performance of a system, and their components' inner workings require amazing feats of engineering. The success of many young and cool companies, such as Google, Facebook and Youtube, is derived from their ability to efficiently and reliably store large amounts of data. The exponentially growing need for data capacity and access speed is making storage systems one of the fields with the most robust demand for bright people, both in industry and in academia.
In this class, you will learn about the latest and greatest in storage systems, studying novel ideas from academia and learning about the best "real-world" systems. You will also perform a cutting-edge mini-research project, where you design, build, and/or evaluate a system.
Meeting Time/Place: Wed 3-5pm, BA 5205
office: BA 5236
office hours: By appointment
- Critical study and discussion of seminal and recent literature and student paper presentations.
- A term project that involves designing, evaluating and writing up an interesting systems research issue related to the problems and techniques discussed in class.
- No exams!
The basic goal of the project component is for class members to gain research experience by designing and exploring an interesting storage systems problem. The storage systems problem should explore issues, solve problems or exploit techniques from classroom discussions or papers. The expectation is to have a workshop quality paper by the end of the term. Students are expected to work in teams of two on the project.
You are encouraged to choose a project from one of the project ideas we propose or come up with your own project idea. It is fine for your project to span areas, combining storage systems issues (this class) and others like machine learning, HCI and theory. However, there must obviously be a significant CSC-2232-related component, and all project plans must be explicitly okay'd by the instructor.
For a list of project ideas check here.
There will be five project milestones (the due dates might be subject to change):
- Sept 26 -- Project proposal. This is an informal write-up (two to three paragraphs) describing your main idea for the course project. You are encouraged to use the ACM standard Latex template , but you can also just send me your paragraphs in e-mail. The later milestones will be required to be in ACM format.
- Oct 3 -- Related work. This is a summary of previous work that is related to your project. The goal is *not* to give a laundry list of all prior work. Rather the point is to summarize previous and how it relates to your proposed work (in particular, how is your work different.)
- Oct 17 -- Status update I. A document summarizing your accomplishments so far and any roadblocks you might have encountered. The document should have the form of a draft of the final paper, i.e. it should have an introduction, related work and preliminary results/progress.
- Oct 31 -- Status update II. Same as status update I with more results.
- Nov 14 -- Status update III. Same as status update II with more results.
- Dec 4 -- Final report due. Time to hand in the complete write-up of your project's results.
- Ruemmler 94: C. Ruemmler and J. Wilkes.
" An introduction to disk drive modeling", IEEE Computer 94
- Fryer 12: D. Fryer, K. Sun, R. Mahmood, et al.
"Recon: Verifying File System Consistency at Runtime", FAST 2012
- Ganger 94: G. Ganger and Y. Patt.
" Metadata Update Performance in File systems", Usenix Symposium on Operating Systems Design and Implementation (OSDI 1994)
- Prabhakaran 05: V. Prabhakran, A. Arpaci-Dusseau and R. Arpaci-Dusseau.
" Analysis and Evolution of Journaling File Systems", Usenix Annual Technical Conference, 2005
Presenter: Mike Giannakopoulos
- Patterson 88: Patterson, Gibson, Katz.
"A Case for Redundant Arrays of Inexpensive Disks (RAID)," SIGMOD 1988
- Corbett 04: P. Corbett, B. English, A. Goel, T. Grcanac, S. Kleiman, J. Leong, and S. Sankar, "Row-Diagonal Parity for Double Disk Failure Correction", FAST 04
- Baker 06: M. Baker, M. Shah, D. S. H. Rosenthal, M. Roussopoulos, P. Maniatis, T. J. Giuli and P. Bungale, "A Fresh Look at the Reliability of Long-term Digital Storage," EuroSys 2006.
- Thereska 08: E. Thereska, G. Ganger. "IronModel: robust performance models in the wild", Sigmetrics 2008.
- Chen 09: F. Chen, D. Koufaty, X. Zhang.
" Understanding intrinsic characteristics and system implications of flash memory based solid state drives", Sigmetrics 09
Presenter: Mike Glueck
- Boboila 10: S. Boboila, P. Desnoyers.
" Write Endurance in Flash Drives: Measurement and Analysis", FAST 2010
- Condit 09: J. Condit, E. Nightingale, C. Frost, E. Ipek, D. Burger, B. Lee, D. Coetzee. "Better I/O through Byte-Addressable, Persistent Memory", SOSP 09
- Optional reading:
Mogul 09: J. Mogul, E. Argollo, M. Shah, P. Faraboschi. "Operating System Support for NVM+DRAM Hybrid Main Memory." HotOS 09
TOPIC: Disk components and operation
TOPIC: On-disk consistency
TOPIC: Disk arrays
TOPIC: Reliability and fault tolerance
TOPIC: Performance modeling
TOPIC: Solid state drives
TOPIC: NetApp and Google Filesystems
- Lecture 1 (Sept 12) Introduction to storage systems (lecture by instructor)
- Lecture 2 (Sept 19) Assigned reading: Ruemmler 94, Fryer 12; Bianca's slides;
- Lecture 3 (Sept 26) Assigned reading: Ganger 94, Prabhakaran 05
- Lecture 4 (Oct 3) Assigned reading: Patterson 88: presented by Venkatesh, Corbett 04: presented by Jan.
- Lecture 5 (Oct 10) Assigned reading: Baker 06: presented by Khaled; plus a guest lecture by Nosayba.
- Lecture 6 (Oct 17) Assigned reading: Thereska 08: presented by Ian, Chen 09: presented by Mike Glueck.
- Lecture 7 (Oct 24) Assigned reading: Boboila 10: presented by Frank, Condit 09: presented by Dan.
- Lecture 8 (Nov 7) Assigned reading: Hitz 94: presented by Jian, Ghemawat 03: presented by Alan.
- Lecture 9 (Tues Nov 13) 11am - 1pm, Lecture by Bianca on mystery topic and guest lecture on hard disk scrubbing
- Lecture 10 (Nov 14) Work in progress project presentations.
- Lecture 11 (Nov 21) Work in progress project presentations.
- Lecture 12 (Nov 28) Probably no class as instructor will be out of town. Use the time to work on your projects ;-)
- John Wilke's notes on successfully planning a course project.
- David Redell's notes on how to write a good systems paper.
- Mark Hill's advice on giving oral presentations.
- Nick Feamster's and Alex Gray's How to Give a Talk.
- The majority of the grade (70%) will come from the class project, the rest (30%) from class participation (including presentation of research papers).
* Everything here is subject to change.