CSCI/ECEN 5673: Distributed Systems
Spring 2011
Department
of Computer Science, University
of Colorado at Boulder
Professor Rick Han
Revised syllabus. See original syllabus here.
This
course
is
available via CU's
CAETE
distance learning online library.
See the Moodle class Web page at http://moodle.cs.colorado.edu
Schedule
& Location: Mon, Wed 5-6:15 pm, ECCS 1B28 (also offered as a
CAETE course)
Course number: CSCI 5673-002. See
also the CS Web
site and look under the Courses option.
Prerequisites: CSCI 5573 Advanced OS.
Instructor: Professor Rick
Han, http://www.cs.colorado.edu/~rhan.
Office: ECCR 1B05F
Office Hours: Tuesdays
2-3
pm
and
Wednesdays
1-2
pm
in ECCR 1B09 (next door to
my office).
Additional
appointments
as
needed.
Email: rhan@cs.colorado.edu
Phone: 303-492-0914
Textbook:
None required.
Other optional references:
class Web site:
See
the Moodle class Web page at
http://moodle.cs.colorado.edu.
Assignments,
lecture
slides,
and
announcements
can
be
found
there.
The moodle has
a variety of useful features, including a forum for posting
questions. Each student should establish an account
on the moodle and then subscribe to our
class on the moodle using the special enrollment key given out in
class. The moodle has been
upgraded to v2.0, so you must create a new account.
Topics/Schedule
The topics to be covered include the
following. We will seek to adhere to the timeline, but as the
situation warrants new topics may be added and/or others shortened,
eliminated, or shifted around in time, and due dates may be
modified. Stay tuned to the moodle for changes in this schedule.
Week |
Topic |
1 |
Introduction (review stuff you
should already know: DNS, SSL/TLS, NFS), Cloud Computing, Google File
System |
2 |
(MLK Holiday) Google MapReduce |
3 |
Google BigTable, Google
Web search infrastructure. Programming
assignment:
Hadoop/MapReduce on Amazon EC2 Cloud. |
4 |
Amazon Web Services, EC2, S3,
SimpleDB. Individual project
pitches in class. |
5 |
Amazon Dynamo, Parallel
DBs. Group project proposals
due. |
6 |
Open Source Cloud Computing,
Peer-to-Peer (P2P) Systems, Chord/DHTs. |
7 |
BitTorrent, Content Distribution/Delivery Networks (CDNs), Akamai. |
8 |
SETI@Home, Folding@Home, PlanetLab. Programming assignment due. |
9 |
Parallel Programming (MPI),
Dryad Distributed Execution Engine. |
10 |
ACID/BASE, CAP, Event
Ordering/Time
Synchronization, NTP. Midterm
Exam. |
11 |
Chapter
11
of CDK: Lamport Logical Clocks, Vector
Clocks Chapter 12 of CDK: Distributed Mutual Exclusion, Elections, Consensus (Byzantine Generals) |
12 |
Chapter 13 of CDK:
Distributed Transactions Chapter 14 of CDK: Two-Phase Commit, Replication/Consistency |
13 |
Chapter 15 of CDK: Sequential
Consistency Protocols (Totally ordered multicast, quorum), Chapters 4 and 5 of CDK: RPC, Java RMI |
14 |
Chapter 19 of CDK: XML
Web Services, SOAP, REST, Google Pregel |
15 |
Final
project
presentations
and
reports (Also during the final
exam time slot, so no final exam). |
Wish we had time for: Publish-subscribe, Bayou, Coda, AFS, grid computing. Intrusion Detection. Service discovery/naming, Fault Tolerance, Reliable multicast/group communication. Social networks. Mobility. Skype/multimedia. Storage Area Networks, Security, Privacy, Load Balancing, Caching, Application layer multicast. VMWare fault tolerance paper. |
Grading
20% Midterm exam
15% Programming assignment
50% Final project report and presentation
15% Class participation, paper reviews, possibly other
presentations
Discrimination and Sexual
Harassment Policy