CS2021 MULTICORE PROGRAMMING L T P C
3 0 0 3

UNIT I INTRODUCTION TO MULTIPROCESSORS AND SCALABILITY

ISSUES 9

Scalable design principles – Principles of processor design – Instruction Level

Parallelism, Thread level parallelism. Parallel computer models –- Symmetric and

distributed shared memory architectures – Performance Issues – Multi-core

Architectures - Software and hardware multithreading – SMT and CMP architectures –

Design issues – Case studies – Intel Multi-core architecture – SUN CMP architecture.

UNIT II PARALLEL PROGRAMMING 9

Fundamental concepts – Designing for threads – scheduling - Threading and parallel

programming constructs – Synchronization – Critical sections – Deadlock. Threading

APIs.

29

UNIT III OPENMP PROGRAMMING 9

OpenMP – Threading a loop – Thread overheads – Performance issues – Library

functions. Solutions to parallel programming problems – Data races, deadlocks and

livelocks – Non-blocking algorithms – Memory and cache related issues.

UNIT IV MPI PROGRAMMING 9

MPI Model – collective communication – data decomposition – communicators and

topologies – point-to-point communication – MPI Library.

UNIT V MULTITHREADED APPLICATION DEVELOPMENT 9

Algorithms, program development and performance tuning.

TOTAL: 45 PERIODS

TEXT BOOKS:

1. Shameem Akhter and Jason Roberts, “Multi-core Programming”, Intel Press, 2006.

2. Michael J Quinn, Parallel programming in C with MPI and OpenMP, Tata Mc graw

Hill, 2003.

REFERENCES:

1. John L. Hennessey and David A. Patterson, “ Computer architecture – A quantitative

approach”, Morgan Kaufmann/Elsevier Publishers, 4th. edition, 2007.

2. David E. Culler, Jaswinder Pal Singh, “Parallel computing architecture : A hardware/

software approach” , Morgan Kaufmann/Elsevier Publishers, 1999.