15-446 Tentative Schedule

Disclaimer: This is the tentative plan. It will almost certainly change. I do not post this as a promise. Instead, I do it to offer you the flavor and direction of the course. Changes will be announced in class and this will occasionally be updated.

Week 1

  • Procedural stuff and Intro
  • Networks, overview
  • Middleware: RPC and marshalling

Week 2

  • Distributed Objects: Java's RMI,
  • Distributed Object and interoperability: CORBA Architecture
  • Distributed objects and interoperability: XML, XML-RPC, SOAP, WSDL and related technologies Project #1

Week 3

  • Physical time and synchronization thereof, NTP
  • Logical time, Lamport's algorithm, causality and vector time
  • Multicast (FIFO, causally, and total ordered), Matrix time and garbage collection

Week 4

  • Exam #1 (Through week 3)
  • Concurrency control: intro, central, lamport time, voting, voting districts
  • Concurrency control: ring, tree

Week 5

  • Concurrency control: path compression; Coordinator election: intro
  • Coordinator election: Ring, bully, invitation,
  • Project discussion: Project #2

Week 6

  • Transactions and distributed transactions, 2PC, 3PC
  • Transactions and schedules, serial vs serializable, concurrency control by prevention: 2PL
  • Transactions and concurrency control by avoidance (timestamp mechanism) and by validation

Week 7

  • Impossibility of agreement: 2 Armys Byzantine Generals
  • Replication: Conflict, static quorums, and ghosts
  • Replication: Best-effort (epidemic and version vectors)

Week 8

  • Review/Slack
  • Exam #2 (Through replication)
  • No class: Midsemester break

Spring Break

  • No class

Week 9

  • Recovery and checkpointing: coordinated and uncoordinated, recovery lines, Project #3
  • Recovery and logging: sync vs. async, sender vs. receiver, adaptive, recovery algorithms
  • Tasks, Threads, and Processes: a distributed view fault tolerance, and recovery

Week 10

  • Processor allocation: N or 1/N*N, verview, central, hierarchical
  • Processor allocation: IPC and, microeconomic approaches
  • Process migration: Overview, VM, commc hannels, kernel state, idle worstations, weighing the costs and benefits

Week 11

  • DSM: Overview, unit, protection, migration, &c
  • DSM: Weaker techniques
  • Traditional File Systems

Week 12

  • DFS: Overview, issues, elements
  • DFS: NFS vs AFS, Coda, GFS
  • Clouds, Hadoop, MapReduce, Project #4

Week 13

  • Hadoop file system
  • More about Hadoop, MapReduce, &c

Week 14

  • Distributed hashing, Peer-to-Peer systems
  • Ubiquitous computing, overview
  • Ad hoc and sensor networks

Week 15

  • Security protocols
  • "The World's Most Successful Distributed System"...DNS
  • Exam #3

Week of May 8, 2007

  • Final exams

Week of May 15, 2007

  • Final exams