Advanced Distributed Systems

Fall 2017

General Course Information:

Instructor: Lakshmish Ramaswamy (laks[AT]cs[dot]uga[dot]edu, 706-542-2737)
Time and Venue: Wednesdays - 11:15 AM to 12:05 PM (Dawson 206) ; Tuesdays & Thursdays - 11:00 AM to 12:15 PM (Pharmacy South 220)
Office Hours: Tuesdays and Thursdays - 12:15 PM to 1:00 PM (Tentative) or by appointment

Course Description:

Distributed systems have become widely pervasive and are having a tremendous impact on various domains of human activity. Today's distributed systems range from ad-hoc networks comprising of tiny sensor devices, to overlay networks such as peer-to-peer systems, to massive web farms of powerful servers. The research in the area of distributed systems has focused on achieving better performance, reliability, security, and privacy of various kinds of distributed data processing applications.

In this course we will discuss advanced topics on distributed system principles including Distributed Hash Tables, Paxos Protocol, and CAP Theorem. Furthermore, we will study the design, implementation and evaluation of a wide class of distributed systems and applications including distributed file systems, cloud computing systems, event-based systems, sensor networks, and pervasive applications,
with the objective of gaining an in-depth understanding of the requirements and the design options.

Grading Policy (Tentative)

Course Materials (Tentative -- Will be modified during the course of the semester)

Advanced  Topics on Distributed System Principles (Lakshmish)
  1.   Material from the book "Distributed Systems: Principles and Paradigms" by Tanenbaum and Van Steen, 2nd Ed. Pearson Prentice Hall.**
  2. I. Stoica, R. Morris, D. Liben-Nowell, D. Karger, M. Kaashoek, F. Dabek and H. Balakrishnan, Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications, IEEE/ACM Transactions on Networking, 11(1), 2003. **
  3. A. Broder and M. Mitzenmacher, "Network Applications of Bloom Filters: A Survey", Internet Mathematics, 1(4), 2004.**
  4. L. Lamport, "Paxos Made Simple", 2001.**
  5. D. Mazieres "Paxos Made Practical" **
Distributed File Systems and Lock Services
  1. Material from the book "Distributed Systems: Principles and Paradigms" by Tanenbaum and Van Steen, 2nd Ed. Pearson Prentice Hall.**
  2. S. Ghemawat, H. Gobioff and S-T Leung, "The Google File System", OSDI 2003 ().
  3. M. Burrows, "The Chubby Lock Service for Loosely-Coupled Distributed Systems", OSDI 2006 ().
  4. S. A. Weil et al. "Ceph: A Scalable, High -Performance Distributed FIle System", OSDI 2006 ().
  5. C. Dubnicki et al. "HYDRAstor: A Scalable Secondary Storage", FAST 2009 ().
  6. K. Shvachko et al. "The Hadoop Distributed File System", MSST 2010 ().
  7. D. Ford et al., "Avaialability in Globally Distributed Storage Systems", OSDI 2010 () .
  8. W. Lloyd et al., "Don't Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS", SOSP 2011 ()
  9. B. Calder et al., "Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency", SOSP 2011 ().
  10. A. Thomson and D. J. Abadi "CalvinFS: Consistent WAN Replication and Scalable Metadata Management for Distributed File Systems", USENIX FAST 2015 ().
Data Centers and Cloud Computing
  1. Materials from the book "Distributed and Cloud Computing: From Parallel and Processing to the Internet of Things", by K. Hwang and G. C. Fox and J. J. Dongarra, Elsevier & Morgan-Kauffman (Lakshmish)
  2. M. Armburst et al, "Above the Clouds: A Berkeley View of Cloud Computing", Technical Report, University of California, Berkeley, 2009 ().
  3. B. Heller et al., "ElasticTree; Saving Energy in Data Center Networks", NSDI 2010 ()
  4. S. Meng et al., "Volley: Violation Likelihood Based State Monitoring for Datacenters", ICDCS 2013 ()
  5. S. Kannan, A. Gavrilovska and K. Schwan, "Cloud4Home - Enhancing Data Services with @Home Clouds", ICDCS 2011 ()
  6. D. Jeswani, A. Verma, P. Jayachandra and K. Bhattacharya, "ImageElves: Rapid and Reliable System Updates in the Cloud", ICDCS 2013 ().
  7. R. Balani et al. "Columbus: Configuration Discovery for Clouds", ICDCS 2014 ().
  8. K. Razavi et al., "Prebaked uVMs: Scalable, Instant VM Startup for IaaS Clouds", ICDCS 2015 ().
  9. B. Hindman et al., Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center, NSDI 2011 ().
Event Processing, Stream Processing and Publish-Subscribe Systems
  1. P. Th. Eugster, P. A. Felber, R. Guerraoui and A.-M. Kermarrec, The Many Faces of Publish-Subscribe, ACM Computing Surveys, 2003 (Lakshmish).
  2. G. Cugola and A. Margara "Processing Flows of Information: From Data Streams to Complex Event Processing", ACM Computing Surveys, 2012 (Lakshmish).
  3. G. Li and H-A Jacobsen "Composite Subscriptiosn in Content-Based Publish-Subscribe Systems", MIDDLEWARE 2005 ().
  4. A. Demers et al. "Towards Expressive Publish-Subscribe Systems", EDBT 2006 ().
  5. I. Rose, et al.,  "Cobra: Content-based Filtering and Aggregation of Blogs and RSS Feeds", NSDI 2007 ().
  6. E. Wu et al., "High-Performance Complex Event Processing Over Streams", SIGMOD 2006 ().

Presentation Slides

Available on ELC.

Programming Projects


Miscellanious Materials