Week 1
- Administrivia
- Work and Abstraction: task_struct/pcb
Thursday: assigned Lab #1 - process migration
Week 2
- Scarcity, scheduling (queuing), interleaving/processor sharing
- POSIX Threads & concurrent programming, intro
- fork, exec, wait, /proc, top, 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
Thursday: Lab #1 due
Thursday: assigned Lab #2.1 - 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
Tuesday: assigned Homework #1 - Processes, Threads, and Concurrency
Thursday: Lab #2.1 due
Thursday: assigned Lab #2.2 - Single-player game implementation
Week 5
- Concurrency control in Networks: Dodging the issue with CDMA,
Issues with wireless networks
- Midterm exam
Tuesday: Homework #1 due
Thursday: Midterm Exam #1 - Processes, Threads, and Concurrency
Week 6
- Imperfection and failure of resources: EDC, ECC, RAID, Framing
- Working with uncertainty and around failure: IP in a day
Tuesday: Lab #2.2 due
Tuesday: assigned Lab #3 - Multi-player game over network implementation
Week 7
- "Reliability": ACKed UDP, 2 Armies Story
- Reliability w/streaming protocols, congestion: TCP in a Day
Tuesday: assigned Homework #2 - Networks
Week 8
- Review/Slack
- Midterm exam
Tuesday: Homework #2 due
Tuesday: Lab #3 due
Thursday: Midterm Exam #2 - Networks
Week 9
Week 10
- Environment of Distributed systems, DS overview
- General processing techniques, PVM and Condor, Seti@Home
Tuesday: assigned Lab #4 - distributed computation
Week 11
- General synchronization techniques: Lamport, Voting
- Map-Reduce paradigm, MR/Hadoop crash course
Thursday: Lab #4 due
Thursday: assigned Lab #5.1 - Hadoop Familiarization
Thursday: assigned Lab #5.2 - Hadoop proposals
Week 12
- Using tables with Map-Reduce, HBase overview
- Map-Reduce examples and Idioms
Thursday: Lab #5.1 due
Week 13
- Map-Reduce Engine, Technical overview
- DFS Support for Map-Reduce, HDFS overview
Tuesday: Lab #5.2 due
Tuesday: assigned Lab #5.3 - Hadoop, on the cluster
Thursday: assigned Homework #3 - Hadoop/Map-Reduce fundamentals
Week 14
- General synchronization techniques: Mutex and Coordinator
election
- No class - Carnival
Week 15
- DFS Overview, AFS, Coda, callbacks as leases
- Higher level problem solving: Overlay networks
Tuesday: Homework #3 due
Tuesday: assigned Homework #4 - Distributed systems, generally
Week 16
- DS Examples in Netowrking: DNS, Routing Algorithms
- Course wrap-up, Final Exam review
Tuesday: Homework #4 due
Thursday: Lab #5.4 due
|