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

PDC CS428(for Website)

Uploaded by

usamaansarimgh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

PDC CS428(for Website)

Uploaded by

usamaansarimgh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Practical Workbook

CS-428
Parallel and Distributed Computing

Name : _____________________________
Year : _____________________________
Batch : _____________________________
Roll No : _____________________________
Department: _____________________________

Department of Computer & Information Systems Engineering


NED University of Engineering & Technology
Practical Workbook
CS-428
Parallel and Distributed Computing

Prepared by:

Hameeza Ahmed

Revised in:

September 2019

Department of Computer & Information Systems Engineering


NED University of Engineering & Technology
INTRODUCTION
This workbook has been compiled to assist the conduct of practical classes for CS-428 Parallel
and Distributed Computing. Practical work relevant to this course aims at providing students a
chance to write parallel algorithms and their programming on shared and distributed memory
environments. Parallel and distributed computing is considered to be one of the most exciting
technologies to achieve prominence since the invention of computers. The pervasiveness of
computing devices containing multicore CPUs and GPUs, including home and office PCs,
laptops, and mobile devices, is making even common users dependent on parallel processing.
Certainly, it is no longer sufficient for even basic programmers to acquire only the traditional
sequential programming skills. The preceding trends point to the need for imparting a broad-
based skill set in parallel and distributed computing technology. However, the rapid changes
in computing hardware platforms and devices, languages, supporting programming
environments, and research advances, poses a challenge both for newcomers and seasoned
computer scientists. Programming a parallel and distributed system is not as easy as
programming single processor systems. There are many considerations like details of the
underlying parallel system, processors interconnection, concurrency, transparency,
heterogeneity and selection of appropriate platform which makes the programming of parallel
and distributed systems more difficult.

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.

1 Acquire basic OpenMP (Open Multi-Processor) Principles. 1

2 Explore the OpenMP Loop Construct. 9

3 Explore the OpenMP Sections and Single Construct. 21

4 Analyze the performance of OpenMP real Applications. 27

5 Explore the SIMD Vectorization. 35

6 Explore the advanced features of SIMD Vectorization. 43

7 Acquire basic MPI (Message Passing Interface) Principles. 49

8 Explore the communication between MPI processes. 55

9 Explore the MPI collective operations. 63

10 Analyze the performance of MPI real Applications. 75

11 Explore Socket Programming in Linux Environment. 81

12 Explore the Socket Programming in Linux over the Network. 89

13 Explore the Java Remote Method Invocation (RMI). 95

14 Explore Web Services using Restful API. 105

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy