- DAG圖
DAG圖(有向無環圖)是並行算法的基礎,爲得是能夠得到工作的拓撲序列以便並行執行
- Work and Span
Work complexity與Span complexity指的是複雜度,Work相當於一個並行算法所對應的DAG圖上的頂點總數,相當於穿行算法下的時間複雜度,Span相當於DAG圖上的最長路,是使用並行算法所需要的耗費的最優時間(這個還需要考慮CPU數等硬件設備)
- 並行算法時間分析
最小值max(, ), 最大值,其中p指的是線程數,W(n)是work,P(n)是Span
- Speedup work-optimality weak-scalability
這些講的是一個優秀的並行算法的標準
speedup = ,爲了使speedup是關於p的一個線性函數,需要work-optimality與weak-scalability
work-optimality:串行與並行算法的work complexity需要儘量相匹配,最好兩者的比值是常數級
weak-scalability:每個線程的工作量需要隨着n增大而增大,且應儘量是平均的,且W/P最好是關於n的增函數