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.
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