Introduction: Paradigms of parallel computing: Synchronous - vector/array, SIMD, Systolic; Asynchronous - MIMD, reduction paradigm.
Hardware taxonomy: Flynn's classifications, Handler's classifications.
Software taxonomy: Kung's taxonomy, SPMD.
Abstract parallel computational models: Combinational circuits, Sorting network, PRAM models, Interconnection RAMs. Parallelism approaches - data parallelism, control parallelism
Performance Metrices: Laws governing performance measurements. Metrices - speedups, efficiency, utilization, communication overheads, single/multiple program performances, bench marks.
Parallel Processors: Taxonomy and topology - shared memory mutliprocessors, distributed memory networks. Processor organization - Static and dynamic interconnections. Embeddings and simulations.
Parallel Programming: Shared memory programming, distributed memory programming, object oriented programming, data parallel programming, functional and dataflow programming.
Scheduling and Parallelization: Scheduling parallel programs. Loop scheduling. Parallelization of sequential programs. Parallel programming support environments.
M. J. Quinn.Parallel Computing: Theory and Practice, McGraw Hill, New York, 1994.
T. G. Lewis and H. El-Rewini.Introduction to Parallel Computing, Prentice Hall, New Jersey, 1992.
T. G. Lewis.Parallel Programming: A Machine-Independent Approach, IEEE Computer Society Press, Los Alamitos, 1994.