Revision Notes

2311CSC501J — Parallel Processing. Complete notes for all five units, organised by topic: definitions, hand-drawable diagrams, formulas, comparison tables and worked examples.

Each unit ends with a Quick recall section — every formula and table on one screen — and a set of self-check questions with answers. Revise from these alone and you have the whole subject. Every page prints cleanly.

Unit I · Sessions 01–03

Introduction to Parallel Processing

The free lunch is over · concurrency vs parallelism · latency vs throughput · Flynn's taxonomy · SPMD · shared, distributed and hybrid memory · UMA vs NUMA · fork-join · race conditions · reduction · data scoping

Unit II · Sessions 04–06

Parallel Architecture

Static vs dynamic networks · bus, crossbar, Omega · mesh, torus, hypercube · degree, diameter, bisection · XOR routing · memory hierarchy · cache coherence · snooping vs directory · MESI · false sharing · SMP/AMP · CPU vs GPU · SIMT · roofline

Unit III · Sessions 07–09

Parallel Algorithms & Design

Foster's PCAM · decomposition techniques · granularity · dependency graphs · critical path · work, span & Brent's bound · speedup & efficiency · Amdahl · Gustafson · strong vs weak scaling · static vs dynamic balancing · work stealing

Unit IV · Sessions 10–12

Programming Models & Tools

OpenMP work-sharing, scheduling, scoping, barriers · MPI ranks, Send/Recv, the classic deadlock, collectives · CUDA host/device, thread→block→grid, the five-step pattern, memory spaces, coalescing, reduction

Unit V · Sessions 13–15

Applications of Parallel Computing

Domain decomposition & halo cells · Monte Carlo · shared-nothing databases · sharding · parallel queries and joins · OLTP vs OLAP · HDFS · MapReduce & the combiner · Spark · real-time systems · RMS and EDF · federated learning · edge computing · distributed AI training

How to use these