TCSS 558:
Applied Distributed Computing

csu-logo

Announcements Syllabus Grading Schedule Assignments

Home


Prerequisites: None, TCSS422 recommended.

Textbook
Maarten van Steen, Andrew Tanenbaum
Distributed Systems, (online) Version 3.01
Publisher: Pearson Education, 2017.

Optional
George Coulouris, Jean Dollimore, et al.
Distributed Systems: Concepts and Design
5th Edition
Publisher: Pearson, 2011.
Instructor:
Wes J. Lloyd
Office: Cherry Parkes 229
Office Hours: W 3-4pm, or by appointment
E-mail: wlloyd <@> uw.edu
Tel: (253) 692-5681





Course Information
The textbook, the third edition of the Steen and Tanenbaum Distributed Systems textbook is available online as a free digital book at: (textbook)

In addition, we will refer to and review relevant research papers.

Learning Objectives
The primary objectives of TCSS 558 is to communicate a variety of diverse techniques and concepts associated with constructing software that is distributed, reliable, efficient, and extensible. An array of topics and design tradeoffs will be covered which underlie modern Applied Distributed Computing. We will consider how systems are represented and reason about their behavior to support critical thinking about the tradeoff spaces involved in distributed system designs.

This course will cover a broad range of topics including:
  • Devise and argue for the correctness of distributed algorithms that perform computational tasks, using algorithmic building blocks including tokens and logical clocks.
  • Construct distributed systems to realize distributed algorithms that perform computational tasks using appropriately-chosen models of communication.
  • Construct distributed systems with various design patterns (e.g. client-server, peer-to-peer).
  • Work within a team to construct the specification for a distributed system and to implement and test one or more parts of the system.
Topics
  • Distributed System Basics
  • Models of Communication
  • Representation and Correctness of Distributed Programs
  • Time in Distributed Systems - Physical and Logical Time
  • Consistency
  • Distributed Mutual Exclusion and Tokens
  • Distributed Snapshots and Global State
  • Fault tolerance
  • Consensus
  • Distributed Hash Tables
  • Distributed File Systems

  • Institute Support
    Please maintain communication with the Institute advisors regarding your studies and notify them of any personal or learning struggles. It's important to reach out early: http://www.tacoma.uw.edu/institute-technology/academic-advising

    Institute Labs
    Key cards for access to the INSTTECH general development labs (DOU 110, SCI 106/108) are available at the Campus Safety Office (DOU 180) on the first day of the quarter. If you registered late, it can take two or more business days after you register before your key card is ready. Additional information about the Institute computer labs can be found at: http://www.tacoma.uw.edu/institute-technology/technology-labs

    Campus Information, Resources, Policies, and Expectations
    Please refer to the general University of Washington - Tacoma Campus Information and Course Resources Policies, and Expectations available online here:
    UWT Campus Information - Course Resources, Policies, and Expectations