Computer Science Department, University of Crete
HY-590.45. Modern Topics in Scalable Storage Systems

info | readings | syllabus | other resources

Course Staff

Name Email Office Hours
Instructor: Kostas Magoutis hy590-45@csd By appt./E-306
Teaching Assistant: Efthymios Papageorgiou hy590-45@csd By appt.

General Information

The course meets on Mon 11-1pm, Fri 11-1pm in E.313 (3rd floor of CSD building). Exceptionally, in certain weeks we will be meeting on Wed 5-7pm in E.313 (in those occasions, you will be notified upfront).

Announcements

16.3.2026: Friday 20/3 class will start 12pm sharp.

16.3.2026: There will be no makeup class on Wednesday 18/3

4.3.2026: Friday 6/3 class with run 12-1pm.

15.2.2026: The list of available papers for your presentations is available here

13.2.2026: To sign-up with the hy590-45@list.csd.uoc.gr mailing list please follow these instructions

26.1.2026: We will be using the AWS Academy cloud platform for course assignments, you may find our course page here

12.1.2026: The course will start on Mon 9/2

1.1.2026: You are welcome to get in touch with the instructor to discuss course-related issues

Course Description

The explosive growth of information processing services in recent years has created an unprecedented need for storage capacity. Scalable access to storage resources requires a class of distributed systems designed for fast, reliable, and uninterrupted access to storage media (e.g., magnetic disks and tapes) over high-speed networks. This course offers an introduction to scalable storage systems and examines existing design techniques as well as current research problems in the design and implementation of such systems, along with and sharing of distributed storage resources. A number of challenges, however, are facing the scalable storage systems architect: First, it is the higher complexity (compared to direct-attached storage) due to the distributed nature of the scalable storage system. Administration, capacity planning, configuration, backup, and disaster recovery are complicated in large-scale scalable storage systems. Second, transferring data over the network requires stronger security and safety guarantees than when transferring them on the system I/O bus. In addition, it sometimes requires new, storage-specific network transport protocols. These and other challenges make scalable storage an exciting research area that has made significant advances in recent years.

The core part of the course focuses on the study of scalable storage systems with special emphasis on architectures, design principles for scalable performance, reliability, and availability, the management of data during their lifecycle, application-specific design concepts, ways to reduce implementation cost, storage system capacity planning, and storage outsourcing services.

This course is targeted for graduate students and advanced undergraduates and requires the undertaking of a research project. The topics of the research projects will be chosen with the help and guidance of the course staff.

Coursework

Recommended background

Grading

The final grade depends on class participation, presentation of two research papers, and a research project.

Readings

There are a number of paper readings that are available online. You are expected to read the papers before the beginning of each class.

There is no required textbook for this class. The following textbooks, however, are recommended readings:

Syllabus

Date Topic Readings, notes
Mon 9/2 Course overview -
Fri 13/2 Background I -
Mon 16/2 Background II -
Fri 20/2 Background III -
Fri 27/2 Transaction basics Gray: The transaction concept: Virtues and limitations
Mon 2/3 Distributed coordination Ongaro: In Search of an Understandable Consensus Algorithm
Fri 6/3 Raft (contd.) Visualization
Mon 9/3 Extending file systems over the network Sandberg: Design and implementation of the Sun Network Filesystem
Fri 13/3 NFS (contd.), leases Macklem: Not Quite NFS, Soft Cache Consistency for NFS
Mon 16/3 Distributed virtual disks Lee: Petal: Distributed virtual disks
Fri 20/3 Presentations I 1430
Mon 23/3 Presentations I 1437, 1453, 1459
Fri 27/3 Presentations I 1467, 1468, 1476
Mon 30/3 Presentations I (Project proposals due) 1478, 1483, 1490
Wed 1/4 5pm Presentations I 1429, 1492, 1434
Fri 3/4 Presentations I 1458, 1495, 6079
Mon 6/4 - Fri 17/4 Easter recess -
Mon 20/4 Distributed file systems I Thekkath: Frangipani: A Scalable Distributed File System
Fri 24/4 Frangipani (contd.) -
Mon 27/4 Distributed file systems II Ghemawat: The Google File System
Fri 1/5 University holiday, no class -
Mon 4/5 Google File System (contd.) Lecture slides
Fri 8/5 Tutorial on AWS Academy Learner Lab (TA) -
Mon 11/5 Presentations II 1429, 1430, 1434
Wed 13/5 5pm Presentations II 1437, 1453, 1458
Fri 15/5 Presentations II 1459, 1467, 1468
Mon 18/5 Presentations II 1476, 1478, 1483
Wed 20/5 5pm Presentations II 1490, 1492, 1495
Fri 22/5 Presentations II 6079

Projects HOWTO

Please note the following project guidelines:

Other Resources / Useful links

HY-590.45 Spring 2026