CS2021 MULTICORE PROGRAMMING Syllabus



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.


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.



Comments