CS8083 MULTI-CORE ARCHITECTURES AND PROGRAMMING Anna University Syllabus Regulation 17

CS8083   MULTI-CORE ARCHITECTURES AND PROGRAMMING  Anna University Syllabus Regulation 17


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.

Do You want International Scholarship? To Know more about the scholarship : Click Here

Are you a fresher and looking for Job? To know more about the Job Openings: Click Here

Click to Download Other ECE Materials: CLICK HERE

Click to Download Other CSE Materials: CLICK HERE

Click to Download MECH Materials: CLICK HERE

Other Syllabus