15-440 Tentative Schedule

Week 1

  • Administrivia
  • Work and Abstraction: task_struct/pcb,

Week 2

  • Scarcity, scheduling (queuing), interleaving/processor sharing
  • POSIX Threads & concurrent programming, intro
  • fork, exec, wait, /proc, top, ps
  • Lab #1 assigned (ps)

Week 3

  • POSIX Threads: cond. variables, semaphores, mutexes, and other concurrency control primitves implemented by preemption
  • Java Threads, the Monitor construct and "synchronized" methods and classes
  • Lab #2.1 assigned (Exploring game framework and design)

Week 4

  • Lower-level synchronization and the need for mutate-and-test support (CS/TS), spin-locks vs. blocking
  • Concurrency control in Networks: Token-ring, Time-sharing, CSMA/CD, Dynamic Time Sharing
  • Lab #2.2 assigned (Game implementation)
  • Homework #1: Processes, Threads, and Concurrency

Week 5

  • Concurrency control in Networks: Dodging the issue with CDMA, Issues wiht wireless networks
  • Imperfection and failure of resources: EDC, ECC, RAID, Framing

Week 6

  • Working with uncertainty and around failure: IP in a day
  • "Reliability": ACKed UDP, 2 Armies Story
  • Lab #3 Assigned (Multi-player game implementation)

Week 7

  • Reliability w/streaming protocols, congestion: TCP in a Day
  • Higher level problem solving: Overlay networks
  • Homework #2: Networks

Week 8

  • Review/Slack
  • Midterm Exam

Week 9

  • Environment of Distributed systems, DS overview
  • Map-Reduce paradigm, MR/Hadoop crash course
  • Lab #4.1: Hadoop Familiarization

Week 10

  • Using tables with Map-Reduce, HBase overview
  • Map-Reduce examples and Idioms
  • Lab #4.2: Hadoop proposals
  • Lab #4.3: Hadoop Proof-of-concept

Week 11

  • Map-Reduce Engine, Technical overview
  • DFS Support for Map-Reduce, HDFS overview
  • Lab #4.4: Hadoop, on the cluster
  • Homework #3: Hadoop/Map-Reduce fundamentals

Week 12

  • General processing techniques, PVM and Condor, Seti@Home
  • General synchronization techniques: Lamport, Voting
  • Lab #5: Game over network, with full synchronization

Week 13

  • General synchronization techniques: Mutex and Coordinator election
  • DFS Overview, AFS, Coda, callbacks as leases
  • Homework #4: Distributed systems, generally

Week 14

  • Spare
  • No class -- Thanksgiving

Week 15

  • Widely uccessful example: DNS
  • Course wrap-up, Final Exam review