Overview of parallel processing and pipelining processing
Necessity of high performance, Constraints of conventional architecture, Parallelism in uniprocessor system, Evolution of parallel processors, future trends, Architectural classification, Applications of parallel processing, Instruction level parallelism and thread level parallelism, Explicitly parallel instruction computing (EPIC) architecture, Case study of intel itanium processor.
Principles of scalable performance : Performance metrics and measures, Speedup performance laws.
Principles and implementation of pipelining, Classification of pipelining processors, General pipelining reservation table, Design aspect of arithmetic and instruction pipelining, Pipelining hazards and resolving techniques, Data buffering techniques, Job sequencing and collision, Advanced pipelining techniques, loop unrolling techniques, out of order execution, software scheduling, trace scheduling, Predicated execution, Speculative loading, Register stack engine, Software pipelining, VLIW (Very Long Instruction Word) processor, Case study : Superscalar, Architecture - Pentium, Ultra SPARC.
Vector and array processor
Basic vector architecture, Issues in vector processing, Vector performance modeling, vectorizers and optimizers, Case study : Cray Arch.
SIMD computer organization : Masking and data network mechanism, Inter PE communication, Interconnection networks of SIMD, Static Vs dynamic network, cube hypercube and mesh interconnection network.
Parallel algorithms for array processors : Matrix multiplication, Sorting, FFT.
Loosely and tightly coupled multiprocessors, Processor characteristics of multiprocessors, Inter processor communication network, Time shared bus, Crossbar switch, Multiport memory model, Memory contention and arbitration techniques, Cache coherency and bus snooping, Massively Parallel Processors (MPP), COW's and NOW's cluster and network of work stations, Chip multiprocessing (CMP), Case study of IBM power 4 processor.
Inter processor communication and synchronization
Multithreaded processors, Latency hiding techniques, Principles of multithreading, Issues and solutions.
Parallel programming techniques : Message passing program development, Synchronous and asynchronous message passing, Message passing parallel programming, Shared memory programming, Data parallel programming.
Parallel software issues
a)Parallel algorithms for multiprocessors, classification of parallel algorithms, performance of parallel algorithms.
b)Operating systems for multiprocessors systems, Message passing libraries for parallel programming interface, PVM (in distributed memory system), Message passing interfaces (MPI), Pthreads (in shared memory system).
c)Parallel programming languages : Fortan 90, Occam, C-Linda, CCC etc.
d)Issues towards cluster computing, Introduction to neuro computing and grid computing.