Computational Model
Random-Access Machine (RAM)
Unit cost for
any instruction on O(log(n))-bit words
Read/write a single memory location from an infinite memory
The cost measure: time complexity
variant: Parallel RAM (PRAM) model
Fork-Join Model
is the main model of parallel execution in the OpenMP framework
In addition to RAM instructions, you can also use
in parallel
andparallel for
instructions.
mergesort(A, lo, hi):
if lo < hi:
mid = ⌊lo + (hi - lo) / 2⌋
fork mergesort(A, lo, mid) // process (potentially) in parallel with main task
mergesort(A, mid, hi) // main task handles second recursion
join
merge(A, lo, mid, hi)
Work-Span Model
For all computations, draw a DAG
A->B means that B can be performed only when A has been finished
Work: the total number of operations
Span (depth): the longest length of chain
Last updated
Was this helpful?