Parallel Programming in C with MPI and OpenMP 第二章學習筆記!
Shared medium
特質:broadcast散播出去每個人都可以看得到,散播的距離越遠就越弱,人越多就會分掉頻寬
一次只能傳一個訊息
訊息是broadcast
大家都在"聽"!
溝通機制分成 decentralized跟centralized兩種
decentralized: 想講就"講",或是輪著"講"!如果有人正在講就自動先"閉嘴"等講完。
centralized 是有一台電腦擔任主持人主持的開會,處理"發言"(傳資料)先後順序
Switched medium
有點像是打電話,點對點一對一地對傳,彼此間不互相干擾,優點是傳訊息的頻寬大小固定,方便擴充
分為兩種,一種是Direct 一種是Indirect
Direct: 一個處理器(processor)配一個交換器(switch) 所以switch與processor的比 1:1
Indirect: 交換器與處理器的比 > 1:1 ,也就是說交換器比處理器多!
首先要會看圖!
圖中正方形代表處理器 (processor)
圓形代表交換器 (switch)
線(edge)代表網路連接
定義:
_Diameter :_一個處理器到另一個處理器中間
任兩個間的最長距離,亦即經過最多的switch的數量!
Bisection width :
把一區塊分成兩區,需要切斷多少條線路
稱為Bisection width !
例如921大地震一個電線倒了,全北部就停電了
可見台灣南北的電力系統的Bisection Width = 1 非常脆弱!
所以知道 Bisection width要越高越好,優點是:表示兩區不容易切斷,可容錯,頻寬較大,有兩條路以上可分擔走過來走過去的流量
_Number of edges per node:_這個在算每一個點(node) 連出去有幾條網路(邊),這個值要固定比較好,
如此在擴充時每擴充一個點所需接的線數量都一樣,才會有方便擴充性。
Constant edge length? 這個是在評估點跟點之間的連線長度是否是固定(constant)的,這涉及到資料傳輸到達的快慢以及每個點處理同步性的問題
所以當然是要最好做到每個點跟點之間連線的距離都是固定的會比較好!
知道上述評估方法後還用個例子幫助理解:
例:這是一張2-D Mesh的圖
首先,這張圖上面的圓形(代表switch)跟方形(代表processor)數量一樣 1:1
所以是 Direct Topology
Diameter: 從一個處理器開始走到另一個處理器最長距離會經過幾個switch
我從最左上角正方形(位置 1,1) 走到最右下角 (4,4) 的正方形,距離最長,自己出發的swicth不要算,共經過最多 6 個switch
所以這張圖的Diameter = 6
Bisection width : 要把這張圖的切割成兩半,平均每切下一刀都要切4條線,所以他的Bisection width = 4
Number of edges per switch: 4 這裡要把這張圖看成如果延伸到很大一張圖的狀況下,除了在邊緣處以外,大部份的點(switch)都會接出4條線來算!
Constant edge length? Yes 如圖所示,點跟點之間的連線都是等長的!
如此就對於網路架構分析以了初步的認識
其他架構分析請待下回分曉 :)