Introduction To Parallel Processing
Introduction To Parallel Processing
TECH
Computer Science
CH03
process states
ready to run
running
wait
Process spawning
(independent processes)
Single-thread process or
multi-thread
(dependent)
Figure 3.5 Thread
tree
Process
Threads
T0
FORK
T1
T1 T2 T0 . . . Tn
COBEGIN
...
FORK
JOIN
COEND
JOIN
(a)
(b)
Non pre-emptive
Pre-emptive
Time-shared
Priotized
Priority
Sever
Client
Client
Sever
Client
Sever
Parallel execution
N-client N-server model
Synchronous or Asynchronous
Client
Sever
N_client
1-server
mode
-
1_client N_client
N-server N-server
model
model
-
concurrent
Data-parallel
Parallel
data
arises from data structures
Available levels
Utilized levels
User level
2
Procedure level
Loop level
Instruction level
Process level
Thread level
Instruction level
1.Exploited by architectures
2.Exploited by means of operating systems
compilers
parallel optimizing compiler
operating system
multitasking
Parallel architectures //
Data-parallel architectures
Parallel
architectures
PAs
Function-parallel architectures
Instruction-level
Thread-level
PAs
PAs
Process-level
PAs
DPs
ILPS
MIMDs
Part III
Part II
Part IV
more computers
use MIMD
Data-parallel languages
DAP Fortran
C = A + B
use SIMD
Synchronization mechanisms
Test_and_set
Send/receive
message
Semaphore
Broadcast
Shift
Net_send
net_receive
(processor form)
Conditional
Critical region
Monitor
Remote procedure calls
Rendezvous
P(S)
Critical
region
V(S)
Semaphore
Shared
data
structure
P2
P(S)
Critical
region
V(S)
COBRA ?
Windows NT ?