CS-838, Lecture 2:

The Integration of Networks into Storage Systems

University of Wisconsin, Madison
Department of Computer Sciences
Fall 2001

Basic Information

When: Tuesday and Thursday, 2:30pm to 3:45pm
Where: 1263 Computer Sciences and Statistics Building ( timetable )
Who: Professor Remzi Arpaci-Dusseau (remzi@cs.wisc.edu)
Office Hours: TBA and by appointment


The Reading list
The Schedule

Notes and Announcements

01/08: The results of the final survey can be found here. The solutions can be found here. No one did very well.

Old notes


Welcome to the CS 838-2 course home page! This course is entitled The Integration of Networks into Storage Systems and will generally cover advanced topics in the area of the future of storage systems. We will cover a broad range of topics, including distributed file systems, parallel file systems, new interfaces to storage, active storage systems, wide-area storage systems, and even traditional areas such as disk scheduling. Of particular interest to this course is the fundamental impact of new networking technologies upon storage -- how do the things we normally do change when we put disks on the network?

In this course, you will be responsible for readings as well as both a mini and final project.

Specifically, for each class, we will all read one or two papers on a specific "hot" topic in storage systems. In class, we will discuss the ideas presented, and try to understand the impact of new technologies upon those ideas. After the first few weeks, each paper will have an "expert" or two associated with it -- a student who has read the paper very carefully, and read a few other related papers as well. Thus, every student will have to rotate through the expert position a couple of times during the semester.

As for projects, there will be a warm-up mini-project and a final project, both of which are described in more detail below. The basic idea for the mini-project will be to get your hands dirty on a specific, well-defined project, whereas the idea behind the final project will be to conduct high-quality research on a topic of your choosing. The real underlying aim of the course is to generate a whole bunch of cool final projects.

There will be no exams or quizzes or tests of any kind (hooray!).

Prerequisite: It is assumed that you have taken graduate operating systems (CS 736), but if you have a real interest in taking this class and have not taken 736 yet, please send me email and something can likely be arranged. The main reason for a prerequisite is to ensure that the workload does not overwhelm you (i.e., we will read and discuss a large number of papers), and that you are familiar with the main ideas and technical terms in file systems and storage.



09/04 First day of class
09/11 TCP and U-Net
09/18 Self-scaling I/O
09/25 Workloads
10/02 Capacity/Performance
10/09 OceanStore
10/16 CFS
10/23 SOSP (no class)
10/30 No reading
11/06 Disk-directed I/O
11/13 Petal
11/20 No reading
11/27 Frangipani
12/04 Self-Securing Storage
12/11 Fail-Stutter and ROC and Restartability


09/06 NASD-1 and NASD-2
09/13 VISA
09/20 Availability-bench
09/27 Classic Scheduling
10/04 Anticipatory Scheduling
10/11 PAST
10/18 Low-bandwidth NFS
10/25 Latency Management
11/01 Informed Prefetching
11/08 NetApp
11/15 Zebra
11/22 Thanksgiving
11/29 Active Storage
12/06 NASD Security
12/13 Network Attached Storage Architecture


The current
Reading List is available here. The readings are all available on-line.

You will have two basic responsibilities for each paper:
1 - Read the assigned papers before class. Without doing so, discussion is not possible.
2 - Write down your thoughts on the paper, and bring them to class for discussion. What is the important idea presented in the paper? What would be good to discuss? What was hard to understand or unclear? How will changes in technology affect the thoughts presented within the paper?

A couple of times during the semester, you will have to be the expert for a given day's readings. Thus, you will be expected to come to class particularly well-prepared, having read the current paper with extreme attention to detail. You should also have read a couple of related papers to feel like you have a solid footing in the area (please ask me for tips, or at least make sure I know about what other papers you are reading). The expert process will begin roughly two weeks into the course, at which point a sign-up sheet will be handed out.


The mini-project is a warm up for the real thing, and also is intended to be of general utility, perhaps for final projects. Here is the description.

One problem in doing research in storage systems is the lack of a SPEC suite of benchmarks upon which to evaluate your research idea. In this mini-project, we will address this gap as a class. Each of you (individually) will be responsible for finding a particular I/O-intensive application, and tracing its I/O behavior. The more important, demanding, and cool the benchmark, the better you will you do on this assignment.

Final Project

The project list is now available!

The final project is the main focus of the course. You are expected to perform work which could eventually be suitable for publication in a major operating systems conference. Of course, for this course, the topic should be in the general area of file systems, storage, or related topics. People should work in groups of size one or two -- I will not allow groups larger than that. Though we will provide some suggestions for you to pick from, you are encouraged to think of a project on your own, which we can help to refine. Project write-ups will be similar in format to a conference submission, and all will be entered into a class-wide mini-conference. The best papers will be presented to the class.

Important Dates

10/25: Mini-project due


A rough breakdown of grading is as follows: your final project (50%), your mini-project (30%), and in-class participation, both normally and as an expert (20%).

Mailing List

The mailing list is cs838-2list@cs.wisc.edu. I will use it for general postings. A log of email is available at this url.

Thoughts about this page, storage systems, and overrated movie directors should be sent to Remzi Arpaci-Dusseau.