13MCA542 Parallel Computing syllabus for MCA


Unit-1 Introduction to Parallel Computing 2 hours

Need of Performance, Building Parallel Systems, Why to Write Parallel Programs? How toWrite Parallel Programs? Approach : Concurrent, Parallel, Distributed

Unit-2 Parallel Hardware and Parallel Software 4 hours

Background, Modifications to the von Neumann Model, Parallel Hardware, ParallelSoftware, Input and Output, Performance, Parallel Program Design and Writing andRunning Parallel Programs

Unit-3 Distributed Memory Programming with MPI 12 hours

Getting Started, The Trapezoidal Rule in MPI, Dealing with I/O, CollectiveCommunication, MPI Derived Data types, A Parallel Sorting Algorithm

Unit-4 Shared Memory Programming with Pthreads 12 hours

Processes, Threads and Pthreads, Hello, World program ,Matrix-Vector Multiplication,Critical Sections Busy-Waiting, Mutexes, Producer-Consumer Synchronization andSemaphores, Barriers and Condition Variables, Read-Write Locks, Caches, Cache-Coherence, and False Sharing and Thread-Safety

Unit-5 Shared Memory Programming with OpenMP 18 hours

Introduction to OpenMP, The Trapezoidal Rulem Scope of Variables, The ReductionClause, The Parallel For Directive, More About Loops in OpenMP: Sorting, SchedulingLoops, Producers and Consumers, Caches, Cache-Coherence, and False Sharing andThread-Safety

Unit-6 Parallel Program Development and Parallel Algorithms 6 hours

Two N-Body Solvers, Tree Search and Case Studies

Last Updated: Tuesday, January 24, 2023