EECE 411 - Design of Distributed
Software Applications
(Fall’11)
Instructor: Matei Ripeanu
TAs: Samer
Al-Kiswany
Announcements
[11/9] Final
exam: December 9th, 12pm, MCLD 254
[10/31] Second
phase of the project posted (P02). Submission
deadline November 2nd 11:59pm.
[10/10] First
phase of the project posted (P01). Do send us your group
membership and apply fro PlanetLab accounts (one per
group). Submission deadline November 2nd 11:59pm.
[09/07] Subscribe
to the class mailing list either by emailing sympa@ece.ubc.ca
with “subscribe eece411@ece.ubc.ca” in
the body of the message or by visiting https://oldlists.ece.ubc.ca/sympa
Logistics
·
Class: Tu/Th 12:30 to 14:00 in McLeod 242
· Office hours: 14:00 to 14:30 (after each class) in KAIS 4033. Other times by appointment.
|
|
Date |
Topic
|
Required |
Slides |
Assignments |
Optional reading / Links |
|
W1 |
09/08 |
Course
overview. P2P systems. Project introduction. |
|
[L01] [project] |
|
Gnutella links; BitTorrent
links |
|
W2 |
09/13 |
Definitions
& goals. Transparency. Scaling. Policy vs. Mechanism. Architectural
styles. |
Tanenbaum p1-43; 115-125 |
[L02] |
[A1] |
Waldo, et. al., A note on
distributed computing Code: socket examples |
|
09/15 |
Network
protocols. |
p125-157;
|
[L03] |
|
||
|
W3 |
09/20 |
RPC
(cont). |
section
8.3, p491-496; |
[L04] |
[A1 due
09/23] |
|
|
09/22 |
Remote
Method Invocation (RMI). |
Sun’s RMI guide |
[L05] |
[A2] |
RMI example code
and runtime configurations Sun’s
document on Java Garbage
collection -- a few references to RMI |
|
|
W4 |
09/27 |
Soft-state.
Distributed garbage collection. Assignment 2 discussion. |
Tann. p69-103 |
[L06] |
|
Amazon’s report on the S3 Availability
Event: July 20, 2008 |
|
09/29 |
Data
distribution: Multicast. Epidemic protocols. |
Tann. 145-157; 167-176 |
[L07] |
|
|
|
|
W5 |
10/04 |
Naming
systems. Naming systems for flat namespaces.
Consistent hashing. DHTs. |
Tann. chapter 5 |
[L08] |
|
Consistent hashing
and DHTs in Wikipedia Jung et al., DNS Performance and
the Effectiveness of Caching |
|
10/06 |
Consistent
hashing. DHTs. |
|
[L09] |
[A2 due
10/07] |
|
|
|
W6 |
10/11 |
Synchronization:
Physical clocks. |
Tann. chapter 6 |
[L10] |
[P01] |
B. Liskov et al, Practical
Uses of Synchronized Clocks in Distributed Systems |
|
10/13 |
Synchronization:
Physical clocks |
|
[L11] |
|
|
|
|
W7 |
10/18 |
Quiz. |
|
|
|
|
|
10/20 |
Quiz
discussion. Synchronization: Logical clocks. Ordered group communication. |
Tann. chapter 6 |
[L12] |
|
Time,
clocks, and the ordering of events in a distributed system, Communications of the ACM 21 (7): 558–565. |
|
|
W8 |
10/25 |
Synchronization:
Ordered group communication. Vector clocks. |
Tann. chapter 6 |
[L13] |
|
|
|
10/27 |
Amazon’s
Dynamo. |
Giuseppe DeCandia et
al., Dynamo: Amazon's Highly Available
Key-Value Store, SOSP’07 [link] |
[L14] |
[P02] |
CAP Theorem [slides]
[wikipedia]
[a
view] |
|
|
W9 |
11/01 |
Mutual exclusion. |
Tann. chapter 6 |
[L15] |
[P01 due
11/2] |
Lin et al., A
Practical Distributed Mutual Exclusion Protocol in Dynamic Peer-to-Peer
Systems [link] |
|
11/03 |
Mutual
exclusion (cont). Replication and consistency |
Tann. chapter 6 |
[L15] [L16] |
|
|
|
|
W10 |
11/8 |
Project
discussion. Non-blocking IO. Server design. |
Read the
background section of the SEDA paper |
[P03] |
Habibi et
al., Section
7 of The Sun Certified Java Developer Exam with J2SE 1.4 (from UBC online
library). Welsh et. al., SEDA: An
architecture for well-conditioned, scalable Internet services |
|
|
11/10 |
Replication
& consistency. Consistency models. Replication protocols (client-centric,
primary-backup protocols; quorum protocols) |
Tann. chapter 7 |
[L18] |
Project: |
|
|
|
W11 |
11/15 |
No class
– travel |
|
|
|
|
|
11/17 |
Quiz |
|
|
|
|
|
|
W12 |
11/22 |
More on
replication. |
Tann. chapter 7 |
[L18] |
[P02 due
11/14] |
H. Yu et al., Tunable Availability and
Consistency Tradeoffs |
|
11/24 |
Cloud
computing |
ClusterComputing
and MapReduce video series |
[cloud] |
|
MapReduce:
Simplified Data Processing on Large Clusters, Jeffrey Dean, Sanjay Ghemawat, OSDI’04 Wikipedia
entry with lots of links |
|
|
W13 |
11/29 |
Map
reduce |
|
|
||
|
12/01 |
System
design considerations 496 and
other project opportunities in distributed systems |
|
[L21] |
[P03 due
12/01 or 12/8] |
|
Subscribe to the class mailing list either by emailing sympa@ece.ubc.ca with “subscribe eece411@ece.ubc.ca” in the body of the
message or by visiting https://oldlists.ece.ubc.ca/sympa
Syllabus: one
page course description
Distributed Systems: Principles and Paradigms by Andrew S.
Tanenbaum, Maarten van Steen. Publisher:
Prentice Hall; 2nd edition.
Grading
*
Assignments: 10%
*
Project: 40% (65% of that for final submission).
* Quizzes: 20%
* Final exam: 30% (no
midterm).
*
Class and mailing list participation:
3% (bonus)
Class attendance is mandatory,
though attendance won't be taken. Most of the course material, including assignments
and lecture notes, will be posted on the class web page. However, some topics
may get covered in class and not reflected in the online notes. You're responsible for all material covered
in class, whether or not
it appeared on the Web site - I suggest you ask a fellow student, the TA, or
the professor to fill in any material you may have missed.