Storage Systems

Course ID 15746

Description Storage systems are among the most fascinating and the most important parts of computer systems. They often dominate the performance of a system, and failures of other components are frequently addressed by restarting from the data stored on them. Indeed, storage systems hold the crown jewels of most organizations: their information (from source code to Microsoft's software to the sales databases of every e-commerce site to the logs and indices driving the Big Data and ML revolution). There continues to be great demand for bright people and better solutions in this critical field of computer systems.

Key Topics
746 will cover a wide spectrum of system-level topics in the design, implementation, and use of storage systems. Topics covered will include:
¿ components and organization of storage systems
¿ distributed file systems and network-attached storage (NAS)
¿ cloud and Big Data storage
¿ data protection and disaster recovery
¿ high-performance parallel file systems
¿ virtualization, decentralized storage, and server coordination
¿ multi-device arrays, mirroring and RAID
¿ SSD/disk hardware and firmware
¿ SSD and disk performance enhancement
¿ file system and database structures
¿ crash recovery and integrity maintenance

Learning Resources
There will be no assigned book for this offering. Instead, the instructors will rely on readings from books and the research literature to complement the lectures. See the Schedule & Readings pages for an overview of the latest plan.

Pre-required Knowledge
This course will require solid understanding of computer organization, basic operating systems, and basic communication. Therefore, the minimum prerequisite is a 'B' or better in 15-213 (or 18-213, 15-513, 14-513, or 18-613 which are the same class). Exceptions are rare and only by permission of the instructor. Our experience indicates that students without the substantial hands-on systems experience provided by this prerequisite (or some equivalently extensive experience) struggle significantly.

Course Link
http://www.ece.cmu.edu/~ece746/