並行演算法 平行計算的可擴充套件性分析

2021-10-03 22:23:18 字數 2053 閱讀 3864

(只能說理想很美滿,現實只能在增加可擴充套件性和增加可程式設計性,選其中乙個)

機器規模(n)     

時鐘頻率(f)     

問題規模(s)     

cpu時間(t)     

i/o需求(d)   

儲存容量(m)     

通訊開銷(h)     

計算機**(c)     

程式設計開銷(p)

直觀定義:對任意數量(n)的處理機和任意規模(s)的問題,若所有演算法的系統效率 e = 1, 則系統是可擴充套件的。

定義1:在給定的一台並行系統上執行乙個給定的應用問題(並行演算法)時,如果隨並行系統規模增大而適當增加問題的規模,使並行系統的效能與其規模成線性比例增長,則稱並行系統是可擴充套件的。

定義2:執行於一台給定的並行系統上的並行演算法(並行應用程式),當系統的規模與演算法的規模按比例增加時,其效能也按一定的比例提高,則該並行演算法(並行應用程式)是可擴充套件的。

1)確定某類問題的何種並行演算法與何種並行系統的組合,可有效的利用系統大量處理機;

2)有演算法在小規模並行機上的執行效能來**起移植到大規模並行機上後的執行效能;

3)對一固定規模的問題,能確定起執行在某類並行系統上時,所需的最有處理機台數和獲得的最大加速比。

4)指導並行演算法和並行機體系結構的改進

效率是指系統規模p增加時,測量增加多少運算量(問題的規模w)會保持並行演算法效率不變。

可擴充套件性度量方法的基本要求:

1)能提供並行系統規模的變化如何影響起效能的資訊;

2)能描述並行演算法與並行機組合的函式;

3)可評估、可比較的定性效能度量方法。

恒等效率定義為乙個並行演算法在並行計算機上實現時,為保持效率e固定所需的工作負載與機器規模n的相對關係。

假設:w = w(s)為工作負載,h  =  h (s,n)為通訊開銷,它隨s、n增加而增大。其中,s為問題規模,n為機器規模。

則效率可以表示為:

問題的關鍵在於w(s)與h(s,n)之間的相對增長速度。機器規模一定,開銷h的增長比工作負載w要慢。因而,對一定規模的機器來說,效率會隨問題規模增大而提高。所以,假若工作負載w隨機器規模適當增加,那麼就有希望保持效率不變。

對於已知的演算法來說,為了保持恆定的效率,工作負載w可能需要對n以多項式或指數規律增長。不同的演算法可能需要不同的工作負載增長速率以便在n增加時保持效率不致下降。

一般並行演算法的恆定效率函式是n的多項式函式,即它們為0(nk),k >=1。n的冪越小,並行系統的可擴充套件性越大(系統包括演算法和結構的組合)。

並行程式執行時間 tp = (t1+t0)/p,其中,t1為總工作負載序列執行時間,t0為多節點總通訊延時,p為節點數。

那麼,加速比為:

而t1 = w

如前面所述,工作負載w與開銷h均可以表示成n與s的函式,所以,效率也可以表示如下:

為了使e保持不變,工作負載w(s)應該與開銷h(s,n)成比例增長,由此可以得出以下條件:

如果工作負載w(s)與

此時, w(s)與

並行演算法 並行演算法的初步認識

今年的課程中增加了,並行演算法的課程,我一看,一門課程都掛上 演算法 了,肯定厲害呀。這我可要認真學習它。我把我自己的見解和大家分享一下,要是有錯誤的地方一定要指出啊。這是我畫的乙個思維導圖,好像是什麼也看不出來。咱們按照順序乙個乙個的介紹哈。我不知道大家是什麼情況,我是從小學開始,學什麼都是從定理...

python平行計算 python平行計算

0.基礎並行 發 multiprocessing threading 1.concurrent 2.併發 asynico 3.ipython下的平行計算 使用ipyparallel庫的ipython提供了前所未有的能力,將科學python的探索能力與幾乎即時訪問多個計算核心相結合。系統可以直觀地與本...

並行演算法筆記(三) 並行演算法設計(二)

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...