0% found this document useful (0 votes)
33 views

IT801-N Distributed and Parallel Computing

This document outlines a proposed course on Distributed and Parallel Computing for 4th year Bachelor of Engineering (IT) students. The course would introduce concepts like message passing, partitioning, load balancing, and shared memory programming. It would have 3 hours of lectures and 2 hours of labs per week for a total of 5 credits. Students would learn parallel programming using MPI, Pthreads, and OpenMP and evaluate parallel algorithms. The course aims to help students understand parallel and distributed systems and write portable parallel programs.

Uploaded by

cixiv89132
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views

IT801-N Distributed and Parallel Computing

This document outlines a proposed course on Distributed and Parallel Computing for 4th year Bachelor of Engineering (IT) students. The course would introduce concepts like message passing, partitioning, load balancing, and shared memory programming. It would have 3 hours of lectures and 2 hours of labs per week for a total of 5 credits. Students would learn parallel programming using MPI, Pthreads, and OpenMP and evaluate parallel algorithms. The course aims to help students understand parallel and distributed systems and write portable parallel programs.

Uploaded by

cixiv89132
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Kadi Sarva Vishwavidyalaya

Faculty of Engineering & Technology


Fourth Year Bachelor of Engineering (IT)
(To be Proposed For: Academic Year 2020‐21)

Subject Code: IT801‐N Subject Title: Distributed and Parallel Computing


Pre‐requisite C, C++, Java Programming, Computer Organization

Teaching Scheme (Credits and Hours)

Teaching scheme Evaluation Scheme


Total Mid Sem
L T P Total Theory CIA Pract. Total
Credit Exam
Hrs Hrs Hrs Hrs Hrs Marks Marks Marks Marks Marks
03 00 02 05 04 03 70 30 20 30 150

Course Objective:

 To learn the advanced concepts of Parallel and Distributed Computing and its implementation
for assessment of understanding the course by the students.
 Understand the distributed and parallel computing systems.
 Familiar with parallel and distributed languages MPI, Pthread, and OpenMP
 Design parallel and distributed algorithms using these parallel languages

Outline of the Course:

Sr. Title of the Unit Minimum


No Hours
1 Introduction 3
2 Message Passing Computing 5
3 Partitioning and Divide‐and‐Conquer Strategies 5
4 Pipelined Computations 7
5 Synchronous Computations 8
6 Load Balancing and Termination Detection 6
7 Programming with Shared Memory 7
8 Distributed Shared Memory Systems and Programming 7

Total hours (Theory): 48


Total hours (Lab): 32
Total hours: 80
Kadi Sarva Vishwavidyalaya
Faculty of Engineering & Technology
Fourth Year Bachelor of Engineering (IT)
(To be Proposed For: Academic Year 2020‐21)

Detailed Syllabus

Sr. Topic Lecture Weightage


No Hours (%)
1 Introduction: The Demand for Computational Speed,
3 6
Types of Parallel Computers, Cluster Computing
2 Message Passing Computing: Basics of Message‐Passing
Programming, Using a Cluster of Computers, Debugging and 5 10
Evaluating Parallel Programs Empirically
3 Partitioning and Divide‐and‐Conquer Strategies: Partitioning,
5 10
Partitioning and Divide‐and‐Conquer Examples
4 Pipelined Computations: Pipeline Technique, Computing
Platform for Pipelined Applications, Pipeline Program Examples 7 15

5 Synchronous Computations: Synchronization, Synchronized


Computations, Synchronous Iteration Program Examples, Partially 8 17
Synchronous Methods
6 Load Balancing and Termination Detection: Load Balancing,
Dynamic Load Balancing, Distributed Termination Detection 6 12
Algorithms, Program Example
7 Programming with Shared Memory: Shared Memory
Multiprocessors, Sharing Data, Parallel Programming Languages 7 15
and Constructs, OpenMP, Performance Issues

8 Distributed Shared Memory Systems and Programming:


Distributed Shared Memory, Implementing Distributed Shared
Memory, Distributed Shared Memory Programming Primitives 7 15

Total 48 100

Instructional Method and Pedagogy:

 At the start of course, the course delivery pattern, prerequisite of the subject will be discussed.
 Lectures will be conducted with the aid of multi‐media projector, black board, OHP etc.
 Attendance is compulsory in lecture and laboratory which carries 10 marks in overall evaluation.
 One internal exam will be conducted as a part of internal theory evaluation.
 Assignments based on the course content will be given to the students for each unit and will be
evaluated at regular interval evaluation.
 Surprise tests/Quizzes/Seminar/tutorial will be conducted having a share of five marks in the overall
internal evaluation.
Kadi Sarva Vishwavidyalaya
Faculty of Engineering & Technology
Fourth Year Bachelor of Engineering (IT)
(To be Proposed For: Academic Year 2020‐21)

 The course includes a laboratory, where students have an opportunity to build an appreciation for the
concepts being taught in lectures.
Learning Outcome:

On successful completion of this course, the student should be able to:


 After the completion of this course student will be able to understand various parallel platforms and
algorithms.
 Students will learn about parallel and distributed computers. They will be able to write portable
programs for parallel or distributed architectures using Message‐Passing Interface (MPI) library.
 Students will learn about load balancing and shared memory.

E‐Resources:

 https://nptel.ac.in/courses/106/106/106106107/
 Introduction to Parallel Computing from Livermore Computing
 Links to Parallel and Network Programming Resources MPI, OpenMP, posix threads, socket
programming, CUDA...
 Some Cluster and Distributed Systems Papers
 IEEE Distributed Systems Online
 The Top 500 Supercomputers
 ParaScope IEEE Listing of Parallel Computing Sites
 HPC Wire

Text Books:

 Parallel Programming ‐ Techniques and applications Using Networked Workstations and Parallel
Computers (2nd Edition), Barry Wilkinson and Michael Allen, Prentice Hall, 2001.

References:

 Documentation (MPI, Pthread, OpenMP).


 Parallel Programming in C with MPI and OpenMP, Michael J. Quinn, McGraw Hill 2003.
 Designing and Building Parallel Programs, Ian Foster, Addison Wesley, 1995.
Kadi Sarva Vishwavidyalaya
Faculty of Engineering & Technology
Fourth Year Bachelor of Engineering (IT)
(To be Proposed For: Academic Year 2020‐21)

List of experiments

No Name of Experiment

1 Parallel Odd‐Even Transposition Sort

2 Mandelbrot Set Computation


3 N‐Body Simulation
4 Heat Distribution Simulation
5 Sample MPI program in C
6 Implement simple cluster using master and slave node
7 Divide and conquer parallel computing program using C
8 Implement sample program for load balancing
9 OpenMP concepts implementation
10 Implement distributed shared memory

You might also like