CS 137, Spring 2018
CS137 is a course in file systems, with an emphasis on
current research directions. It will be taught in the manner of a
graduate seminar, with much of the material selected by and presented
by the students. There will be relatively little emphasis on homework
and programming, although you will be implementing a simple file system of
Every student is expected to abide by the HMC Honor Code and the CS
Department's own CS-specific
honor code. If you haven't previously signed it, or if you're
unsure, please visit that link, read it, and enter your name to
indicate that you agree.
When you're learning a new subject, terminology is often a huge
barrier. An invaluable resource in file systems is
the downloadable SNIA
Dictionary, which defines a ton of acronyms and terms. You'll
have to fill out a small form to get the PDF. (I suggest you list
"Student" as your job title.)
Much of the class requires you to read—and to
recommend—scientific papers in the area of file systems.
There are many places to find such papers; this list
highlights a few sources but is hardly exhaustive.
A quick directory of conferences useful in finding file-system papers:
- FAST (File and Storage Technologies)
- SOSP (Symposium on Operating Systems Principles):
- OSDI (Operating Systems Design and Implementation):
- Usenix Annual Technical Conference (ATC):
(for older editions, search for "Usenix
Annual Technical Conference" or "Usenix ATC" and a year).
- IEEE Conference on
Mass Storage Systems and Technologies (MassStor)
(European Conference on Computer Systems)
- SYSTOR (International Systems and Storage Conference)
There are many more conferences than these, so feel free to look more
broadly. In particular, ASPLOS, NSDI, and PODC can be fruitful. A
good way to find other conferences is to look at the bibliography of
papers you have already found.
Journals that have file systems papers:
- ACM Transactions on Storage (TOS)
- ACM Transactions on Computer Systems (TOCS)
- Communications of the ACM
- IEEE Computer
- IEEE Transactions on Computers (sometimes)
- Software—Practice and Experience
A number of people have created bibliographies of file-system-related
papers. Some of them are even fairly up to date.
NOTE: The following grading proportions are
tentative. In particular, the homework portion of the grade may
The class grading will be based on participation (10%), homework
(20%), and a final
project (70%). The project grading will be broken down as follows:
You will note that writing quality is a huge part of your grade. Use
the Writing Center for optimal results!
- Project proposal: 5% of course grade. Criteria are
completeness of the
proposal and general writing quality.
- Preliminary report: 10%. Criteria are writing quality,
completeness of the report, and progress toward the goal.
- Draft of final report: 10%. Criteria are completeness and
- In-class presentation: 10%. Criteria are completeness and
- Final report: 35%. Criteria are overall project quality and
© 2018, Geoff Kuenning
This page is maintained by Geoff