加速比性能定律
Amdahl定律
- 在實時性要求很高的應用類型中,計算負載W固定不變,隨着處理器的數目的增長,計算時間將同時縮短。
- 其中計算負載W包含可並行化部分,即並行份量Wp和串行份量Ws。即W=Wp+Ws。
- 加速比Sp=(最快的串行算法最壞的運行時間)/(並行算法最快的運行時間)。
假設:html
因此加速比Sp爲:算法
- Sp=(Ws+Wp)/(Wp/p+Ws)=(f+(1-f))/(f+(1-f)/p)=p/(1+f(p-1))=1/f(p→∞)
- 當處理機數無限增長時,加速比僅爲1/f
Amdahl幾何意義
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
Gustafson's定理
- 對於大規模科學計算應用程序,爲了提升計算精度就必須增長工做量。相應地爲了確保執行時間不變,就必須增長處理機數量。
- 設f=Ws/W
- 則Sp=(Ws+p*Wp)/(Ws+p*Wp/P)=(Ws+p*Wp)/(Ws+Wp)=f+p*(1-f)=p+f(1-p)=p-f(p-1)
- 加速比Sp與處理機數目p基礎成線性關係
Gustafson's定理的幾何意義
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
Sun and Ni's定理
- 在Amdahl和Gustafson定理中,都是認爲處理機數和存儲容量是不受限制地可增長的,但可能有一些大的求解問題可能要受到存儲容量的限制。這就是要求規劃負載。提供更高的加速比、更高的精度和更好的資源利用率。
- 假定一個負載計算量能夠因爲並行劃分而增長G(p)倍,(G(p)表明負載量增長時,存儲容量(需求)也增長p倍)
- 加速比Sp爲:Sp=(Ws+G(p)Wp)/(Ws+G(p)*Wp/p)=(f+G(p)(1-f))/(f+G(p)*(1-f)/p)
討論併發
- 當G(p)=1時,即存儲量增長p倍,負載量增長很小,僅爲1,則:S=(f+G(p)(1-f))/(f+G(p)*(1-f)/p)=1/(f+(1-f)/p)
- 可見,當G(p)=1時,至關於Amdahl定律
- 當G(p)=p時,即存儲量增長p倍,負載量也增長,則:S=(f+G(p)(1-f))/(f+G(p)*(1-f)/p)=f+(1-f)*p
- 可見,當G(p)=p時,爲Gustafson定理
Sun and Ni's定理幾何意義
![](http://static.javashuo.com/static/loading.gif)
加速比的幾個問題
絕對加速
- 對於給定的問題,最佳串行算法能使用的時間除以同一問題的並行算法所使用的時間
相對加速
- 同一問題的求解算法在單處理機上運行的時間除以在多個處理機上的運行時間
- 因爲最佳串行算法難於肯定,因此相對加速更爲實用
超線性加速
- 通常講,線性加速已很難達到,超線性加速則是難上加難。但在某些算法中,可能出現超線性加速現象
- 如使用多個處理機在一個樹上並行搜索時,一旦某個處理機找到解,它就能夠當即向其餘處理機發出停止搜索信號,防止無畏地搜索其餘分支,得到超線性加速
影響加速比的因素
- 求解問題中的串行份量
- 並行處理所引發的額外開銷(通訊,等待,冗餘操做等)
- 處理機數目的增長超過了算法中的併發程度
- 增長問題的規模有利於提升加速比的因素:①加大問題的規模可提供較高的併發程度;②額外開銷的增長可能慢於有效計算的增長;③算法中的串行份量的比例不是固定不變的
可擴放性
什麼是可擴放性
- 一個計算機系統(硬件、軟件、算法、程序等)被稱爲可擴放的,是指其性能隨處理機數目的增長而按比例提升。
- 例如,工做負載能力和加速比均可隨處理機的數目的增長而增長。
可擴放性包括哪些方面
- 機器規模的可擴放性:系統性能是如何隨着處理機數目的增長而改善的
- 問題規模的可擴放性:系統的性能是如何隨着數據規模和負載規模的增長而改善
- 技術的可擴放性:系統的性能上如何隨着技術的改變而改善
可擴放性研究的目的是什麼
- 肯定解決某類問題時何種並行算法與何種並行體系結構的組合,能夠有效的利用大量的處理器
- 對於運用於某種並行機上的某種算法,根據在小規模處理機的運行性能預測移植到大規模處理機上的運行性能
- 對固定問題規模,肯定最優處理機數和可得到的最大加速比
- 指導和改進並行算法和並行處理機結構,充分利用處理機可擴放性的度量標準
度量標準
等效率度量標準(ISO-efficiency)
基本概念
推導
- 設T1是一個給定問題在一臺機器上串行執行的時間(例如W),Tp是在p臺處理機上並行執行的時間,T0是額外開銷
- 則有:T1+T0=p×Tp,即Tp=(T1+T0)/p,S=Te/Tp=T1/((T1+T0)/T1=p/(1+T0/T1)=p/(1+T0/W),E=s/p=1/(1+T0/T1)=1/(1+T0/W)
結論
- 若是問題規模W不變,那麼隨着處理機數P的增長,額外開銷T0也會增長,從而引發效率降低
- 爲了保證E不變,就要保證T0/T1不變,這就要求增長處理機數p的同時,要同時增長問題的規模W,即T1
- 依此定義的函數稱爲等效率函數
優勢
- 等效率函數是一種用分析方法處理工做負載增加率與處理機增加率之間關係的有用的工具,可用簡單的、可定量計算的、少許的參數就能計算出等效率函數,並由其複雜性可指出算法的可擴放程度:若是W與p呈線性關係,則系統是可擴放的;若是W與p呈指數關係,則系統是不可擴放的。
缺點
等速度量標準(ISO-speed)
基本概念
- 等速度標準是在機器規模由p到p',問題規模由W增長到W'時,維持平均速度不變
推導
- 設平均速度V-bar=W/(p*Tp),又設,W是使用p個處理機時算法的工做量,W'表示當處理機數從p增到p'時,爲了保持整個系統的平均速度不變需執行的工做量。
- 此時的可擴放的速度度量標準函數爲:ψ(p,p')=(W/p)/(W'/p')=(p'*W)/(p*W')。
- 當平均速度嚴格不變時:W/Tp=W'/Tp';(p'W)/(pW')=Tp/Tp',即:ψ(p,p')=Tp/Tp'。
- 當p=1時,ψ(1,p')=T1/Tp'=W/(W'/p')=(解決工做量爲W的問題所需串行工做時間)/(解決工做量爲W'的問題所需並行工做時間)
結論
- 若是速度能與處理機的數目的增長而線性增長,即意味着平均速度不變,則說明此係統具備很好的擴放性
優勢
- 使用機器性能速度指標這一明確的物理量來度量可擴放性是比較直觀的(速度常被用來測量浮點運算):①速度是由工做負載W和執行時間T決定的,而W反映了應用程序的性質,T反映告終構和程序效率的影響;②速度在各類結構的機器之間具備可比性;③執行時間包含了計算和延遲這兩個主要的時間量;④速度是比較容易測量的
缺點
- 某些非浮點運算可形成性能的變化
- 延遲雖包含在執行時間中,但它明確地定義爲W的函數
平均延遲度量標準(Aerage Lantency)
基本概念
- 效率不變前提下,用平均延遲來標誌處理機數p和工做量W之間的增量關係。平均延遲時間定義爲一個處理機完成分配給它的任務所須要的平均時間開銷。包括運行時的延遲Li,啓動時間及中止時間。
- 所以第i個處理器Pi的總的延遲時間爲:Li+啓動時間+中止時間
![](http://static.javashuo.com/static/loading.gif)
- 系統的平均延遲時間爲:
,因爲:pTpara=T0+Tseq和T0=pL(W,p),因此L-bar(W,p)=Tpara-Tseq/p
- 令L-bar(W,p)表示在p個處理器上求解工做量爲W問題的平均延遲,L-bar(W',p')表示在p'個處理器上求解工做量爲W'問題的平均延遲,則定義平均延遲可擴放性度量標準爲:Φ(E,p,p')=L-bar(W,p)/L-bar(W',p')
優勢
缺點
小結
- 等效標準與等速標準是等價的
- 平均延遲標準能夠源自等速標準
- 三者均是等價的
參考文獻
https://wenku.baidu.com/view/4cf7ecfe1ed9ad51f11df25f.html?sxts=1542528758414函數