CS555: Distributed Systems

[Schedule] [Assignments] [Infospaces] [Grading] [Syllabus]


[Announcements] [Home]

[Fall 2021]
CS555 covers the fundamentals of modern distributed systems. The course examines issues related to data dissemination and discovery, safety and correctness, scaling, security and trust, distributed transactions, resiliency to failures, file systems and data intensive computing. The course explores how to design synchronous and asynchronous distributed systems that do not have race conditions, and can sustain failures and certain classes of denial of service attacks. The course will also cover:

  • Several aspects of cloud computing such as computational economics, programming models, stream processing, file systems, and virtualization.
  • Algorithms underpinning peer-to-peer systems and distributed hash tables including for systems such as Chord, Pastry, Tapestry, Napster, Gnutella, and BitTorrent.
  • Foundational issues (including Brewer's CAP theorem) in the design of cloud scale storage systems such as the Google File System and Amazon Dynamo.
  • Design considerations in systems for scalable analytics such as MapReduce and Spark.

Course Objectives
By the end of the course, students should be able to build distributed systems that:

  1. Scale as the number of entities in the system increase
  2. Can sustain failures and recover from them
  3. Work with distributed, fault tolerant file systems
  4. Can handle and process large data volumes using Hadoop/MapReduce and Spark
  5. Are loosely coupled, transactional and eventually stable

Extensive experimentation through programming assignments in Java is a principal activity of this course. These assignments will focus on developing skills that are immediately transferrable to building real-world systems.

Professor Lecture Coordinates

Shrideep Pallickara
Office: Room 364, Computer Science
Office Hours: 9:00-10:00 Friday or by appointment
Zoom Meeting Information for Office Hours posted in Canvas

E-mail: cs555 {aT} cs.colostate.edu
(with the obvious change)
Tel: 970.492.4209

Graduate Teaching Assistant
Laksheen Mendis

Office Hours in CSB-120
11:00 am - 1:00 PM (Tuesdays)
12:00 - 2:00 pm (Thursdays)

E-mail: cs555 {aT} cs.colostate.edu
(with the obvious change)


TTH (9:30--10:45 am): CSB 425



Department of Computer Science, Colorado State University,
Fort Collins, CO 80523 USA
© 2019 Colorado State University