並行計算複習————第一篇 並行計算硬件平臺:並行計算機

並行計算複習

第一篇 並行計算硬件平臺:並行計算機


Ch1 並行計算與並行計算機結構模型

1.1多核處理器與線程級並行

1.何謂多核處理器?

將功能複雜的單一核處理器劃分爲若干個功能相對簡單的多個處理器內核,這些多處理器集中在一塊芯片上,最初稱爲單芯片多處理器CMP,Intel公司將其商用名定爲多核處理器

2.多核處理器的意義:
  • 解決單處理器瓶頸:密集晶體管集成,功耗劇增;設計指令級並行體系結構來利用晶體管資源,但軟件與硬件設計複雜
  • 具有自己的優勢:CMP設計驗證週期短、開發風險成本低,相對較低的主頻功耗也相對較低、單處理器程序移植容易,通過佈局能夠改善多處理器內核之前延遲和帶寬
3.微處理器中的並行方式
  • ILP:指令級並行,單處理器同時執行多條指令,包括亂序執行、分支預測、指令多發射、硬件預取等技術
  • TLP:線程級並行,多處理器多線程執行
  • 多任務OS:多進程多線程分時間片輪轉或搶佔式,OS管理
  • SMT:同時多線程技術,超標量與多線程的結合,同時發射多個線程中的多條不相關指令
  • CMP:單芯片多處理器
  • 虛擬計算技術:異構平臺,剝離指令集結構和處理器依賴關係(運行時虛擬化JVM、系統虛擬化)
  • Intel超線程技術:單核心模擬雙核心環境執行多線程,是一種SMT

1.2 並行計算機體系結構

1.並行計算機結構模型

(1)結構類型

  • SISD:單指令流單數據流計算機(馮諾依曼機)
  • SIMD:單指令流多數據流計算機
  • MISD:多指令流單數據流計算機
  • MIMD:多指令流多數據流計算機

(2)幾種MIMD

  • PVP並行向量處理機:多VP(向量處理器)通過交叉開關和多個SM(共享內存)相連
  • SMP對稱多處理機:多P/C(商品微處理器)通過交叉開關/總線和多個SM(共享內存)相連
  • MPP大規模並行處理機:處理節點有商品微處理器+LM(分佈式本地內存),節點間通過高帶寬低延遲定製網絡互聯,異步MIMD,多個進程有自己的地址空間,通過消息傳遞機制通信
  • COW工作站機羣:節點是完整操作系統的工作站,且有磁盤
  • DSM分佈共享存儲處理機:高速緩存目錄DIR確保緩存一致性,將物理分佈式LM組成邏輯共享SM從而提供統一地址的編程空間

注:對稱指所有處理器都能同等地訪問I/O很同樣的運行程序(如OS和I/O服務程序),而非對稱主從式是僅有主處理器運行OS和控制訪問I/O並監控從處理器執行

2.並行計算機訪存模型
  • UMA(Uniform Memory Access)均勻存儲訪問:物理存儲器被所有處理器均勻共享,所有處理器對所有SM訪存時間相同,每臺處理器可帶有高速私有緩存,外圍設備共享。
  • NUMA非均勻存儲訪問:共享的SM是由物理分佈式的LM邏輯構成,處理器訪存時間不一樣,訪問LM或CSM(羣內共享存儲器)內存儲器比訪問GSM(羣間共享存儲器)快
  • COMA(Cache-Only MA)全高速緩存存儲訪問:NUMA的特例、全高速緩存實現
  • CC-NUMA(Coherent-Cache NUMA)高速緩存一致性NUMA:NUMA+高速緩存一致性協議
  • NORMA(No-Remote MA)非遠程存儲訪問:無SM,所有LM私有,通過消息傳遞通信
3.Cache一致性協議
  • 監聽總線協議:總線連接通信,寫無效和寫更新策略
  • 基於目錄的協議:目錄記錄共享數據緩存狀態,讀缺失時查看目錄D,寫更新時通知目錄D
4.其他並行計算概念

衡量並行計算機性能單位:

  • PFLOPS:每秒1千萬億 (=10^15) 次的浮點運算
  • TFLOPS:每秒1萬億 (=10^12) 次的浮點運算
  • GFLOPS:每秒10億 (=10^9) 次的浮點運算

TOP500前500名超級計算機排名指標(GFLOPS):

  • Rmax:Maximal LINPACK(Linear system package) performance achieved
  • Rpeak:Theoretical peak performance

Ch2 並行計算機系統互連與基本通信操作

2.1 並行計算機互連網絡

互連網絡是並行計算機系統中各處理器與內存模塊等之間傳輸的機制

1.靜態互連

處理單元間有固定連接的網絡,程序執行期間這種點到點的連接不變

  • 一維線性陣列LA/LC:二鄰近串聯
  • 二維網孔MC:四鄰近連接(Illiac連接、2D環繞)
  • 樹連接TC:二叉樹、星型網絡、二叉胖樹(節點通路向根節點方向逐漸變寬,解決通信瓶頸)
  • 超立方HC:3立方、4立方
  • 立方環:3立方頂點用環代替
2.動態互連

交換開關構成的,可按應用程序要求動態改變連接組態

  • 總線:連接處理器、存儲模塊、I/O外圍設備等的一組導線和插座,分時工作、多請求總線仲裁,多總線(本地、存儲、數據、系統)和多層總線(板級、底板級、I/O級)
  • 交叉開關:高帶寬的開關控制的專用連接通路網絡,NxN的開關網絡同時只能接通N對源目的通信
  • 多級互聯網絡MIN:每一級用多個開關單元,各級之間有固定的級聯拓撲
3.標準網絡互連
  • FDDI光纖分佈式數據接口
  • 快速以太網
  • Myrinet:商用千兆位包開關網
  • InfiniBand:交換式通信結構

2.2-2.5 通信代價公式

1.選路

(1)消息格式

消息是由一些定長的信包組成,信包包括了

  • 選路信息R
  • 順序號S
  • 多個數據片D

(2)存儲轉發選路SF

SF中信包是基本傳輸單位,中間節點必須收齊信包中所有分片且存儲在緩衝器後纔可能傳向下一節點

長度爲m的信包,穿越l條鏈路,SF基本通信時間公式:

tcomm(SF)=ts+(mtw+th)l

其中ts 是啓動時間,th 是節點延遲時間,tw 是傳輸每個字節的時間(帶寬倒數)

(3)切通選路CT

CT中信包切片傳輸(包頭和數據片),類似流水線

長度爲m的信包,穿越l條鏈路,CT基本通信時間公式:

tcomm(CT)=ts+mtw+lth
2.SF一到多播送

(1)一維環

最遠的節點是瓶頸:

tonetoall(SF)=(ts+mtw)p/2

(2)帶環繞的Mesh

先完成行SF環繞播送,再完成列的SF環繞播送(即兩次節點個數爲p 的一維環SF):

tonetoall(SF)=2(ts+mtw)p/2

(3)超立方
同理帶環繞的Mesh,可推知:

tonetoall(SF)=3(ts+mtw)p13/2
3.CT一到多播送

(1)一維環

CT通信時間與中繼節點無關,採取先按高維播送,再按中維播送,最後按低維播送:

tonetoall(CT)=i=1log(p)(ts+mtw+th×p/2i)=(ts+mtw)log(p)+th(p1)

(2)帶環繞的Mesh

tonetoall(CT)=(ts+mtw)log(p)+2th(p1)

(3)超立方

tonetoall(CT)=(ts+mtw)log(p)
2.SF多到多播送

(1)一維環

p-1次環路傳播:

talltoall(SF)=(ts+mtw)(p1)

(2)帶環繞的Mesh

先行環路多播,再列環路多播

talltoall(SF)=(ts+mtw)(p1)+(ts+mptw)(p1)=2ts(p1)+mtw(p1)

(3)超立方

talltoall(SF)=tslog(p)+mtw(p1)

Ch4 並行計算性能評測

4.1 基本性能指標(見書)

4.2 加速比性能定律

約定:

  • p 是處理器數
  • 問題規模W =程序中串行分量Ws +可並行部分Wh
  • f 爲串行部分比例,f=Ws/W
  • S 爲加速比
1.Amdahl加速定律

固定負載加速比公式:

SlimpS=Ws+WpWs+Wpp=1f+1fp=1f

若考慮並行額外開銷W0

SlimpS=Ws+WpWs+Wpp+W0=1f+1fp+W0W=1f+W0W
2.Gustafson

實際應用中增多了處理器不會固定問題規模,而是保持總時間不變的情況下去增大問題規模:

S=Ws+pWpWs+pWpp=Ws+pWpWs+Wp=f+p(1f)

若考慮並行額外開銷W0

S=Ws+pWpWs+pWpp+W0=Ws+pWpWs+Wp+W0=f+p(1f)1+W0/W
3.Sun&Ni定律

問題規模增加了,相應的存儲容量也要增加p倍,令因子G(p) 爲存儲容量增加到p倍時工作負載的增加,則有加速比:

S=Ws+G(p)WpWs+G(p)Wpp=f+(1f)G(p)f+(1f)G(p)/p

若考慮並行額外開銷W0

S=Ws+G(p)WpWs+G(p)Wp+W0p=f+(1f)G(p)f+(1f)G(p)/p+W0/W
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章