Introduction
⚫collection of programabstractions.
⚫designed for multiprocessors, multicomputer or
vector/SIMD computers
⚫Five models:
✔Shared-Variable Model
✔Message-Passing Model
✔Data-Parallel Model
✔Object-oriented Model
✔Functional and Logic Models
3.
Shared-Variable Model
✔ Tolimit the scope and rights, the process
address space may be shared or restricted.
Mechanisms for IPC:
1. IPC using shared variable:
2. IPC using message passing:
Shared
Variables in a
common
memory
Process A
Process B
Process C
Process D Process E
4.
Following are someissues of Shared-variable Model:
▪ Shared-Variable communication:
▪ Critical Section(CS):
⚫ code segment accessing shared variables.
⚫ Requirements are –
⚫ Mutual exclusion
⚫ No deadlock in waiting
⚫ Non preemption
⚫ Eventual entry
▪ Protected Access: based on CS value
⚫ Multiprogramming
⚫ Multiprocessing – two types:
⚫ MIMD mode
⚫ MPMD mode
⚫ Multitasking
⚫ Multithreading
5.
▪Partitioning and Replication:
▪Program partitioning is a technique for decomposing a
large program and data set into many small pieces for
parallel execution by multiple processors.
▪ Program replication is referred to duplication of the
same program code for parallel execution on multiple
processor over different data sets.
▪Scheduling and Synchronization:
▪ Scheduling of divided program modules on parallel
processor
▪ Two types are :
▪Static scheduling
▪Dynamic scheduling
▪Cache Coherence and Protection:
If the value is returned on a read instruction is always the
value written by the latest write instruction on the same
memory location is called coherent.
6.
Message-Passing Model
⚫Synchronous MessagePassing –
⚫ It is must synchronize the sender process and the
receiver process in time and space
⚫Asynchronous Message Passing –
⚫It does not require message sending and receiving
be synchronized in time and space
⚫Non blocking can be achieved
⚫Distributing the computations:
⚫Subprogram level is handled rather than at the
instructional or fine grain process level in a tightly
coupled multiprocessor
7.
Data-Parallel Model
⚫It iseasier to write and to debug because
parallelism is explicitly handled by hardware
synchronization and flow control.
⚫It requires the use of pre-distributed data sets
⚫Synchronization is done at compile time rather
than run time.
⚫the following are some issued handled
⚫Data Parallelism-
⚫Array Language Extensions
⚫Compiler support
8.
Object-Oriented Model
⚫Concurrent OOP– 3 application demands
⚫There is increased use of interacting processes by
individual users
⚫Workstation networks have become a cost-effective
mechanism
⚫Multiprocessor technology in several variants has
advanced to the point of providing supercomputing
power
⚫An actor model
⚫It is presented as one framework for COOP
⚫They are self-contained , interactive, independent
components of a computing system.
⚫Basic primitives are :create to , send to, become
⚫Parallelism in COOP:
⚫3 patterns- 1. pipeline concurrency 2.divide and
conquer currency 3.cooperative problem solving
9.
Functional and LogicModels
⚫Two types of language oriented programming
models are
⚫Functional programming model
⚫It emphasizes functionality of a program
⚫No concepts of storage, assignment and branching
⚫All single-assignment and dataflow languages are
functional in nature
⚫Some e.g. are Lisp, SISAL and strand 88
⚫Logic programming model
⚫Based on logic ,logic programming tat suitable for
dealing with large database.
⚫Some e.g. are
⚫ concurrent Prolog -
⚫Concurrent Parlog