15-640/440 Tentative Schedule

Week 1

  • Introduction and Administrivia
  • Systems, Distributed Systems, and Some OS Bits, Limitations (DSM, n*1/m vs m) of Distributed Systems, Promise of Distributed Systems

  • Project #1: Process Migration -- Assigned (Thursday)

Week 2

  • Network: Wires through IP
  • Networking: UDP, TCP and above

Week 3

  • Communication: Sockets, RPC, RMI
  • Scheduling, Concurrency, and Shared Memory

  • Project #1: Process Migration -- Due (Thursday)

Week 4

  • Shared Memory Concurrency control (Atomic operations, mutexes, condition variables, semaphores, producer-consumer, reader-writer)
  • Time in distributed systems: Physical and Logical

  • Project #2: RPC/RMI -- Assigned (Tuesday)

Week 5

  • Distributed Mutual Exclusion, Election
  • 2PC, Multicast, Distributed Transactions, ACID, BASE, CAP

Week 6

  • Consistency and Replication: Consistency Models
  • Consistency and Replication: Quorums and Management, Best-Effort Management

Week 7

  • Fault Tolerance: Agreement (Two Armies, Generals)
  • Fault Tolerance: Logging

  • Project #2: RPC/RMI -- Due (Thursday)

Week 8

  • Fault Tolerance: Checkpointing
  • Midterm Exam

Mid-Semester Break

  • No classes

Week 9

  • Programming models: Map-Reduce, Model, System Design
  • Programming models: Map-Reduce, Algorithms

  • Project #3: Distributed Computing Framework -- Assigned (Tuesday)

Week 10

  • Programming models: MPI and OpenMP
  • Programming models: Condor, OpenPBS

Week 11

  • Processor Allocation and Process Migration
  • Distributed File Systems (DFS): NFS, AFS, Coda

Week 12

  • Distributed File Systems with non-Posix-like semantics (Lustre, HDFS, MogileFS, HDFS, etc)
  • Distributed File Systems with non-Posix-like semantics, cont.

  • Project #3: Distributed Computing Framework -- Due (Tuesday)
  • Project #4: MPI and OpenMP -- Assigned (Thursday)

Week 13

  • Security: Threats, Policies, and Models
  • Carnival -- No class

Week 14

  • Cryptography, Security Protocols, and Secure System Design
  • Anonymous routing and Tor, Distributed Hashing

Week 15

  • Virtualization
  • Wrap-up

  • Project #4: MPI vs Hadoop -- Due (Thursday)

Final Exams

  • Enjoy!