Lesson 1 & Part 2

  • Introduction to Distributed Computing
  • Types of Distributed Systems
  • Flynn’s Taxonomy
  • Remote Procedure Call (RPC)
  • Message Queueing
  • Publish–Subscribe Pattern
  • Logical Clocks

Subscribe to get access

Read more of this content when you subscribe today.

Lesson 2 & 3

  • Introduction 
  • Types 
  • Logical Clocks 
  • Lamport’s Timestamp 
  • Vector Clock 
  • Singhal–Kshemkalyani differential technique 
  • Fowler–Zwaenepoel’s Direct-Dependency Technique 
  • Physical Clock Synchronisation 
  • Causal Ordering 
  • NTP 

Subscribe to get access

Read more of this content when you subscribe today.

Lesson 4

Application vs Control Algorithm Executions
Centralized and Distributed Algorithms
Symmetric vs Asymmetric Algorithms
Anonymous Algorithms
Uniform Algorithms
Adaptive Algorithms
Deterministic vs Non-Deterministic Executions
Execution Inhibition
Synchronous vs Asynchronous Systems
Online vs Offline Algorithms
Failure Models in Distributed Systems
Wait-Free Algorithms
Communication Channels
Synchronous Single-Initiator Spanning Tree (Flooding)
Asynchronous Single-Initiator Spanning Tree
Broadcast and Convergecast on a Tree
Memory Map: Algorithms 1–5

Spanning Tree Protocol Memory Map

Lesson 5

Message Ordering and Termination Detection
Message Ordering Paradigms
Asynchronous Executions (Non-FIFO)
Asynchronous Executions (FIFO)
Causally Ordered (CO) Executions
Synchronous Executions (SYNC)
Hierarchy of Orderings
Group Communication
Causal Order (CO)
Causal Order – Examples (violations and satisfactions)
Applications of Causal Ordering
Causal Ordering – Message Delivery
FIFO in Practice
Synchronous Execution (SYNC) (detailed explanation)

Subscribe to get access

Read more of this content when you subscribe today.

Lesson 6

  • Message Ordering in Distributed Systems
    • Importance of message order for consistency
    • Example with replicas
  • Total Order
    • Definition and need
    • Example violation and satisfying scenarios
  • Three-Phase Distributed Algorithm
    • Purpose (total + causal order)
    • Phase 1: Send message
    • Phase 2: Collect proposals
    • Phase 3: Announce final time
  • Nomenclature for Multicast
    • Single Source Single Group (SSSG)
    • Multiple Sources Single Group (MSSG)
    • Single Source Multiple Groups (SSMG)
    • Multiple Sources Multiple Groups (MSMG)
  • Classification of Application-Level Multicast Algorithms
    • Communication history–based algorithms (e.g., Lamport’s timestamps)
    • Privilege-based algorithms (token passing)
    • Moving sequencer algorithms (with token rotation)
    • Fixed sequencer algorithms (centralized sequencer)
    • Destination agreement algorithms (timestamp-based and consensus-based)
  • Termination Detection
    • Importance of detecting termination
    • Local vs global termination
    • Parallel computations (basic vs control messages)
    • Requirements of termination detection algorithms
  • Main Termination Detection Approaches
    • Using distributed snapshots
    • Weight throwing method
    • Spanning-tree–based detection

Subscribe to get access

Read more of this content when you subscribe today.

Past Paper Q&A

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.