Parallel programming:
=utilizes concurrency to achieve high performance
computing
=today becoming mainstream paradigm in regular
day-to-day information processing.
---energized by widespread availability of
multi-core multiprocessor and cost-effective server clusters
=fast becoming an essential developer skill as
knowing the basic concepts helps in a better comprehension of the complexity
·
Parallel program:
=are built by combining sequential programs
---allow independent sequential programs to run
in parallel & produce partial, results that then are merged into final
solution via patterns.
..figure of parallel computer-shared memory and distributed memory
models
Designing parallel program:
To understand
better the design, a model at a higher level than the shared-memory model or
the distributed-memory model are used.
·
This is the task/channel model.
·
A task is a program, its local memory, and a
collection of I/O ports in which is represented by a process in an operating
system (threads are contained in processes).
·
The local memory
contains the program instruction and data.
·
A task can send
local data values to other tasks via output ports & receive data values
from them via input ports.
·
A channel ==
message queue that connects the output of one task to the input port of
another.
·
Data values
appear at the input port in the same order in which they are placed in the
output port at the other end of the channel.
…figure of conceptual view of task/channel model.
Wong Poh Ling
B031210033
Wong Poh Ling
B031210033
0 comments:
Post a Comment