CSCI 333

Storage Systems

Home | Schedule | Labs | Williams CS | Piazza

Course Schedule

The table below lists the topics we will discuss and the readings associated with each topic. All readings should be completed before their associated meeting. There will be regular in-class assignments, each comprising a portion of your participation grade. In some ways, these are "reading checks", but they are not designed to create stress: they will involve critical thinking and engagement with the topic rather than memorization. They will be launching points for deeper discussion of the relevant issues.

Additional digital resources (when used) will be posted after each meeting. Some of these resources will only be accessible from within the campus network. Information about the proxy server can be found here.

The schedule is subject to change: we may wish to explore new topics in response to current events or student interest. If you plan to work ahead, please check with me first.

Book references:

Date Topic Reading(s) Handout
02/05 Overview of the Storage Stack
02/10 File system interfaces and system calls
02/13 Block I/O devices
02/17 HDDs
02/20 VFS and Basic File System Implementation
02/24 FUSE: Filesystem in Userspace
02/25-03/01 Bill in CA
02/27 FUSE Work: Meet in Lab
03/02 FFS-style Update-in-place file systems
03/05 Log-structured file systems
03/09 Common Constistency Techniques
  • Meeting cancelled, Bill Sick
03/12 Networked File Systems (NFS)
03/16 Class Cancelled
  • Wash your hands
  • Wash your hands
03/19 Class Cancelled
  • Wash your hands
  • Wash your hands
03/21-04/05 Spring Break
  • Spring Break
  • Spring Break
04/06 Redundant Arrays of Inexpensive Disks (RAID)
04/09 Newer Block Devices (SSDs)
04/13 Even Newer Block Devices (Zoned Block Devices, SSD variants)
04/16 Hashing & Deduplication
04/20 Hashing & Filters
04/23 Aging and Locality
04/27 B-trees and Modeling I/O Performance
04/30 Intro to Write-Optimization & LSM-trees
05/04 B, Bε, or LSM?
The Battle of the Trees
05/07 Write-optimizion in File Systems
05/11 The Google File System
05/14 MapReduce (and Read Optimization?)

Evaluation

During most class meetings, participation and preparation will be evaluated using a combination of written/lab work, acitivities, and discussion. It is therefore important that you have completed the assigned readings before each meeting.