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.