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
- 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
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.
- Peter S. Pacheco, ―An Introduction to Parallel Programming, Morgan-Kauffman/Elsevier, 2011.
- Darryl Gove, ―Multicore Application Programming for Windows, Linux, and Oracle Solaris, Pearson, 2011 (unit 2)
- Michael J Quinn, ―Parallel programming in C with MPI and OpenMP, Tata McGraw Hill,2003.
- Victor Alessandrini, Shared Memory Application Programming, 1st Edition, Concepts and Strategies in Multicore Application Programming, Morgan Kaufmann, 2015.
- Yan Solihin, Fundamentals of Parallel Multicore Architecture, CRC Press, 2015.