CS416 - Parallel and Distributed Computing: Lecture # 01
CS416 - Parallel and Distributed Computing: Lecture # 01
and Distributed
Computing
Lecture # 01
Spring 2021
FAST – NUCES, Faisalabad Campus
Agenda
2
Motivating Parallelism
Computing vs Systems
Moore’s Law
Proposed by Gorden E. Moore in 1965 and revised in
1975.
Moore’s Law
More computational power implicitly means more
transistors.
Then why need second interpretation?
Let’s have a look on empirical data from 1970 to 2009
In 1970’s (i.e., from 1970 to 1979), processor speeds ranged from
740 KHz to 8 Mhz. Difference shows that both the interpretations
are correct.
From 2000 to 2009, Speeds ranged from 1.3 GHz to 2.8 GHz.
Relative speed difference is too low but, number of integrated
transistors ranged from 37.5 million to 904 million.
So, second interpretation is more accurate.
Moore’s Law
Why doubling the transistors does not doubles the
speed?
Increase in number of transistor per processor is due to multi-core
CPU’s.
It means, to follow Moore’s law, companies had to:
Introduce ULSI( ultra large-scale integrations)
And multi-core processing era.
Will Moore’s law hold forever?
Adding multiple cores on single chip causes heat issues.
Furthermore, increasing the number of cores, may not be able to
increase speeds [Due to inter-process interactions].
Moreover, transistors would eventually reach the limits of
miniaturization at atomic levels
CS416 - Spring 2021
Motivating Parallelism
8
Moore’s Law
So, we must look for efficient parallel [multi-core]
software solutions to fulfill our future computational
needs.
Solution[s]?
Need to find more scalable distributed and hybrid solutions
Distributed Systems
A collection of autonomous computers, connected
through a network and distribution middleware.
This enables computers to coordinate their activities, and to share
the resources of the system.
The system is usually perceived as a single integrated computing
facility.
Mostly concerned with the hardware-based accelerations
Distributed Computing
A specific use of distributed systems to split a large and
complex processing into subparts, and then execute the
parts in parallel to increase the productivity.
Computing mainly concerned with software-based accelerations
(i.e., designing and implementing parallel algorithms)
Distributed Computing
This type of computing is mainly concerned with
developing algorithms for the distributed cluster systems.
Here distributed means a geographical distance
between the computers without any shared-Memory.
Scientific Applications
Bioinformatics
DNA sequence alignment (fine-grained, Coarse-grained, and
hybrid solutions)
Applications in astrophysics have explored the evolution
of galaxies, thermonuclear processes, and applications in
the analysis of extremely large datasets from telescope.
Advances in computational physics and chemistry have
explored new materials, understanding of chemical
pathways, and more efficient processes
e.g., Large Hydron Collider (LHC) at European Organization for
Nuclear Research (CERN) generates petabytes of data for a
single collision.
CS416 - Spring 2021
Practical Applications of P&D Computing
14
Scientific Applications
Commercial Applications
Some of the largest parallel computers power the wall
street.
Other Applications
Network intrusion detection: A large amount of data
needs to be analyzed and processed
Graphics processing