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
|