Unit - I: Introduction
Parallel Computing, Parallel Computer Model, Program and Network Properties, Parallel Architectural Classification Schemes, Flynn’s & Feng’s Classification, Performance Metrics and Measures, Speedup Performance Laws: Multiprocessor System and Interconnection Networks; IEEE POSIX Threads: Creating and Exiting Threads, Simultaneous Execution of Threads, Thread Synchronization using Semaphore and Mutex, Canceling the Threads.
Unit – II: Pipelining and Memory Hierarchy
Basic and Intermediate Concepts, Instruction Set Principle; ILP: Basics, Exploiting ILP, Limits on ILP; Linear and Nonlinear Pipeline Processors; Super Scalar and Super Pipeline Design; Memory Hierarchy Design: Advanced Optimization of Cache Performance, Memory Technology and Optimization, Cache Coherence and Synchronization Mechanisms.
Unit – III: Thread and Process Level Parallel Architecture
Introduction to MIMD Architecture, Multithreaded Architectures, Distributed Memory MIMD Architectures, Shared Memory MIMD Architecture, Clustering, Instruction Level Data Parallel Architecture, SIMD Architecture, Fine Grained and Coarse Grained SIMD Architecture, Associative and Neural Architecture, Data Parallel Pipelined and Systolic Architectures, Vector Architectures.
Unit – IV: Parallel Algorithms
PRAM Algorithms: Parallel Reduction, Prefix Sums, Preorder Tree Traversal, Merging two Sorted lists; Matrix Multiplication: Row Column Oriented Algorithms, Block Oriented Algorithms; Parallel Quicksort, Hyper Quicksort; Solving Linear Systems: Gaussian Elimination, Jacobi Algorithm; Parallel Algorithm Design Strategies.
Unit –V: Developing Parallel Computing Applications
OpenMP Implementation in ‘C’: Execution Model, Memory Model; Directives: Conditional Compilation, Internal Control Variables, Parallel Construct, Work Sharing Constructs, Combined Parallel Work-Sharing Constructs, Master and Synchronization Constructs; Run-Time Library Routines: Execution Environment Routines, Lock Routines, Timing Routines; Simple Examples in ‘C’. Basics of MPI.
Books:-
1. Kai Hwang,” Advance Computer Architecture”, TMH
2. Matthew, ”Beginning Linux Programming”, SPD/WROX
3. Hennessy and Patterson,” Computer Architecture: A Quantitative Approach”, Elsevier
4. Dezso and Sima, ”Advanced Computer Architecture”, Pearson
5. Quinn, “Parallel Computing: Theory & Practice”, TMH
6. Quinn, “Parallel Programming in C with MPI and Open MP”, TMH
Open MP Specification and Usage (www.openmp.org)
|