VE4004 Multicore Architecture Programming Syllabus:
VE4004 Multicore Architecture Programming Syllabus – Anna University PG Syllabus Regulation 2021
OBJECTIVES:
Understand the challenges in parallel and multi-threaded programming.
Learn about the various parallel programming paradigms, and solutions.
UNIT I MULTI-CORE PROCESSORS
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
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
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
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
Case Studies – N-Body Solvers – Tree Search – Openmp and MPI Implementations and Comparison
TOTAL:45 PERIODS
COURSE OUTCOMES:
At the end of the course, the student should be able to:
CO1:Illustrate the challenges in parallel and multi threaded programming
CO2:Explain the various parallel programming paradigms and solutions.
CO3:Develop shared memory programs using openmp
CO4:Develop distributed memory programs using mpi
CO5:Compare and contrast programming for serial processors and parallel processors.
REFERENCES
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
3. Michael J Quinn, “Parallel Programming In C With MPI And Openmp”, Tata McGraw Hill,2003.