CS555: Distributed Systems

[Announcements] [Syllabus] [Grading] [Schedule] [Assignments] [Piazza]



Page was lasted updated on Wednesday, October 18, 2017 5:13 PM

Readings will be based on the following textbooks.



[TvS] Distributed Systems: Principles and Paradigms. Andrew S. Tanenbaum and Maarten van Steen. 2nd Edition. Prentice Hall. ISBN: 0132392275/978-0132392273.
[CDKB Distributed Systems: Concepts and Design. George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair. 5th Edition. Addison Wesley. ISBN: 978-0132143011
[KS] Distributed Computing: Principles, Algorithms, and Systems. Ajay Kshemkalyani and Mukesh Singhal. 1st edition. Cambridge University Press. ISBN: 0521876346/ 978-0521876346.
[GPB] Java Concurrency in Practice. Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug Lea. Addison-Wesley Professional. ISBN: 0321349601/978-0321349606.
[NL] Distributed Algorithms. Nancy Lynch. 1st edition. Morgan Kaufman. ISBN: 1558603484/978-1558603486.
MapReduce Design Patterns: Building Effective Algorithms and Analytics for Hadoop and Other Systems. 1st Edition. Donald Miner and Adam Shook. O'Reilly Media ISBN: 978-1449327170.
[GR] Cloud Application Architectures: Building Applications and Infrastructure in the Cloud. George Reese.1st edition. O'Reilly. ISBN: 0596156367/978-0596156367.
[PD] Computer Networks: A Systems Approach. Larry Peterson and Bruce Davie. 4th edition. Morgan Kaufmann. ISBN: 978-0-12-370548-8.
[FS] Practical Cryptography. Niels Ferguson and Bruce Schneier. 1st edition. Wiley Publishing. ISBN: 0-471-22894-X/0-471-22357-3.
[WS] Cryptography and Network Security: Principles and Practice. William Stallings. 5th Edition. Prentice Hall. ISBN: 0136097049/978-0136097044
[RR] Unix Systems Programming. Kay Robbins & Steve Robbins, 2nd edition. Prentice Hall. ISBN: 978-0-13-042411-2.
[SGG] Operating Systems Concepts. Avi Silberschatz, Peter Galvin, Greg Gagne. 8th edition. John Wiley & Sons, Inc. ISBN-13: 978-0-470-12872-5.



The following is the tentative schedule for the course. This is subject to changes.

Week Date Topic Assignments Readings
1 Aug 21-25 Introduction

Lecture 1 (8/22)

Time and Logical Clocks
Lamport's Clocks
Vector and Matrix Clocks
Time synchronization algorithms

Lecture 2 (8/24)

Term Project 8/22

[TvS] Chap {2, 3, 6}
[KS] Chap {1, 3, 6}
2 Aug 28- Sep 01
Lecture 3 (8/29)

Peer-to-Peer Systems
Structured and Unstructured P2P Systems
Time & Space complexity of P2P algorithms
Systems: Pastry, Chord, Tapestry, Napster, Gnutella, and BitTorrent

Lecture 4 (8/31)

  [TvS] Chap {3,6}
[KS] Chap {3,6}
[CDKB] Chap {14}
[SGG] Ch {4, 5}
[RR] Chap {12}

3 Sep 04-08
Lecture 5 (9/5)

Lecture 6 (9/7)

HW2 9/6

HW1 due 9/6

[TvS] Chap {5}
[CDKB] Chap {7, 10}
[KS] Chap {18}
[GPB] Chap {1,2,11}
4 Sep 11-15
Lecture 7 (9/12)

Lecture 8 (9/14)

Term Project:
Team due 9/15
[CDKB] Chap {10}
5 Sep 18-22
Lecture 9 (9/19)

Programming models for Data Intensive Computing: MapReduce

Lecture 10 (9/21)

  [CDKB] Chap {10}
[Computing Economics]

[MapReduce Paper]
6 Sep 25-29
Lecture 11 (9/26)

Spark: A cluster-computing framework
Core Concepts, Resilient distributed dataset (RDD), Operations: transformations & actions, Pair RDDs, Spark streaming

Lecture 12 (9/28)

HW3 9/27

[Hadoop Setup Guide]

Running Word Count]

HW2 due 9/27

[MS] Chap {1-3}
7 Oct 02-06
Lecture 13 (10/3)

Lecture 14 (10/5)

  [TvS] Chap {4, 6}
[KS] Chap {18}
[CDKB] Chap {4}
8 Oct 09-13 Threads and Distributed Servers
Development of Scalable Servers
Harnessing cluster servers

Lecture 15 (10/10)

Lecture 16 (10/12)

[CDKB] Chap {4}
[KS] Chap {13}

October 16: Course withdrawal period ends. Last day to withdraw with a W.

9 Oct 16-20 Term Project Proposal Presentations

Project Presentations (10/17)

Content Dissemination Systems
(a) Queuing Systems
(b) Publish/Subscribe and P2P systems
(c) Epidemic protocols
(d) Overlays

Lecture 18 (10/19)

HW3 due 10/18

HW4 10/18


10 Oct 23-27 RPCs and Distributed Objects
Parameter Passing, Generation of Stubs, Static and Dynamic Invocations, and RMI

[GPB] Ch {1-4}
[TvS] Ch {4}
[CDKB] Ch {4-5}
11 Oct 30- Nov 03

Replication, Consistency and Coherence

(a) Data and client centric consistency
(b) Consistency Protocols
(c) Replica placements
(d) Brewer's CAP theorem

[TvS] Chap {7}
[CDKB] Chap {18}

12 Nov 06-10

HW4 due 11/08 [Amazon-Consistency Paper]
13 Nov 13-17

Distributed Storage Systems
Amazon Dynamo



Nov 20-26: Fall Break

14 Nov 27-Dec 01
Google File System

Term Project:
Software due 11/29

Term Project:
Report due: 12/01

Term Project:
Presentations: 12/01
[GFS Paper]

[Server Consolidation]
15 Dec 04-08 Term Project Presentations
Guidelines for Presentations

16 Dec 11-15 [Finals Week]


Dec 21: Final Letter Grades will be posted












Department of Computer Science, Colorado State University,
Fort Collins, CO 80523 USA
© 2017 Colorado State University