Professional Documents
Culture Documents
Parallel Processing
Ola Flygt Vxj University http://w3.msi.vxu.se/users/ofl/ Ola.Flygt@msi.vxu.se +46 470 70 86 49
Outline
Basic concepts
Types and levels of parallelism Classification of parallel architecture Basic parallel techniques Relationships between languages and
parallel architecture
CH03
Basic concepts
The concept of program ordered set of instructions (programmers view) executable file (operating systems view)
to process for parallel thread processing, scheduling is performed on a perthread basis finer-grain, less overhead on switching from thread to thread
Threads
START_THREAD
FORK
Pre-emptive Prioritized
Priority
Sever Client
Sever
Parallel execution
N-client N-server model
Synchronous or Asynchronous
Client
Sever
data
arises from data structures
Utilized levels
User level
2
Procedure level Loop level Instruction level Process level Thread level Instruction level
Parallel architectures
Data-parallel architectures Function-parallel architectures
Instruction-level PAs
Thread-level PAs
Process-level PAs
SIMDs
Systolic architecture
Pipelined processors
VLIWs
Superscalar processors
Part III
Part II
Part IV
more computers
invocations of the same loop threads can execute the same code at different speeds synchronize the parallel threads at the end of the loop barrier synchronization
use MIMD
Data-parallel languages
DAP Fortran C = A + B (A, B and C are arrays) use SIMD
Synchronization mechanisms
Test_and_set Send/receive message
Net_send net_receive (processor form)
Semaphore
Broadcast
Shift
Rendezvous
Busy Wait
P(S)
Semaphore
P(S)
Critical region
V(S)