CSE-595: Special Topics: Storage Systems, Spring 2012

This is the home page for CSE-595, the Special Topics: Storage Systems class for the Spring 2012 semester, given at the Computer Science Department of Stony Brook University.

If you are interested in this class (even if you're not sure), then you must (1) subscribe to the class mailing list, (2) come to the first lecture, and (3) fill out the survey form.

Quick Links:

Course Calendar
Subscribe to Class Mailing List
Class Mailing List Archives
Latest list of project ideas


News:

1/31 Classroom changed to CS-1310.
1/24 First class meets in room CS-2311 (not usual class room) from 5:30–8:10pm.

Class Time and Location

Days: Tuesday
Hours: 5:30pm–8:10pm
Location: Computer Science building, room 1310

Instructor/Professor

Name: Erez Zadok
Office: 2313-B CS Dept.
Lab: 2214 CS Dept. (I'm often in my lab.)
Tel: x2-8461 (631-632-8461)
Office Hours: Monday and Wednesday 3:40pm–4:40pm, or by appointment.
Email: click here
This class won't have a TA.

Course Overview:

This is an advanced class that will cover storage systems, defined as any software/hardware system that performs any sort of I/O related to storage stack and file systems, including local, networked, distributed, and cloud storage systems. Students will attend lectures, read papers and present them, and work on a SUBSTANTIAL project throughout the semester. By the end of the semester, students will have to produce either (1) a 12-14 page conference/journal quality technical paper, or (2) production-quality working software and a technical report describing the work. Students will be expected to spend at least 10 hours per week on the course work, outside class lectures/meetings. Teams working on projects will be working closely with the Prof. Zadok and his doctoral students who may be sponsoring some of these projects. Students are expected to demonstrate a high level of independence, critical thinking, and initiative.

We will spend the first couple of weeks picking projects and outlining several ideas. Half of the semester will be roughly devoted to development of code. The other half will be devoted to benchmarking and paper writing. Students will submit 1-2pp project proposals, mid-semester progress report, and final project paper/report. You will learn that in real projects (and not just research), a significant amount of time must be devoted to testing, benchmarking, analysis, and documenting your results. Students will demo their project progress mid-semester and at the end (demos could take 1-2 hours per team). Students will have to read technical papers related to their project, research the literature and any existing code, and present their findings in class (using PowerPoint slides). Your grade will be determined based on graded documents you submit, code quality and functionality, your demos and presentations, and attendance+participation in class.

The course will be supplemented with an assortment of lectures covering advanced topics such as Solid State drives (Flash and PCM), cutting edge devices such as Shingled Magnetic Recording (SMR) disks, NFS version 4, and more. We will read and discuss the latest storage papers from conferences such as SOSP'11 ans FAST'12. We will have a few guest lectures from graduate students working on advanced storage and file system related projects, as well as talks by external visitors from industry. I will also give a couple of lectures on how to write technical papers, getting them published, and how to prepare for and give a good talk (these are vital skills for graduate students which are often not taught formally).

Who can take this class?

To take this class, you must have already taken CSE-506 (OS) and received a good grade at my discretion (I will accept proven industry experience working on kernel code in lieu of having taken CSE-506). Students should also preferably have substantial prior experience coding in C, systems and OS coding, using development and debugging tools for C, etc. Many of the projects require familiarity with Linux kernel development, but not all (you can do a lot of storage related research outside the kernel). Also strongly recommended is to have taken CSE-548 (Algorithms). Instructor permission is required to take this class. If interested, please submit, in writing/print, a copy of your latest CV and transcripts (which include grades received in the Fall 2011 term). Students who qualify to take this course will be notified by the start of the Spring 2012 semester. (This course may also be used to satisfy CSE-522.)

Proposed Projects:

A list of project ideas is available, and will be updated frequently in the first few weeks of the semester (so be sure to refer to the latest list, which has a date timestamp at the top).

All students who are not sure if they want to take this class, but are interested, MUST attend the first lecture where we'll go over the current list of proposed projects. Of course, students are welcome to propose their own projects, which can be anything related to storage and/or file systems, and in general operating systems (but talk to the instructor first). You can choose to modify or combine any of the projects we propose. You can design a project to suit any size team from one to four people.


Last Updated: 2012-01-25