Course: Parallel and Distributed Programming (3
Credits, 2-0-2)
🎯 Table 1: Course Overview
Field Details
Course Title Parallel and Distributed Programming
Credits (L-
3 Credits, (2-0-2)
T-P)
Total
Engagement 90 (all quadrants)
Hours
Target
Undergraduate ([Link]. students)
Learners
Prerequisites None
Course
TO BE FILLED BY THE COURSE CREATOR
Description
Learning
CLO1–CLO5 (To be defined in the table below)
Outcomes
🧮 Total Engagement: 90 Hours
L-T-P: 2 hours Lecture + 0 hours Tutorial + 2 hours Practical per week
Duration: 15 weeks
Units: 5 (3 weeks per unit)
Segments per Unit: 12 (each 30 minutes)
Total Segments: 60
📊 Per Unit Hour Allocation (18 Hours)
Hours
Quadra
Component per Description
nt
Unit
6 recorded sessions theory (e.g., concurrency models,
e-Tutorials GPU architecture) (30 min each) + 6 live sessions of
6.5
Q1 (Recorded + hands-on (e.g., MPI setup, CUDA kernels) (30 min each)
hours
Live) + ½ hour unit-wise doubt-clearing live session every
third week (includes the whole unit’s contents).
e-Content Provide topics for reading materials relevant to the
3.5
Q2 (Reading segment of the unit of the course (PDFs, annotated
hours
Materials) walkthroughs, architecture diagrams, code samples).
Provide links to GitHub repos, simulators, performance
Web 2
Q3 visualizers, documentation etc. relevant to each
Resources hours
segment.
Quiz +
Assessment + 6 12 quizzes + 5-6 programming assignments + 3 forum
Q4
Discussion hours prompts per unit.
Forum
✅ Total per unit: 6.5 + 3.5 + 2 + 6 = 18 hours
✅ Total per course: 18 × 5 = 90 hours
📊 Quadrant-Wise Percentage Distribution Per Unit
Quadra Hours/ % of Unit
nt Unit Engagement
Q1 6.5 hrs 36.11%
Q2 3.5 hrs 19.44%
Q3 2 hrs 11.11%
Q4 6 hrs 33.33%
🧠 Pedagogical Notes
A balanced recorded theory and live hands-on sessions must ensure equal exposure to the true nature
of the course. While recorded lectures introduce concurrency models, GPU architecture, and
distributed paradigms, live sessions emphasize practical exposure to MPI setup, CUDA kernels, and
debugging parallel programs.
Reading Materials must support the lectures via curated PDFs, annotated walkthroughs, architecture
diagrams, and code samples to strengthen conceptual clarity and support independent study.
Q3 connects learners to GitHub repositories, simulators, performance visualizers, and documentation
for parallel/distributed frameworks, enabling real-world exploration.
Q4 makes the learners apply concepts to assessing their knowledge through quizzes, programming
assignments, and peer discussions. Assignments must include parallel algorithm implementation,
distributed system simulations, and performance analysis tasks. Forum discussions encourage
collaborative troubleshooting and debates on scalability, efficiency, and fault tolerance.
Doubt-clearing sessions every third week provide structured learner support, ensuring clarity on both
theoretical and applied aspects of parallel and distributed programming.
Deliverables:
🎓 Table 2A: Syllabus
Unit
Topics Covered
No. Unit Title No. of Hours
Scope of Parallel Computing – Parallel Programming 18
Platforms – Implicit Parallelism – Limitations of Memory
INTRODUCTION TO System Performance – Control Structures –
1 PARALLEL Communication Models – Physical Organization –
COMPUTING Communication Costs – Processor Mapping Techniques
Preliminaries – Decomposition Techniques – Task & 18
Interaction Characteristics – Load Balancing – Containing
PARALLEL Overheads – Parallel Algorithm Models – Communication
2 Operations (Broadcast, Reduction, Scatter, Gather, Prefix
ALGORITHM DESIGN Sum, Circular Shift) – Speed Optimization
Principles of Message Passing – MPI (Send/Receive, 18
Collective Ops, Groups, Communicators, Topologies) –
PROGRAMMING Overlapping Communication with Computation – POSIX
USING MESSAGE Threads – OpenMP Directives – Applications: Matrix
3
PASSING & SHARED Multiplication, Solving Equations, Sorting Networks,
ADDRESS SPACE Parallel DFS
4 DISTRIBUTED Distributed Application Models – Basic Algorithms in 18
COMPUTING Message Passing Systems – Leader Election in Rings –
Unit
Topics Covered
No. Unit Title No. of Hours
Mutual Exclusion in Shared Memory
PARADIGM
Crash Failures – Byzantine Failures – Impossibility in 18
Asynchronous Systems – Simulation Models – Broadcast
& Multicast Protocols – Specification & Implementation
FAULT TOLERANT of Broadcast Services – Multicast in Groups – Distributed
5
DESIGN Shared Memory (Linearizable, Sequential Consistency) –
Fault-Tolerant Algorithms
🎓 Table 2B: Course Objectives
Unit
Topics Covered
No. Unit Title No. of Hours
INTRODUCTION TO To learn the nuances of parallel algorithm design 18
1
PARALLEL COMPUTING
PARALLEL ALGORITHM To understand programming principles in parallel 18
2 and distributed computing architectures
DESIGN
PROGRAMMING USING To explore problems solved using parallel 18
algorithms
3 MESSAGE PASSING &
SHARED ADDRESS SPACE
DISTRIBUTED COMPUTING To study distributed computing incorporating fault 18
4
PARADIGM tolerance.
To study distributed computing incorporating fault 18
5 FAULT TOLERANT DESIGN
tolerant design.
🎓 Table 2C: Course Outcomes
No Description
1 Understand fundamentals of parallel computing paradigms
2 Learn parallel algorithm design
3 Develop programming knowledge with MPI & OpenMP
4 Apply distributed computing principles
5 Design applications incorporating fault tolerance
🎓 Table 2D: Text Books and References
Text Books References
[Link] Grama, Anshul Gupta, George Karypis and Vipin
1. Michael Quinn, “Parallel Computing - Theory
Kumar, "Introduction to Parallel Computing”, Second
and Practice”, Second Edition, Tata McGraw
Edition, Pearson Education,2009.(ISBN: 978-
Hill,2002. (ISBN: 978-0070582019)
0201648652)
2. Haggit Attiya and Jennifer Welch, "Distributed 2. Norman Matloff, "Parallel Computing for
Computing – Fundamentals, Simulations and Advanced Data Science – With Examples in R, C++ and
Topics”, Second Edition, Wiley, 2012. (ISBN: 978- CUDA”, Chapman and Hall/CRC, 2015. (ISBN:
1118006726) 978-1466587018)
3. Wan Fokkink, "Distributed Algorithms: An
Intuitive Approach”, MIT Press,2013. (ISBN:
978-0262018464)
4.M.L. Liu, "Distributed Computing – Principles
and Applications”, First Edition, Pearson
Education, 2011(ISBN: 978-0321525863)
Table 3: Per-Unit I Segment Mapping
Topic (to learn in 30 Mode
Book
Sl. No. minutes) (6 LSP/6 PLO) Note to Faculty Outcome
Reference
Rec Introduce motivation for CLO1
Scope of Parallel
1 Grama Ch.1 parallelism, examples of
Computing
speedup
Topic (to learn in 30 Mode
Book
Sl. No. minutes) (6 LSP/6 PLO) Note to Faculty Outcome
Reference
Live Demo shared vs distributed CLO1
Parallel Programming
2 Grama Ch.1 memory platforms with
Platforms
diagrams
Rec Show compiler-level CLO1
3 Implicit Parallelism Grama Ch.1 parallelism, automatic
parallelization
Live Hands-on: illustrate CLO1
Limitations of Memory
4 Grama Ch.1 memory bottlenecks with
System Performance
small code demo
Control Structures in Rec Explain for k-join, CLO1
5 Grama Ch.1
Parallel Programs synchronization constructs
Live Compare message passing CLO1
6 Communication Models Grama Ch.1 vs shared address space with
examples
Physical Organization of Rec Recorded walkthrough of CLO1
7 Grama Ch.1
Parallel Systems cluster vs multicore setups
Live Hands-on: measure CLO1
8 Communication Costs Grama Ch.1 latency/bandwidth using
MPI ping-pong
Processor Mapping Rec Recorded explanation of CLO1
9 Grama Ch.1
Techniques mapping tasks to processors
Live Walkthrough: installing CLO1
10 MPI Setup Basics Grama Ch.1
MPI, running first program
Rec Recorded demo: writing a CLO1
CUDA Kernels
11 Grama Ch.1 simple CUDA kernel for
Introduction
vector addition
Live Address questions CLO1
12 Revision Grama Ch.1 from recorded/live
sessions
Table 4A: Unit-I Quiz
Number Quiz Topic Rubric
1 Scope of Parallel Computing – motivation and speedup examples
2 Parallel Programming Platforms – shared vs distributed memory
3 Implicit Parallelism – compiler-level and automatic parallelization
4 Limitations of Memory System Performance – bottlenecks and bandwidth issues
5 Control Structures in Parallel Programs – fork-join, synchronization
6 Communication Models – message passing vs shared address space
7 Physical Organization of Parallel Systems – clusters, multicore, GPUs
8 Communication Costs – latency, bandwidth, MPI ping-pong
9 Processor Mapping Techniques – load balancing, task assignment
Number Quiz Topic Rubric
10 MPI Setup Basics – installation, first program run
11 CUDA Kernels Introduction – writing and executing simple kernels
12 Integration Quiz – applying MPI and CUDA concepts together
Table 4B: Unit-I Assignments
Number Assignment Topic
Case Study: Identify real-world applications of parallel computing (e.g., weather
A1
forecasting, image processing) and explain why parallelism is beneficial.
Diagram Task: Draw and compare shared memory vs distributed memory platforms,
A2
highlighting advantages and limitations.
Observation Exercise: Analyze a small sequential program and suggest where implicit
A3
parallelism could be applied.
Memory Bottleneck Study: Analyze examples, explain how memory hierarchy affects
A4
performance in parallel systems.
Hands-on MPI Demo: Run a simple MPI “Hello World” program and record observations
A5
about communication costs (latency, bandwidth).
CUDA Kernel Experiment: Modify a basic CUDA kernel (e.g., vector addition) by
A6
changing thread/block configurations and observe execution differences.
Number Reading Resource Topics
Scope of Parallel Computing
R1 GeeksforGeeks – Introduction to Parallel Computing
[Link]
R2 Parallel Programming Platforms
TutorialsPoint – Parallel Computing Platforms
[Link]
R3 Implicit Parallelism
Stanford CS149 Notes – Implicit Parallelism
[Link]
Number Reading Resource Topics
R4 Limitations of Memory System Performance
NPTEL – Parallel Computing Lectures [Link]
R5 Communication Models
MPI Tutorial – Message Passing Interface
[Link]
R6 Processor Mapping Techniques
NVIDIA CUDA Documentation
[Link]
Table 4C: Unit-I Reading Resources (Worth 3.5 hours learning per unit)
Table 4C: Unit-I Web-Resources (Worth 2 hours learning per unit)
Number Topic Weblink
WL1 MPI Basics Tutorial [Link]
WL2 CUDA Programming Guide [Link]
WL3 [Link]
Parallel Computing Overview parallel-computing/ ([Link] in Bing)
WL4 OpenMP Documentation [Link]
WL5 Distributed Computing [Link]
Principles ([Link] in Bing)
WL6 Performance Visualization [Link] algorithm visualization, adapted
Tools to parallel concepts)
Table 4D: Unit-I Forum Prompts
Number Topic
Discuss: Why is parallelism essential in modern computing, and where do you see
FP1
its biggest impact?
Debate: Shared memory vs distributed memory — which is more scalable for real-
FP2
world applications?
Share: Your experience running an MPI or CUDA program — what challenges
FP3
did you face in setup or debugging?
Table 3: Per-Unit II Segment Mapping
Topic (to learn in 30 Mode
Book
Sl. No. minutes) (6 LSP/6 PLO) Note to Faculty Outcome
Reference
Introduce basics of
1 Preliminaries Rec Grama Ch.2 CLO2
parallel algorithm design
Explain task
Decomposition
2 Rec Grama Ch.2 decomposition with CLO2
Techniques
examples
Discuss granularity,
Task & Interaction
3 Rec Grama Ch.2 communication, CLO2
Characteristics
dependency
Demo load balancing
4 Load Balancing Live Grama Ch.2 CLO2
strategies with code
Explain overhead sources
5 Containing Overheads Rec Grama Ch.2 CLO2
and mitigation
Compare pipeline, data
Parallel Algorithm
6 Rec Grama Ch.2 parallel, task parallel CLO2
Models
models
Communication Show broadcast
7 Rec Grama Ch.2 CLO2
Operations – Broadcast implementation in MPI
Explain reduction
8 Reduction Rec Grama Ch.2 CLO2
operations with examples
Demo scatter/gather in
9 Scatter & Gather Live Grama Ch.2 CLO2
MPI
Explain prefix sum
10 Prefix Sum Rec Grama Ch.2 CLO2
algorithm
Topic (to learn in 30 Mode
Book
Sl. No. minutes) (6 LSP/6 PLO) Note to Faculty Outcome
Reference
Show circular shift
11 Circular Shift Rec Grama Ch.2 CLO2
communication pattern
Hands-on performance
12 Speed Optimization Live Grama Ch.2 CLO2
tuning exercise
Table 4A: Unit-II Quiz
Number Quiz Topic Rubric
Q1 Preliminaries of parallel algorithm design
Q2 Decomposition techniques
Q3 Task & interaction characteristics
Q4 Load balancing strategies
Q5 Containing overheads
Q6 Parallel algorithm models
Q7 Broadcast operations
Q8 Reduction operations
Q9 Scatter & gather
Q10 Prefix sum
Q11 Circular shift
Q12 Speed optimization
Table 4B: Unit-II Assignments
Number Assignment Topic
A1 Process decomposition of a sample problem (e.g., matrix multiplication) into parallel
tasks.
A2 Apply load balancing for a given parallel program and analyze efficiency.
A3 Observe broadcast and reduction operations using MPI.
A4 Write a program to perform scatter and gather operations.
A5 Modify prefix sum in parallel and compare with sequential execution.
A6 Optimize a parallel algorithm and measure speedup.
Table 4C: Unit-II Reading Resources (Worth 3.5 hours learning per unit)
Number Reading Resources Topic
Decomposition techniques (GeeksforGeeks – Parallel Algorithm Design)
[Link]
R1
[Link]
algorithm-design%2F%22
R2 Load balancing strategies (TutorialsPoint – Parallel Computing)
[Link]
[Link]
%2Fparallel_computing%[Link]%22
R3 Communication operations (MPI Tutorial – Collective Communication)
[Link]
[Link]
%2Fmpi-broadcast-and-collective-communication%2F%22
R4 Prefix sum and reduction (Stanford CS149 Notes – Parallel Algorithms)
[Link]
R5 Speed optimization techniques (NPTEL – Parallel Computing Lectures)
[Link]
[Link]
%2F106%2F106%2F106106183%2F%22
R6 Decomposition techniques (GeeksforGeeks – Parallel Algorithm Design)
[Link] [Link]
%22https%3A%2F%[Link]%2Fparallel-algorithm-design%2F%22
Table 4C: Unit-II Web-Resources (Worth 2 hours learning per unit)
Num Weblink
Topic
ber
[Link]
WL1 MPI Collective communication/ [Link]
Communication %[Link]%2Ftutorials%2Fmpi-broadcast-and-collective-
communication%2F%22
WL2 [Link]
Load Balancing in [Link]
Parallel Systems %[Link]%2Fload-balancing-in-parallel-computing
%2F%22
WL3 [Link]
Parallel Algorithm parallel_algorithm_models.htm [Link]
Models Overview %22https%3A%2F%[Link]%2Fparallel_computing
%2Fparallel_algorithm_models.htm%22
WL4 [Link]
Prefix Sum Parallel [Link]
Implementation %[Link]%2Fblog%2Fparallel-prefix-sum-scan-with-
cuda%2F%22
WL5 [Link]
MPI Collective communication/ [Link]
Communication %[Link]%2Ftutorials%2Fmpi-broadcast-and-collective-
communication%2F%22
WL6 [Link]
Load Balancing in [Link]
Parallel Systems %[Link]%2Fload-balancing-in-parallel-computing
%2F%22
Table 4D: Unit-II Forum Prompts
Number Topic
FP1 Discuss: Which decomposition technique is most effective for large-scale
problems?
FP2 Debate: Is load balancing more critical than communication optimization in
parallel systems?
FP3 Share: Experiences implementing MPI collective operations (broadcast, scatter,
gather).
Table 3: Per-Unit III Segment Mapping
Topic (to learn in 30 Mode
Book
Sl. No. minutes) (6 LSP/6 PLO) Note to Faculty Outcome
Reference
Principles of Message Explain send/receive
1 Rec Grama Ch.3 CLO3
Passing basics
Demo point-to-point
2 MPI Send/Receive Live Grama Ch.3 CLO3
communication
MPI Collective Show broadcast, scatter,
3 Rec Grama Ch.3 CLO3
Operations gather
MPI Groups & Explain communicator
4 Rec Grama Ch.3 CLO3
Communicators concepts
Illustrate Cartesian/ring
5 MPI Topologies Rec Grama Ch.3 CLO3
topologies
Overlapping
Demo non-blocking MPI
6 Communication with Live Grama Ch.3 CLO3
calls
Computation
Explain pthread
7 POSIX Threads Basics Rec Grama Ch.3 CLO3
creation/join
Synchronization in Mutexes, condition
8 Rec Grama Ch.3 CLO3
POSIX Threads variables
Show parallel for,
9 OpenMP Directives Rec Grama Ch.3 CLO3
sections
Matrix Multiplication Implement parallel matrix
10 Live Grama Ch.3 CLO3
Application multiplication
Solving Equations /
11 Rec Grama Ch.3 Walkthrough examples CLO3
Sorting Networks
Demo graph traversal in
12 Parallel DFS Live Grama Ch.3 CLO3
parallel
Table 4A: Unit-III Quiz
Number Quiz Topic Rubric
Q1 Principles of message passing
Q2 MPI send/receive
Number Quiz Topic Rubric
Q3 MPI collective operations
Q4 MPI groups & communicators
Q5 MPI topologies
Overlapping communication with
Q6
computation
Q7 POSIX threads basics
Q8 Synchronization in POSIX threads
Q9 OpenMP directives
Q10 Matrix multiplication
Q11 Sorting networks
Q12 Principles of message passing
Table 4B: Unit-III Assignments
Number Assignment Topic
A1 Apply MPI send/receive for a simple program.
A2 Process MPI collective operations (broadcast, scatter, gather).
A3 Modify a pthread program with synchronization.
A4 Apply OpenMP to parallelize a loop.
A5 Process matrix multiplication using MPI/OpenMP.
A6 Perform parallel DFS on a sample graph.
Table 4C: Unit-III Reading Resources (Worth 3.5 hours learning per unit)
Numb Reading Resources Topic
er
R1 MPI basics (MPI Tutorial) [Link]
R2 POSIX Threads (GeeksforGeeks – pthreads) [Link]
posix-threads/ [Link]
%[Link]%2Fmultithreading-c-posix-threads%2F%22
R3
OpenMP directives (OpenMP official docs) [Link]
R4 Applications of parallel programming (Stanford CS149 Notes)
[Link]
R5 Sorting networks and parallel DFS (TutorialsPoint – Parallel Algorithms)
[Link] [Link]
q=%22https%3A%2F%[Link]%2Fparallel_computing%[Link]%22
R6 MPI basics (MPI Tutorial) [Link]
Table 4C: Unit-III Web-Resources (Worth 2 hours learning per unit)
Num Weblink
Topic
ber
[Link]
WL1 MPI Collective communication/ [Link]
Communication %[Link]%2Ftutorials%2Fmpi-broadcast-and-collective-
communication%2F%22
WL2 [Link]
POSIX Threads Guide [Link]
%2Flinux%2Fman-pages%2Fman7%[Link]%22
WL3 [Link]
OpenMP Examples [Link]
%[Link]%2Fresources%2Fopenmp-examples%2F%22
WL4 [Link]
Parallel DFS
[Link]
Implementation
%[Link]%2Fparallel-depth-first-search%2F%22
Table 4D: Unit-III Forum Prompts
Number Topic
FP1 Discuss: MPI vs OpenMP — which is better for scalability?
FP2 Debate: Are threads more efficient than processes in parallel programming?
FP3 Share: Experiences implementing matrix multiplication in parallel.
Table 3: Per-Unit IV Segment Mapping
Topic (to learn in 30 Mode
Book
Sl. No. minutes) (6 LSP/6 PLO) Note to Faculty Outcome
Reference
Introduce client-server,
Distributed Application Attiya &
1 Rec peer-to-peer, cloud CLO4
Models Welch Ch.1
paradigms
Basic Algorithms in
Attiya & Demo simple broadcast &
2 Message Passing Live CLO4
Welch Ch.2 synchronization
Systems
Leader Election in Rings Attiya & Explain algorithm
3 Rec CLO4
– Concept Welch Ch.3 intuition with diagrams
Leader Election in Rings Attiya & Hands-on MPI program
4 Live CLO4
– Implementation Welch Ch.3 for leader election
Mutual Exclusion in Attiya & Explain Lamport’s
5 Rec CLO4
Shared Memory – Basics Welch Ch.4 bakery algorithm
Mutual Exclusion in
Attiya & Demo mutex-based
6 Shared Memory – Live CLO4
Welch Ch.4 shared memory program
Implementation
Fault Handling in Attiya & Discuss crash vs
7 Rec CLO4
Distributed Paradigms Welch Ch.5 Byzantine failures
Case Study: Distributed Attiya & Walkthrough consistency
8 Live CLO4
Databases Welch Ch.6 models
9 Case Study: Cloud Rec Attiya & Recorded demo of CLO4
Systems Welch Ch.7 distributed cloud
Topic (to learn in 30 Mode
Book
Sl. No. minutes) (6 LSP/6 PLO) Note to Faculty Outcome
Reference
scheduling
Attiya & Hands-on simulation of
10 Simulation Models Live CLO4
Welch Ch.8 distributed processes
Summarize algorithms
11 Revision & Integration Rec Grama Ch.4 CLO4
and paradigms
Q&A + Debugging
12 Live Grama Ch.4 Address student queries CLO4
Session
Table 4A: Unit-IV Quiz
Number Quiz Topic Rubric
Q1 Distributed application models
Q2 Basic message passing algorithms
Q3 Leader election in rings – concept
Q4 Leader election in rings – implementation
Q5 Mutual exclusion basics
Q6 Mutual exclusion implementation
Q7 Fault handling in distributed systems
Q8 Case study: distributed databases
Q9 Case study: cloud systems
Q10 Simulation models
Q11 Integration quiz – combining leader election
Q12 Integration quiz – mutual exclusion
Table 4B: Unit-IV Assignments
Number Assignment Topic
A1 Apply basic distributed application models (client-server vs peer-to-peer vs cloud).
A2 Process simple broadcast algorithm in MPI.
A3 Write a program for leader election in a ring topology.
A4 Analyze mutual exclusion in shared memory systems.
A5 Apply mutual exclusion using mutex locks in POSIX threads.
A6 Case study: Analyze consistency in distributed databases (linearizable vs sequential).
Table 4C: Unit-IV Reading Resources (Worth 3.5 hours learning per unit)
Number Reading Resources Topic
R1 Distributed application models (TutorialsPoint – Distributed Computing)
R2 Leader election algorithms (GeeksforGeeks – Leader Election in Rings)
R3
Mutual exclusion basics (Stanford CS149 Notes – Synchronization)
R4 Fault tolerance in distributed systems (NPTEL Distributed Computing Lectures)
R5 Distributed databases consistency (MIT Notes – Distributed Systems)
R6 Simulation models (Attiya & Welch textbook examples)
Table 4C: Unit-IV Web-Resources (Worth 2 hours learning per unit)
Num Weblink
Topic
ber
[Link]
WL1 Leader Election in Rings [Link]
%[Link]%2Fleader-election-in-rings%2F%22
WL2 [Link]
Mutual Exclusion [Link]
Algorithms %[Link]%2Fmutual-exclusion-in-distributed-systems
%2F%22
WL3 [Link]
Distributed Databases
[Link]
Consistency
%[Link]%2Flearn%2Fdistributed-systems%22
WL4 [Link]
Fault Tolerance in
[Link]
Distributed Systems
%2Fcourses%2F106%2F106%2F106106183%2F%22
WL5 Simulation Models adapted for distributed algorithms [Link]
Table 4D: Unit-IV Forum Prompts
Number Topic
FP1 Discuss: Which distributed application model is most relevant today (client-
server, peer-to-peer, cloud)?
FP2 Debate: Is leader election more critical than mutual exclusion in distributed
systems?
FP3 Share: Experiences implementing MPI-based leader election or mutual exclusion
algorithms.
Table 3: Per-Unit V Segment Mapping
Topic (to learn in 30 Mode
Book
Sl. No. minutes) (6 LSP/6 PLO) Note to Faculty Outcome
Reference
Explain crash failure
1 Crash Failures Rec Attiya Ch.5 CLO5
models with examples
Discuss Byzantine
2 Byzantine Failures Rec Attiya Ch.5 CLO5
generals problem
Impossibility in Explain FLP
3 Rec Attiya Ch.5 CLO5
Asynchronous Systems impossibility result
Show fault simulation
4 Simulation Models Rec Attiya Ch.5 CLO5
examples
5 Broadcast Protocols Live Attiya Ch.5 Demo reliable broadcast CLO5
6 Multicast Protocols Rec Attiya Ch.5 Explain group multicast CLO5
Specification of Discuss service
7 Rec Attiya Ch.5 CLO5
Broadcast Services guarantees
Implementation of Demo broadcast
8 Live Attiya Ch.5 CLO5
Broadcast Services implementation
Explain multicast
9 Multicast in Groups Rec Attiya Ch.5 CLO5
communication
Distributed Shared Explain consistency
10 Rec Attiya Ch.5 CLO5
Memory – Linearizable models
Compare linearizable vs
11 Sequential Consistency Rec Attiya Ch.5 CLO5
sequential
Fault-Tolerant Discuss consensus
12 Live Attiya Ch.5 CLO5
Algorithms algorithms
Table 4A: Unit-V Quiz
Number Quiz Topic Rubric
Q1 Crash failures
Q2 Byzantine failures
Q3 Impossibility in asynchronous systems
Q4 Simulation models
Q5 Broadcast protocols
Q6 Multicast protocols
Q7 Specification of broadcast services
Q8 Implementation of broadcast services
Q9 Multicast in groups
Q10 Distributed shared memory – linearizable
Q11 Sequential consistency
Q12 Fault-tolerant algorithms
Table 4B: Unit-V Assignments
Number Assignment Topic
A1 Observe crash failures in a distributed system.
A2 Process Byzantine fault tolerance in a small network.
A3 Apply impossibility in asynchronous systems with examples.
A4 Experiment with broadcast and multicast protocols.
A5 Modify distributed shared memory examples to study consistency models.
A6 Apply fault-tolerant algorithms to sample problems.
Table 4C: Unit-V Reading Resources (Worth 3.5 hours learning per unit)
Number Reading Resources Topic
Crash and Byzantine failures (GeeksforGeeks – Fault Tolerance in Distributed Systems)
R1
[Link]
R2 Impossibility in asynchronous systems (TutorialsPoint – Distributed Computing)
[Link]
R3 Broadcast & multicast protocols (MPI Tutorial – Collective Communication)
[Link]
Number Reading Resources Topic
R4 Distributed shared memory consistency models (Stanford CS240 Notes)
[Link]
R5 Fault-tolerant algorithms (NPTEL – Distributed Computing Lectures)
[Link]
Table 4C: Unit-V Web-Resources (Worth 2 hours learning per unit)
Num Weblink
Topic
ber
WL1 Byzantine Generals [Link]
Problem distributed-systems/
WL2 Fault Tolerance in
[Link]
Distributed Systems
WL3 Broadcast & Multicast [Link]
Protocols communication/
WL4 Distributed Shared [Link]
Memory Consistency system/
Table 4D: Unit-V Forum Prompts
Number Topic
FP1 Discuss: Why is Byzantine fault tolerance considered one of the hardest problems
in distributed systems?
FP2 Debate: Linearizable vs sequential consistency — which is more practical in real-
world systems?
FP3 Share: Experiences implementing fault-tolerant algorithms in distributed
environments.