CSCI/ECEN 5673: Distributed Systems
of Computer Science, University
of Colorado at Boulder
Professor Rick Han
Revised syllabus. See original syllabus here.
available via CU's
distance learning online library.
See the Moodle class Web page at http://moodle.cs.colorado.edu
& Location: Mon, Wed 5-6:15 pm, ECCS 1B28 (also offered as a
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.
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.
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.
||Introduction (review stuff you
should already know: DNS, SSL/TLS, NFS), Cloud Computing, Google File
||(MLK Holiday) Google MapReduce
||Google BigTable, Google
Web search infrastructure. Programming
Hadoop/MapReduce on Amazon EC2 Cloud.
||Amazon Web Services, EC2, S3,
SimpleDB. Individual project
pitches in class.
||Amazon Dynamo, Parallel
DBs. Group project proposals
||Open Source Cloud Computing,
Peer-to-Peer (P2P) Systems, Chord/DHTs.
||BitTorrent, Content Distribution/Delivery Networks (CDNs), Akamai.|
||SETI@Home, Folding@Home, PlanetLab. Programming assignment due.|
||Parallel Programming (MPI),
Dryad Distributed Execution Engine.
|| ACID/BASE, CAP, Event
Synchronization, NTP. Midterm
of CDK: Lamport Logical Clocks, Vector
Chapter 12 of CDK: Distributed Mutual Exclusion, Elections, Consensus (Byzantine Generals)
||Chapter 13 of CDK:
Chapter 14 of CDK: Two-Phase Commit, Replication/Consistency
||Chapter 15 of CDK: Sequential
Consistency Protocols (Totally ordered multicast, quorum),
Chapters 4 and 5 of CDK: RPC, Java RMI
||Chapter 19 of CDK: XML
Web Services, SOAP, REST,
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.|
20% Midterm exam
15% Programming assignment
50% Final project report and presentation
15% Class participation, paper reviews, possibly other presentations
Discrimination and Sexual
Classroom Behavior Policy