Name of Subject  : ADVANCED COMPUTER ARCHITECTURES (6 IT 6.2)

Unit

Contents

INTRODUCTION

:

Parallel Computing, Parallel Computer Model, Program and Network Properties, Parallel

Architectural Classification Schemes, Flynns & Fengs Classification, Performance Metrics and Measures,

Speedup Performance Laws: Multiprocessor System and Interconnection Networks; IEEE POSIX Threads:

I

Creating and Exiting Threads, Simultaneous Execution of Threads, Thread Synchronization using Semaphore and

Mutex, Canceling the Threads.

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

II

Design; Memory Hierarchy Design: Advanced Optimization of Cache Performance, Memory Technology and

Optimization, Cache Coherence and Synchronization Mechanisms.

THREAD AND PROCESS LEVEL PARALLEL ARCHITECTURE: Introduction to MIMD Architecture, Multithreaded

Architectures, Distributed Memory MIMD Architectures, Shared Memory MIMD Architecture, Clustering, Instruction

III

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.

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,

IV

Hyper Quick sort; Solving Linear Systems: Gaussian Elimination, Jacobi Algorithm; Parallel Algorithm Design

Strategies.

Developing Parallel Computing Applications: OpenMP Implementation in C: Execution Model, Memory Model;

Directives: Conditional Compilation, Internal Control Variables, Parallel Construct, Work Sharing Constructs,

V

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