PDC CS428(for Website)
PDC CS428(for Website)
CS-428
Parallel and Distributed Computing
Name : _____________________________
Year : _____________________________
Batch : _____________________________
Roll No : _____________________________
Department: _____________________________
Prepared by:
Hameeza Ahmed
Revised in:
September 2019
The Course Profile of CS-428 Parallel and Distributed Computing lays down the following
Course Learning Outcome:
“Examine existing techniques for parallel & distributed computing (C3, PLO-2)”
“Analyze parallel and distributed computing solutions for their pros and cons (C4, PLO-4)”
Lab sessions 1, 2, 3, 7, 8, 9, 11, 12, 13, and 14 of this workbook have been designed to assist
the achievement of the CLO-1. While lab sessions 4, 5, 6, and 10 have been designed for CLO-
2. A rubric to evaluate student performance has been provided at the end of the workbook.
Part one of this lab manual is based on shared memory programming. It deals with the
programming of both the SIMD and multicore systems respectively. The shared memory
programming is done by using openmp programming model. The first lab gives a basic
introduction to openmp API. Lab session 2, 3 and 4 deals with openmp work sharing constructs
and performance analysis of real world applications. Lab session 5 and 6 enables the
exploitation of vector processing units present in General Purpose Processors (GPPs) by
performing SIMD programming using openmp. Part two of this workbook deals with
distributed programming. Lab session 7 gives an introduction to MPI programming model. It
is followed by lab session 8 which introduces the MPI communication operations. In lab
session 9 MPI collective operations are explored whereas lab session 10 discusses the
programming of real world applications using MPI. Apart from covering MPI for distributed
memory programming, this workbook also covers some other paradigms. Lab session 11 and
12 deal with socket programming in Linux. Java RMI is covered in lab session 13 and
implementation of web service using Restful API is discussed in lab session 14.
CONTENTS
Lab Session No. Title Page No.