LECTURE 1 - Intro to Parallel Computing
LECTURE 1 - Intro to Parallel Computing
Parallel Processing
Lecture 1: Introduction to Parallel Computing
Computing? COMPUTING
Computing? COMPUTING IS
COMPLEX ON ANY
ASPECT!
•the speed of a serial computer is directly dependent upon how fast data can move through hardware.
Transmission speeds Absolute limits are the speed of light (30 cm/nanosecond) and the transmission limit of copper wire (9
cm/nanosecond). Increasing speeds necessitate increasing proximity of processing elements.
Limits to miniaturization •processor technology is allowing an increasing number of transistors to be placed on a chip. However, even
with molecular or atomic-level components, a limit will be reached on how small components can be.
Economic limitations •it is increasingly expensive to make a single processor faster. Using a larger number of moderately fast
commodity processors to achieve the same (or better) performance is less expensive.
Shared Memory
• From a strictly hardware point of view, describes a computer
architecture where all processors have direct (usually bus based) access
Parallel
to common physical memory. In a programming sense, it describes a
model where parallel tasks all have the same "picture" of memory and
can directly address and access the same logical memory locations
Computing
regardless of where the physical memory actually exists.
Terminology
Distributed Memory
• In hardware, refers to network based memory access for physical
memory that is not common. As a programming model, tasks can only
logically "see" local machine memory and must use communications to
access memory on other machines where other tasks are executing.
Parallel
Computing
• The coordination of parallel tasks in real time, very often
associated with communications. Often implemented by
establishing a synchronization point within an application
Terminology
where a task may not proceed further until another task(s)
Synchronization reaches the same or logically equivalent point.
• Synchronization usually involves waiting by at least one task,
and can therefore cause a parallel application's wall clock
execution time to increase.
NEXT! PARALLEL
PLATFORMS
(PART 1)