15-440 Tentative Schedule

Week 1

  • Administrivia
  • Scarcity, Quality and Consequences, Work and Its Abstraction

Week 2

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

  • Thursday: Lab #1 Assigned (Distributed Password Cracking)

Week 3

  • Communication: Sockets, RPC, RMI
  • Work and its environment: Processes, Tasks, and Threads

Week 4

  • Concurrency: Origins and Consequences (Races and Deadlocks)
  • Shared Memory Concurrency control (atomic operations, mutexes, condition variables, semaphores)
  • Thursday: Homework #1 Assigned

Week 5

  • Time in distributed systems: Physical and Logical
  • Distributed Concurrency control

  • Wednesday: Lab #1 Due
  • Thursday: Homework #1 Due

Week 6

  • Distributed File Systems (DFS): NFS, AFS, Coda
  • Distributed File Systems with non-Posix-like semantics (Lustre, HDFS, MogileFS, etc)

    Tuesday: Lab #2 Assigned

Week 7

  • Transactions, Distributed Transactions, ACID, BASE, CAP
  • Distributed transaction processing

  • Tuesday: Homework #2 Assigned
  • Wednesday: Lab #2 Checkpoint

Week 8

  • Impossibility of Agreement
  • Midterm exam

  • Tuesday: Homework #2 Due

Spring Break

  • No class -- Spring Break

Week 9

  • Replication: Quorums, Ghosts, etc
  • Optimistic replication: Epidemic, version-vectors

Week 10

  • Local fault management: From ECCs to RAID
  • Distributed Fault Management: Logging, checkpointing, optimistic

  • Wednesday: Lab #2 Due
  • Thursday: Homework #3 Assigned

Week 11

  • DISC, Clouds, Map-Reduce, Hadoop
  • Hadoop Idioms, HDFS details

  • Tuesday: Lab #3 Out
  • Thursday: Homework #3 Due

Week 12

  • Processor allocation and Process Migration
  • Condor, OpenPBS

  • Tuesday: Lab #3 Checkpoint
  • Thursday: Homework #4 Assigned

Week 13

  • Cryptography, Network and Distributed Security
  • Carnival -- No class

  • Tuesday: Lab #3 Checkpoint

Week 14

  • Anonymous routing and Tor, Distributed Hahsing
  • Peer-to-Peer

  • Tuesday: Lab #3 Checkpoint
  • Thursday: Homework #4 Due

Week 15

  • Limits of Distributed Systems (DSM, "General Purpose Distributed Operating System"), m*x/m vs x, etc)
  • Course wrap-up, Final Exam review

  • Wednesday: Lab #3 Due

Final Exams

  • Enjoy!