Advanced Topics in Computer Systems: Storage Systems

Prof. Scott A. Brandt

Computer Science Department

University of California, Santa Cruz



Time: TTh 12:00-1:45
Location: BE 318
Instructor: Prof. Scott A. Brandt (
Office/Office Hours: BE 251/Th 2:00-4:00
Course Web Page:

Note: Final papers are due on 12/6/01

Final Papers:

  • Scott Banachowski, "Integrated Networking and Scheduling for Centralized Transaction Servers".

  • Hui Miao, "Predictive Power Conservation based on the Idle Time Pattern from Disk Access Data".

  • Lin Ying, "Power Consumption in MEMS-based Storage Devices".

  • Feng Wang, "Using MEMS Devices as Disk Write Buffers".

  • Zachary Peterson, "Data Placement Based on Seek Time Analysis of MEMS-based Storage Devices".

  • Lan Xue and Yong Liu, "MDS Functionality Analysis".

    Good work, everyone!

    Course Description

    This course is a graduate level study of the issues in the design and implementation of storage systems. The readings are taken from the current research literature and articles of historical significance. The topics include, but are not limited to: Storage Technologies, File Systems, Distributed File Systems, High-Performance Storage Systems, Next Generation Storage Systems, and others.

    The course proceeds by topic, beginning with systems of historical significance and ending with more modern systems. As time permits we will discuss current research topics of interest to the students in the class (and the professor, of course).

    In terms of preparation, you are expected to have basic operating system knowledge, such as presented in a standard undergraduate course such as CMPS 111. Furthermore, you are expected to have taken CMPS 221, Advanced Operating Systems. Others will be admitted with the instructors permission based upon demonstrated systems background and sophistication necessary for successful completion of the course.

    Course Requirements:

    One or more articles will be assigned as reading prior to each class meeting - usually two per class. These articles should be read carefully, and a short summary of each article and a few questions or insightful comments about the material (at least 3 per paper) prepared for the following class meeting. The summary of each article consists of brief answers to the following seven questions:
    1. What is the problem the authors are trying to solve?
    2. What other approaches or solutions existed at the time that this work was done?
    3. What was wrong with the other approaches or solutions?
    4. What is the authors' approach or solution?
    5. Why is it better than the other approaches or solutions?
    6. How does it perform?
    7. Why is this work important?
    8. 3+ comments/questions

    Each student will give a presentation on two papers during the quarter. The presentations will thoroughly cover the material in the paper including the goals of the research, important background information, the details of the research, the results, and the significance of those results. The presenter will also be prepared to lead the class discussion about the paper.

    You will be required to write a report on a topic in the area of storage systems. This report should be the results of a project, original research (preferred), or a strong survey of prior art. Reporting work done for another course is not acceptable. You must choose a topic by second week of the quarter. Each student will give a final presentation on their project at the end of the quarter.

    Your grade in the course is based 25% on preparedness and class participation, 25% for presentations, and 50% for your term project and report.


    Class attendance is required. This is a discussion-based seminar course and you will not pass if you routinely miss class.

    Academic Honesty:

    All the work you turn in must be your own. If you get ideas or material from any source other than your own mind (even from conversations with others), you must cite that source. Failure to do so constitutes plagiarism and will not be tolerated - you will not pass the course.


    Readings will be handed out each week.


  • E Grochowski, "IBM Leadership in Disk Storage Systems Technology"

  • J. Hennessy and D. Patterson, "Computer Architecture: A Quantitative Approach," Chapter 6, Morgan Kaufman, 1990


  • C. Ruemmler and J. Wilkes, "An Introduction to Disk Drive Modelling," IEEE Computer 27(3):17-28.

  • M. McKusick, W. Joy, S. Leffler, and R. Fabry, "A Fast File System for Unix," ACM Transactions on Computer Systems 2,3, 181-197.


  • J. Ousterhout, H. Da Costa, D. Harrison, J. Kunze, M. Kupfer, and J. Thompson, "A Trace-Drive Analysis of the UNIX 4.2 BSD File System", Operating System Review 19(5), Proceedings of the 10th ACM Symposium on Operating Systems Principles, 1985, pp. 15-24.

  • M. G. Baker, J. H. Hartman, M. Kupfer, K. Shirriff, and J. Ousterhout, "Measurements of a Distributed File System", Proceedings of the 13th ACM Symposium on Operating Systems Principles (Monterey, CA), October 1991, pages 198-212.


  • C. Ruemmler and J. Wilkes, "UNIX Disk Access Patterns," Proceedings of the Winter 1993 USENIX Conference (San Diego, CA), January 1993, pages 405-420.

  • K. Smith and M. Seltzer, "File System Aging - Increasing the Relevance of File System Benchmarks", Proceedings of the 1997 SIGMETRICS Conference (Seattle, WA), June 1997, pages 203-213.


  • B. Worthington, G. Ganger, and Y. Patt, "Scheduling Algorithms for Modern Disk Drives", ACM SIGMETRICS, 1994.

  • D. Jacobson and J. Wilkes, Disk Scheduling Algorithms Based on Rotational Position", Proceedings of the 1993 Winter USENIX Technical Conference, 1993.


  • M. Rosenblum and J. Ousterhout, "The LFS Storage Manager", Proceedings of the Summer 1990 Usenix Technical Conference, 1990.

  • "The NFS Distributed File Service", SunSoft, 1995. -->Shorter paper here.


  • L. McVoy and S. Kleiman, "Extent-Like Performance from a Unix File System", USENIX Technical Conference, Winter 1991.

  • D. Santry, M. Feeley, N. Hutchinson, A. Veitch, R. Carton, and J. Ofir, "Deciding when to forget in the Elephant file system", 17th ACM Symposium on Operating System Principles, 1999.


  • E. Shriver, E. Gabber, L. Huang, and C. Stein, "Storage Management for Web Proxies", USENIX Technical Conference, 2001.

  • P. Chen, E. Lee, G. Gibson, R. Katz, and D. Patterson, "RAID:High-Performance, Reliable Secondary Storage," ACM Computing Surveys 26(2), June 1994, pages 145-185.

    10/23/01 - No class today


  • A. Sweeney, D. Doucette, W. Hu, C. Anderson, M. Nishimoto, and G. Peck, "Scalability in the XFS File System," Proceedings of the Winter 1996 USENIX Conference (San Diego, CA), January 1996, pages 33-44.

  • M. Spasojevic and M. Satyanarayanan, "An Empirical Study of a Wide-Area Distributed File System," ACM Transactions on Computer Systems 14(2), May 1996, pages 171-199.


  • M. Nelson, B. Welch and J. Ousterhout, "Caching in the Sprite Network File System," ACM Transactions on Computer Systems, Vol. 6, No. 1, February 1988, pp. 134-154.

  • J. Kistler and M. Satyanarayanan, "Disconnected Operation in the Coda File System," ACM Transactions on Computer Systems, Vol. 10, No. 1, February 1992, pp. 3-25.


  • J. Hartman, J. Ousterhout, "The Zebra Striped Network File System", ACM Transactions on Computer Systems, Vol. 13, No. 3, Aug. 1995.

  • D. Long, B. Montague and L.-F. Cabrera, "SWIFT/RAID: a distributed raid system," Computer Systems, Vol. 7., No. 3 (1994), pp. 333--359. 11


  • S. Iyer, P. Druschel, "Anticipatory Scheduling: A Disk Scheduling Framework to Overcome Deceptive Idleness in Synchronous I/O", Proceedings of the 18th ACM Symposium on Operating Systems Principles (SOSP'01), October 21-24, 2001.

  • A. Muthitacharoen, B. Chen, David Mazières, "A Low-Bandwidth Network File System", Proceedings of the 18th ACM Symposium on Operating Systems Principles (SOSP'01), October 21-24, 2001.


  • G. Gibson et al, "File server scaling with network-attached secure disks," Proceedings of the ACM International Conference on Measurement and Modeling of Computer Systems (Sigmetrics '97), 1997.

  • Ethan L. Miller and Randy H. Katz, "RAMA: An Easy-To-Use, High-Performance Parallel File System," Parallel Computing 23(4), July 1997, pages 419-446.


  • T. Anderson, M. Dahlin, J. Neefe, D. Patterson, D. Roselli, and R. Wang, "Serverless network file systems", Proceedings of the 15th Symposium on Operating System Principles, pp. 109-126, 1995.

  • C. Thekkath, T. Mann, and E. Lee, "Frangipani: A Scalable Distributed File System", Symposium on Operating Systems Principles, pp. 224-237, 1997.


  • N. Nieuwejaar, D. Kotz, A. Purakayastha, C. S. Ellis, and M. L. Best, "File-Access Characteristics of Parallel Scientific Workloads," IEEE Transactions on Parallel and Distributed Systems, 7(10), October 1996.

  • P. F. Corbett and D. G. Feitelson, "The Vesta Parallel File System," ACM Transactions on Computer Systems 14(3), August 1996, pages 225-264.


  • O. Krieger and M. Stumm, "HFS: A Performance-Oriented Flexible File System Based on Building-Block Compositions," ACM Transactions on Computer Systems 15(3), August 1997, pages 286-321.

  • N. Nieuwejaar and D. Kotz, "The Galley Parallel File System," Parallel Computing 23(4), 1997.

    Here is the OceanStore paper. If you haven't already read the Galley paper, read this one instead. If too many people have already read the Galley paper we will decide in class which one to cover, or cover both.

  • J. Kubiatowicz, D. Bindel, Y. Chen, P. Eaton, D. Geels, R. Gummadi, S. Rhea, H. Weatherspoon, W. Weimer, C. Wells, and B. Zhao, "OceanStore: An Architecture for Global-scale Persistent Storage," Proceedings of ACM ASPLOS, 2000.

    Telephone: (831) 459-5042 / FAX: (831) 459-4829 /