BLOGGER TEMPLATES AND TWITTER BACKGROUNDS »

Saturday, 15 December 2012

DESIGNING PARALLEL PROGRAMS (1)


  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

0 comments: