Chapter1 - CLO1
Chapter1 - CLO1
Introduction
Chapter Overview: Introduction
• Serial Computing:
Traditionally, software has been written for serial computation:
– A problem is broken into a discrete series of instructions
– Instructions are executed sequentially one after another
– Executed on a single processor
– Only one instruction may execute at any moment in time
What is Parallel Computing?
• exmple
What is Parallel Computing?
• Parallel Computing:
In the simplest sense, parallel computing is the simultaneous use of
multiple compute resources to solve a computational problem:
– A problem is broken into discrete parts that can be solved concurrently
– Each part is further broken down to a series of instructions
– Instructions from each part execute simultaneously on different
processors
– An overall control/coordination mechanism is employed
What is Parallel Computing?
What is Parallel Computing?
What is Parallel Computing?
• Parallel Computers:
Virtually all stand-alone computers today are parallel from a hardware
perspective:
– Multiple functional units (L1 cache, L2 cache, branch, prefetch, decode,
floating-point, graphics processing (GPU), integer, etc.)
– Multiple execution units/cores
– Multiple hardware threads
• IBM BG/Q Compute Chip with 18 cores (PU) and 16 L2 Cache units
(L2
What is Parallel Computing?
• Main Reasons:
• PROVIDE CONCURRENCY:
– A single compute resource can only do one thing at a time. Multiple
compute resources can do many things simultaneously.
– Example: Collaborative Networks provide a global venue where people
from around the world can meet and conduct work "virtually".
Why Use Parallel Computing?
• The Future:
– During the past 20+ years, the trends indicated by ever faster networks,
distributed systems, and multi-processor computer architectures (even
at the desktop level) 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
Who is Using Parallel Computing?
• Global Applications:
– Parallel computing is now being used extensively around the world, in a
wide variety of applications.