並行算法基礎()

  • DAG圖

DAG圖(有向無環圖)是並行算法的基礎,爲得是能夠得到工作的拓撲序列以便並行執行

  • Work and Span

Work complexity與Span complexity指的是複雜度,Work相當於一個並行算法所對應的DAG圖上的頂點總數,相當於穿行算法下的時間複雜度,Span相當於DAG圖上的最長路,是使用並行算法所需要的耗費的最優時間(這個還需要考慮CPU數等硬件設備)

  • 並行算法時間分析

最小值max(\frac{W(n)}{P(n)}, P\left ( n \right )), 最大值\frac{W(n)-P(n)}{p}+P(n),其中p指的是線程數,W(n)是work,P(n)是Span

  • Speedup work-optimality weak-scalability

這些講的是一個優秀的並行算法的標準

speedup = \frac{best sequential time}{parallel time},爲了使speedup是關於p的一個線性函數,需要work-optimality與weak-scalability

work-optimality:串行與並行算法的work complexity需要儘量相匹配,最好兩者的比值是常數級

weak-scalability:每個線程的工作量需要隨着n增大而增大,且應儘量是平均的,且W/P最好是關於n的增函數

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章