Advanced concepts in parallel computer architecture: memory systems, coherence protocols, interconnect topologies, synchronization mechanisms, and performance optimization.
Lectures
Flynn's Taxonomy & Parallelism Intuition
Flynn's classification (SISD, SIMD, MISD, MIMD), parallel computing models, pipelining, and ILP concepts.
Intuition for Parallelism
Caches, data locality, ILP limits, multi-core processing, SIMD, and hardware multithreading.
Interconnect Networks 1
Network basics, topology, routing algorithms, switching strategies, bus, crossbar, and point-to-point networks.
Interconnect Networks 2
Multistage networks (Omega, Butterfly, Benes), Fat Trees, Ring/Mesh/Torus topologies, and Hypercube networks.
Post-Moore Ideas
Neuromorphic computing, photonic computing and communication — emerging architectures beyond the limits of Moore's Law.
Cache Coherence
Snooping protocols (MSI→MESIF), directory-based coherence, memory consistency models, false sharing, and modern CPU/GPU coherence.
Parallel Programming I
Amdahl's Law, decomposition (task vs. data), assignment & load balancing, synchronization (locks, atomics, barriers), and the four-step framework.