Lec1-Introduction To Parallel - Distributed System
Lec1-Introduction To Parallel - Distributed System
Lecture 1
Why Parallel Computing?
1
INTRODUCTION
WEEK 01
Course Objectives
Learn how to program parallel processors and
systems
Learn how to think in parallel and write correct parallel
programs
Achieve performance and scalability through
understanding of architecture and software mapping
Significant hands-on programming experience
Develop real applications on real hardware
Discuss the current parallel computing context
What are the drivers that make this course timely
Contemporary programming models and architectures, and
where is the field going
3
Why is this Course Important?
Multi-core and many-core era is here to stay
Why? Technology Trends
Learn how to put all these vast machine resources to the best
use!
Useful for
Joining the industry
Graduate school
Our focus
Teach core concepts
4
Roadmap
Why we need ever-increasing performance.
Why we’re building parallel systems.
Why we need to write parallel programs.
What we’ll be doing.
Concurrent, parallel, distributed!
5
Parallel and Distributed
Computing
Parallel computing (processing):
the use of two or more processors (computers), usually
Parallel programming:
the human process of developing programs that express what
6
Parallel Computing
To be run using multiple CPUs
◦A problem is broken into discrete parts that can be solved
concurrently
◦Each part is further broken down to a series of
instructions
Page 7
Parallel Computing Example
Page 8
Compute Resources
The compute resources can include:
◦A single computer with multiple processors/cores
◦An arbitrary number of computers connected by
a network
◦A combination of both
Page 10
Why we need ever-increasing
performance
Computational power is increasing, but so are our
computation problems and needs.
Problems we never dreamed of have been
solved because of past increases, such as
decoding the human genome.
More complex problems are still waiting to be
solved.
10
Climate modeling
National Oceanic and Atmospheric Administration
(NOAA) has more than 20PB of data and processes
80TB/day
11
Climate modeling
One
Another processor
processor computes
computes this part
this part in
parallel
12
Data analysis
CERN’s Large Hadron Collider (LHC) produces about 15PB per year
High-energy physics workflows involve a range of both data-intensive and
compute-intensive activities.
The collision data from the detectors on the LHC needs to be filtered to select a
few thousand interesting collisions from as many as one billion that may take
place each second.
The WLCG produces a massive sample of billions of simulated beam crossings,
trying to predict the response of the detector and compare it to known physics
processes and potential new physics signals.
13
Drug discovery
Computational drug discovery and design (CDDD) based on HPC is a
combination of pharmaceutical chemistry, computational chemistry, and
biology using supercomputers, and has become a critical technology in
drug research and development.
14
Why Parallel Computing?
The Real World is Massively Parallel:
◦Parallel computing attempts to emulate the natural world
◦Many complex, interrelated events happening at the same time, yet within a
sequence.
Page 12
Why Parallel Computing?
Page 13
Why Parallel Computing?
To solve larger, more complex Problems:
numerical simulations of complex systems and
"Grand Challenge Problems" such as:
Page 16
Why Parallel Computing?
◦ To save time
◦ To solve larger problems
◦ To provide concurrency
Page 17
Why Parallel Computing?
Page 18
Who and What?
Top500.org provides statistics on parallel computing
users.
The Future?
During the past 20 years, the trends indicated by ever faster
networks, distributed systems, and multi-processor
architectures clearly show that parallelism is the future of
computing.
In this same time period, there has been a greater than
500,000x increase in supercomputer performance, with no
end currently in sight.
The race is already on for Exascale Computing!
Exaflop = 1018 calculations per second
Page 21
Towards parallel hardware
23
Why we’re building parallel
systems
Up to now, performance increases have been
attributable to increasing density of transistors.
24
A little physics lesson
Smaller transistors = faster processors.
Faster processors = increased power
consumption.
Increased power consumption =
increased heat.
Increased heat = unreliable processors.
25
Evolution of processors in the
last 50 years
Evolution of processors in the last 50 years
26
How small is 5nm?
https://www.tsmc.com/english/dedicatedFoundry/technology/logic/l_5nm
27
An intelligent solution
Instead of designing and building faster
microprocessors, put multiple processors on a
single integrated circuit.
Move away from single-core systems to
multicore processors.
Introducing parallelism!!!
28
Thank You