>>Send ur suggestion to Mynotes Tab & Also Search Any Book From Search Any Book Tab
Unit-I: Introduction
Introduction to parallel computing, need for parallel computing, parallel architectural classification schemes, Flynn’s , Fengs classification, performance of parallel processors, distributed processing, processor and memory hierarchy, bus, cache & shared memory, introduction to super scalar architectures, quantitative evaluation of performance gain using memory, cache miss/hits.
Unit-II: Multi-core Architectures
Introduction to multi-core architectures, issues involved into writing code for multi-core architectures, development of programs for these architectures, program optimizations techniques, building of some of these techniques in compilers, OpenMP and other message passing libraries, threads, mutex etc.
Unit-III: Multi-threaded Architectures
Parallel computers, Instruction level parallelism (ILP) vs. thread level parallelism (TLP), Performance issues: Brief introduction to cache hierarchy and communication latency, Shared memory multiprocessors, General architectures and the problem of cache coherence, Synchronization primitives: Atomic primitives; locks: TTS, ticket, array;Barriers: central and tree; performance implications in shared memory programs; Chip multiprocessors: Why CMP (Moore's law, wire delay); shared L2 vs. tiled CMP; core complexity; power/performance; Snoopy coherence: invalidate vs. update, MSI, MESI, MOESI, MOSI; performance trade-offs; pipelined snoopy bus design; Memory consistency models: SC, PC, TSO, PSO, WO/WC, RC; Chip multiprocessor case studies: Intel Montecito and dual-core, Pentium4, IBM Power4, Sun Niagara
Unit-IV: Compiler Optimization Issues
Introduction to optimization, overview of parallelization; Shared memory programming, introduction to OpenMP; Dataflow analysis, pointer analysis, alias analysis; Data dependence analysis, solving data dependence equations (integer linear programming problem); Loop optimizations; Memory hierarchy issues in code optimization.
Unit-V: Operating System Issues and Applications
Operating System issues for multiprocessing Need for pre-emptive OS; Scheduling Techniques, Usual OS scheduling techniques, Threads, Distributed scheduler, Multiprocessor scheduling, Gang scheduling; Communication between processes, Message boxes, Shared memory; Sharing issues and Synchronization, Sharing memory and other structures, Sharing I/O devices, Distributed Semaphores, monitors, spin-locks, Implementation techniques on multi-cores; OpenMP, MPI and case studies Case studies from Applications: Digital Signal Processing, Image processing, Speech processing.
Books:
1. Hwang, “ Advanced Computer Architecture”, New Age International
2. Quin, “Parallel Computing, Theory & Practices”, McGraw Hill
3. M. Morris Mano, “Computer System Architecture”, PHI
4. Richard Y. Kain, “Advanced Computer Architecture: A System Design Approach”, PHI