下面正式引入並行演算法中的一些概念:
對比fig1
和fig2
,fig2中的time step數就是在最大並行度下的span
的值
work law
. cost至少是work:ptp
≥t
1pt_p \ge t_1
ptp≥t
1span law
. 有限的p
pp個處理器不可能勝過無限個處理器,即tp≥
t∞
t_p \ge t_∞
tp≥t∞
由此,ifif
ifp
>t1
t∞
p > \frac
p>t∞
t1
我們可以得到speedup的上界⇒
\rightarrow
⇒ ∵tp≥
t∞∴t
1tp≤
t1t∞
<
p\because t_p \ge t_∞ \therefore \frac \leq \frac∵t
p≥t
∞∴t
pt1
≤t
∞t1
brent's law
.
記n
kn_k
nk為每個time step的primitive operations,其中k=1
,2...
nk=1,2...n
k=1,2.
..n tp≤
t1−t
np+t
n(其中
p≤
maxkn
k)
t_p \leq \frac+t_n(其中p\leq \max_kn_k)
tp≤pt
1−t
n+
tn(
其中p≤
maxkn
k) 推論:tp≤
t1p+
tn
t_p \leq \frac+t_n
tp≤pt
1+
tn (tp
≤wp+
s)
(t_p \leq \frac+s)
(tp≤p
w+s
) 證明:
注意到兩點,由1,2即可得證
1. tp≤
∑k=1
n⌈nk
p⌉
t_p \leq \sum_^n\left \lceil \frac \right \rceil
tp≤∑k
=1n
⌈pnk
⌉2. 對∀k,
m∈z+
⌈km⌉
≤k+m
−1
m\forall k,m \in z^+\left \lceil \frac \right \rceil \leq \frac
∀k,m∈z
+⌈mk
⌉≤m
k+m−
1amdahl』s law
gustafson』s law
參考文獻:analysis of parallel algorithms 維基百科[1]
並行演算法 並行演算法的初步認識
今年的課程中增加了,並行演算法的課程,我一看,一門課程都掛上 演算法 了,肯定厲害呀。這我可要認真學習它。我把我自己的見解和大家分享一下,要是有錯誤的地方一定要指出啊。這是我畫的乙個思維導圖,好像是什麼也看不出來。咱們按照順序乙個乙個的介紹哈。我不知道大家是什麼情況,我是從小學開始,學什麼都是從定理...
並行演算法筆記(三) 並行演算法設計(二)
case1 並行歸併排序 對n個元素a 1 n 排序,則將a均勻分為p組,其中p為處理器個數,按如下過程排序 case2 歸併演算法 valiant歸併 對長度為p,q的有序陣列a和b歸併,則將a均勻分為p sqrt p 組,每組有p sqrt p 個元素,將b劃分為q sqrt q 組,每組q s...
並行演算法設計
求和例子總結 資料並行 其他任務劃分方法 假定已有求解問題的序列演算法,我們將 其改為並行版本 並行演算法與體系結構緊密相關 設計乙個並行演算法 計算任務的分解 如何將平行計算工作分解,交由眾多程序 執行緒併發執行 保持依賴關係 計算結果與序列演算法保持一致 額外開銷 有多種型別的開銷,要盡量降低 ...