CS8083 MULTI-CORE ARCHITECTURES AND PROGRAMMING L T P 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 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.
Do You want International Scholarship?
To Know more about the scholarship : Click Here