Cloud Computing and Distributed Systems
Outline of the course
1. Introduction to Clouds, Virtualization and Virtual Machine:
• Features of today’s Clouds: Massive scale, AAS Classification: Haas, IaaS, PaaS, SaaS
• New Cloud Paradigms
• Categories of Clouds: Private clouds, public clouds
• Virtualization:
o technology that you can use to create virtual representations of servers,
storage, networks, and other physical machines
o Virtualization Models: Bare metal, Hosted hypervisor
o Types of Virtualizations: Processor virtualization, Memory virtualization, Full
virtualization, Para virtualization, Device virtualization
• Hotspot Mitigation for Virtual Machine Migration
o Enterprise Data Centers, Data Center Workloads, Provisioning methods,
Sandipiper Architecture, Resource provisioning, Black-box approach, Gray-
box approach, Live VM Migration Stages, Hotspot Mitigation
2. Network Virtualization and Geo-distributed Clouds
• Server Virtualization: Using Docker, Using Linux containers
• Networking Approaches:
• Hardware approach: Single-root I/O virtualization (SR-IOV)
• Software approach: Open vSwitch, Mininet and its applications
• Software Defined Network, Key Ideas
• Geo-distributed Cloud Data Centers
• Inter-Data Center Networking, Data center interconnection techniques:
MPLS, Google’s B4 and Microsoft’s Swan
3. Leader Election in Cloud, Distributed Systems and Industry Systems
• LeLann-Chang-Roberts (LCR) algorithm, The Hirschberg and Sinclair (HS) algorithm
• Leader Election Problem, Ring based leader election, Bully based leader election,
• Leader Election in Industry Systems: Google’s Chubby and Apache Zookeeper
• Design of Zookeeper
4. Consensus in Cloud Computing
• Paxo’s Algorithm
• Byzantine Agreement
• Failures & Recovery Approaches in Distributed Systems
5. Classical Distributed Algorithms and the Industry Systems
• Time and Clock Synchronization in Cloud Data Centers
• Global State and Snapshot Recording Algorithms
• Distributed Mutual Exclusion
6. Cloud Storage: Key-value stores/NoSQL
• Design of Apache Cassandra
• Design of HBase
7. P2P Systems and their use in Industry Systems
• Napster, Gnutella, FastTrack, BitTorrent, DHT, Chord, Pastry and Kelips.
8. Cloud Applications: MapReduce, Spark and Apache Kafka
• MapReduce
• Introduction to Spark
• Introduction to Kafka