一、 可擴展性基本概念
1.可擴展性與可編程性
(只能說理想很美滿,現實只能在增加可擴展性和增加可編程性,選其中一個)
2.可擴展性指標(相關參數)
機器規模(n)
時鐘頻率(f)
問題規模(s)
CPU時間(T)
I/O需求(d)
存儲容量(m)
通信開銷(h)
計算機價格(c)
程序設計開銷(p)
3.可擴展性的直觀定義
直觀定義:對任意數量(n)的處理機和任意規模(s)的問題,若所有算法的系統效率 E = 1, 則系統是可擴展的。
定義1:在給定的一臺並行系統上運行一個給定的應用問題(並行算法)時,如果隨並行系統規模增大而適當增加問題的規模,使並行系統的性能與其規模成線性比例增長,則稱並行系統是可擴展的。
定義2:運行於一臺給定的並行系統上的並行算法(並行應用程序),當系統的規模與算法的規模按比例增加時,其性能也按一定的比例提高,則該並行算法(並行應用程序)是可擴展的。
4.可擴展性的研究目的
1)確定某類問題的何種並行算法與何種並行系統的組合,可有效的利用系統大量處理機;
2)有算法在小規模並行機上的運行性能來預測起移植到大規模並行機上後的運行性能;
3)對一固定規模的問題,能確定起運行在某類並行系統上時,所需的最有處理機臺數和獲得的最大加速比。
4)指導並行算法和並行機體系結構的改進
二、可擴展性度量方法
1、等效率可擴展性度量方法:揭示問題規模與系統規模的關係(1987);
效率是指系統規模p增加時,測量增加多少運算量(問題的規模w)會保持並行算法效率不變。
:並行機上的每個基本操作的平均時間;
(p,w):並行計算時系統的總開銷;
:算法的串行執行時間。
2、等速度可擴展性度量方法:揭示並行算法-機器組合的關係(1996)
3、等時間/通信開銷比的可擴展性度量方法:等計算時間/通信開銷比(1999)
可擴展性度量方法的基本要求:
1)能提供並行系統規模的變化如何影響起性能的信息;
2)能描述並行算法與並行機組合的函數;
3)可評估、可比較的定性性能度量方法。
三、可擴展性
1.恆等效率概念(Isoefficiency)
恆等效率定義爲一個並行算法在並行計算機上實現時,爲保持效率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的冪越小,並行系統的可擴展性越大(系統包括算法和結構的組合)。
2.恆等效率函數
並行程序執行時間 Tp = (T1+T0)/p,其中,T1爲總工作負載串行執行時間,T0爲多節點總通信延時,p爲節點數。
那麼,加速比爲:
而T1 = W ,W爲以操作次數計算的總工作負載,爲每個操作的平均執行時間。
如前面所述,工作負載W與開銷h均可以表示成n與s的函數,所以,效率也可以表示如下:
爲了使E保持不變,工作負載W(s)應該與開銷h(s,n)成比例增長,由此可以得出以下條件:
如果工作負載W(s)與(n)一樣快的增長,那麼已知算法結構組合就能使效率保持恆定。這個結論和前面的結論是一致的。
此時, W(s)與(n)是相同的,只要求出了W(s)的數量級,就可知道(n)了。爲了得到恆等效率,只要使W(s)與h(s,n)同一個數量級就可以了。