Parallel Computing

Models (Interaction/Problem Decomposition)

Process Interaction Problem Decomposition

Models (Flynn's Taxonomy)

Analyzing Parallel Algorithms

P1,...,PN processors, N = number of processors n = size of input Running time: t(n)=number of steps (parallel or sequential) from start to completion of algorithm speedup = O(t_sequential(n))/O(t_parallel(n)) speedup = 1 means no advantage behind parallel algorithm speedup = N means optimal advantage taken of each processor would like speedup = N, this means that adding N processors resulted in N times faster computation speedup > N possible!! Why? cost = parallel running time * number of processors used kind of like the amount of work done. work = distance * force cost = time * processors Think of this as how much computational effort was involved in the algorithm. want cost to be same as cost of sequential algorithm efficiency = running time of fastest sequential algorithm/cost of parallel

Models NC

Example

Problem: Array a of n integers. determine if x is in a.