l
CIS 505: Software Systems (Fall 2021)
Overview This course provides an introduction to fundamental concepts of distributed systems, and the design principles for building large-scale computational systems. We will study some of the key building blocks – such as synchronization primitives, group communication protocols, and replication techniques – that form the foundation of modern distributed systems, such as cloud-computing platforms or the Internet. We will also look at some real-world examples of distributed systems, such as GFS, MapReduce, Spark, and Dynamo, and we will gain some hands-on experience with building and running distributed systems. CIS 505 is one of the core courses in the MSE program, and its final exam qualifies as one of the WPE-I exams in the PhD program.
Logistics
Instructor:
Lectures:
Teaching assistants:
Office hours are held via OHQ and Zoom. Course policies
Course textbook:
Prerequisites:
Workload:
Grading: Resources We will be using Piazza for all course-related discussions. Homework assignments and project are available for download; you can submit your solution online. If necessary, you can request an extension for your homeworks.
Special sessions The goal of the special sessions is to provide you with tools and resources that might be useful for the assignments and project. See the special sessions page for more details.
Fall 2020 PennCloud Award
The Fall 2020 PennCloud Award went to Amit Lohe, Bharath Jaladi, Liana Patel, and Prasanna Poudyal for the overall best final project. The team presented a solidly designed, highly scalable, and robust PennCloud platform that offers strong conconsistency and fault-tolerance via primary-based replication with logging, checkpointing and recovery. The platform provides the complete set of required services with an elegant user interface, including a webmail service that supports both local and remote users, a storage service that supports uploading and downloading of large files in any format, and an admin console that supports viewing and easy controlling of the frontend and backend nodes' status and data. Besides the core functionalities, the platform also features useful extra-credit services, such as a discussion forum and a FIFO-ordered group chat system that are built on top of the KV store and the Paxos consensus protocol.
Schedule (Tentative)
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Web site contact: Linh Thi Xuan Phan |