Distributed Systems and Cloud Computing

Dr. Raja Appuswamy

Lecture Notes and Laboratory Material for the Cloud Computing Course at EURECOM

View the Labs on GitHub EURECOM-CLOUDS-LAB

Home

Lecture Notes

List of topics, recommended reading material, and pointers to the PDF slides.

Introduction [Slides]

Topics:

Reading list:

  • The Datacenter as a Computer: An Introduction to the Design of Warehouse-scale Machines, by Luiz André Barroso and Urs Hölzle, Morgan Claypool

Fundamentals [Slides]

Topics:

Reading list:

  • Cloudonomics: The Business Value of Cloud Computing, by J. Weinman, Wiley 2012

Programming Models and Runtime: MapReduce [Slides]

Topics:

Reading list:

  • MapReduce: Simplified Data Processing on Large Clusters, by Jeff Dean, Sanjay Ghemawat, OSDI 2004 [Link]
  • Hadoop: The Definitive Guide, by T. White, O'Reilly, 2012

Programming Models and Runtime: Spark [Slides]

Topics:

Reading list:

  • Five-minute rule 30 years later, by R. Appuswamy, et al., CACM 2019 [Link]
  • Learning Spark, by Holden Karau, Andy Konwinski, Patrick Wendell and Matei Zaharia, O'Reilly
  • Resilient distributed datasets: A fault-tolerant abstraction for in-memory cluster computing, by M. Zaharia, et al., USENIX NSDI, 2012 [Link]

Cloud Data Management: Relational databases[Slides]

Topics:

Reading list:

  • Database Management Systems, by Raghu Ramakrishnan, Johannes Gehrke

Cloud Data Management: Distributed File Systems[Slides]

Topics:

Reading list:

  • The Google File System, by S. Ghemawat, et al., SOSP, 2003 [Link]

Consistency Models[Slides]

Topics:

Reading list:

  • Distributed Systems: Principles and Paradigms (Chapters 6, 7), by Marteen van Steen, Andrew S. Tanenbaum

Agreement: Atomic Commitment[Slides]

Topics:

Reading list:

  • Distributed Systems: Principles and Paradigms (Chapter 8), by Marteen van Steen, Andrew S. Tanenbaum

Agreement: Consensus[Slides]

Topics:

Reading list:

  • Distributed Systems: Principles and Paradigms (Chapter 8), by Marteen van Steen, Andrew S. Tanenbaum