Lecture 1 - Introduction To Parallel Computing
Lecture 1 - Introduction To Parallel Computing
Task
◦ A logically discrete section of computational work.
A task is typically a program or program-like set of
instructions that is executed by a processor.
Parallel Task
◦ A task that can be executed by multiple processors
safely (yields correct results)
Serial Execution
◦ Execution of a program sequentially, one statement
at a time. In the simplest sense, this is what happens
on a one processor machine. However, virtually all
parallel tasks will have sections of a parallel
program that must be executed serially.
Page 26 Introduction to High Performance Computing
Parallel Execution
◦ Execution of a program by more than one task, with each task being
able to execute the same or different statement at the same moment in
time.
Shared Memory
◦ From a strictly hardware point of view, describes a computer
architecture where all processors have direct (usually bus based) access
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
regardless of where the physical memory actually exists.
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.
Lecture2:
Parallel Platforms
(Part 1)