CS8083- MULTI-CORE ARCHITECTURES AND PROGRAMMING Syllabus 2017 Regulation

0
302

CS8083- MULTI-CORE ARCHITECTURES AND PROGRAMMING Syllabus 2017 Regulation

MULTI-CORE ARCHITECTURES AND PROGRAMMING Syllabus 2017 Regulation,CS8083- MULTI-CORE ARCHITECTURES AND PROGRAMMING Syllabus 2017 Regulation

CS8083                MULTI-CORE ARCHITECTURES AND PROGRAMMING          L T P C                                                                                                                             3 0 0 3

OBJECTIVES:

  • To understand the need for multi-core processors, and their architecture.
  • To understand the challenges in parallel and multi-threaded programming.
  • To learn about the various parallel programming paradigms,
  • To develop multicore programs and design parallel solutions.

UNIT I MULTI-CORE PROCESSORS                              9

Single core to Multi-core architectures – SIMD and MIMD systems – Interconnection networks – Symmetric and Distributed Shared Memory Architectures – Cache coherence – Performance Issues – Parallel program design.

UNIT II PARALLEL PROGRAM CHALLENGES             9

Performance – Scalability – Synchronization and data sharing – Data races – Synchronization primitives (mutexes, locks, semaphores, barriers) – deadlocks and livelocks – communication between threads (condition variables, signals, message queues and pipes).

UNIT III SHARED MEMORY PROGRAMMING WITH OpenMP                                                                            9

OpenMP Execution Model – Memory Model – OpenMP Directives – Work-sharing Constructs – Library functions – Handling Data and Functional Parallelism – Handling Loops – Performance Considerations.

UNIT IV DISTRIBUTED MEMORY PROGRAMMING WITH MPI                                                                          9

MPI program execution – MPI constructs – libraries – MPI send and receive – Point-to-point and Collective communication – MPI derived datatypes – Performance evaluation

UNIT V PARALLEL PROGRAM DEVELOPMENT          9

Case studies – n-Body solvers – Tree Search – OpenMP and MPI implementations and comparison.

                                                                                                      TOTAL: 45 PERIODS

OUTCOMES:

At the end of the course, the students should be able to:

  • Describe multicore architectures and identify their characteristics and challenges.
  • Identify the issues in programming Parallel Processors.
  • Write programs using OpenMP and MPI.
  • Design parallel programming solutions to common problems.
  • Compare and contrast programming for serial processors and programming for parallel processors.

TEXT BOOKS:

  1. Peter S. Pacheco, ―An Introduction to Parallel Programming, Morgan-Kauffman/Elsevier, 2011.
  2. Darryl Gove, ―Multicore Application Programming for Windows, Linux, and Oracle Solaris, Pearson, 2011 (unit 2)

REFERENCES:

  1. Michael J Quinn, ―Parallel programming in C with MPI and OpenMP, Tata McGraw Hill,2003.
  2. Victor Alessandrini, Shared Memory Application Programming, 1st Edition, Concepts and Strategies in Multicore Application Programming, Morgan Kaufmann, 2015.
  3. Yan Solihin, Fundamentals of Parallel Multicore Architecture, CRC Press, 2015.

LEAVE A REPLY

Please enter your comment!
Please enter your name here