1. 程式人生 > >計算機系統結構之互連網路詳解

計算機系統結構之互連網路詳解

一、基本概念

互連網路是一種由開關元件按照一定的拓撲結構和控制方式構成的網路,用來實現計算機系統中結點之間的相互連線。這些結點可以是處理器、儲存模組或其他裝置。

1.1 互連網路的種類

靜態互連網路:連線通路是固定的,一般不能實現任意結點到結點之間的互連。
迴圈互連網路:通過多次重複使用同一個單級互連網路以實現任意結點到結點之間的互連 。
多級互連網路:將多套相同的單級互連網路連線起來,實現任意結點到結點之間的互連。
全排列互連網路:能夠同時實現任意結點到結點之間的互連。
全交叉開關網路:能夠同時實現任意結點到結點之間的互連,還能夠實現廣播和多播。

1.2 互連網路的效能引數

⑴  網路規模
網路中的結點數。用於表示網路中所能連線的部件的多少。

⑵ 連線度(結點度)
網路中與結點相連線的邊的數目。用於表示結點所需要的 I/O 埠數。
入度:進入結點的通道數。
出度:從結點出來的通道數。
結點度=入度+出度。
結點度也反映了一個結點與其他結點的連線程度。

⑶ 連線數
網路中所有結點之間連線的數量,即通路(邊數)的總和。

⑷ 距離
網路中兩結點之間相連的最少邊數。

⑸ 網路直徑
網路中任意兩結點之間距離的最大值。
網路直徑反映了從一個結點傳送資訊到任何另一個結點所需的時間,即網路的延時性。

另外,頻寬、可靠性和成本也是反映網路效能的重要指標。

1.3 互連網路設計時應考慮的因素

⑴ 通訊工作方式(定時方式)

①  同步方式
用統一的時鐘同步各PE的並行操作以及控制器向處理單元廣播命令的操作。
SIMD並行機都採用同步方式。
同步方式的控制比較簡單。
②  非同步方式
不用統一時鐘同步操作,各個處理單元根據需要相互建立動態連線。    
非同步方式的控制比較複雜。

⑵ 控制策略

①  集中式控制
由一個統一控制器對各個互連開關狀態加以控制。
一般的SIMD並行機都採用集中控制。
②  分散式控制
由各個互連開關自身實行管理。

⑶ 交換方式

①  線路交換
在整個交換過程中,在源和目標結點之間建立固定的物理通路。
線路交換適用於成批資料傳送。
②  分組交換
把要傳送的一個資訊分成多個分組,分別送入互連網路。這些分組可通過不同的路由到達目標結點。
分組交換適合於短資料報文的傳送。
SIMD並行機一般採用線路交換,因為處理單元間的聯接比較緊密。MIMD多機系統多采用分組交換方式。

⑷ 網路拓撲

拓撲:互連網路中的各個結點間連線關係,通常用圖來描述。

①  靜態拓撲
在各結點間有專用的連線通路,且在執行中不能改變。
靜態拓撲一維的有線性陣列結構,二維的有環形、星形、樹形、網格形等,三維的有立方體等,三維以上的有超立方體等。

②  動態拓撲
各結點之間的連線通路中設定有源開關,可根據需要利用控制訊號對連線通路加以重新組合。
動態拓撲主要有單級迴圈網路和各種多級互連網路等。

二、互連函式

每種互連網路可用一組互連函式來定義,互連函式反映了不同互連網路的連線特性。
若將互連網路的N個輸入端和N個輸出端分別用整數0,1,…,N-1表示,則互連函式表示互相連線的輸出端號
與輸入端號的一一對應關係。
或者說,存在互連函式f,輸入i與輸出f(i)相連,0≤i≤N-1。
當用互連網路實現PE與PE之間的資料變換時,互連函式也反映了輸入陣列與輸出陣列間對應的置換或排列關係,
因此互連函式也稱為置換函式或排列函式。

2.1 互連函式的表示方法

⑴ 輸入輸出對應表示法

|  0    1    2  ...   n-1 |
|f(0) f(1) f(2) ... f(n-1)|

⑵ 函式表示法

用x表示輸入端變數,f(x)表示互連函式。 

如果

即127號輸入與254號輸出關聯。

三、常用的單級互連網路

3.1 交換互連網路(Exchange)

在網路規模為N的互連網路中,交換互連網路的互連函式為:

E(x)k=(bn-1…bk…b0) 其中:0≤k≤n- 1,n=log2N

即把輸入端 x的二進位制編碼的第k位變反就可得到對應的輸出排列。也寫成

3.2 混洗互連網路(Shuffle)

全混洗

Shuffle(bn-1bn-2… b1 b0) =(bn-2…b0 bn-1)

即將輸入端x的二進位制編碼迴圈左移一次就可得到輸出端的二進位制編碼。也寫成

若再進行一次混洗,則得到新的函式:

子混洗(subshuffle)S(k) ,最低k位迴圈左移一位 
超混洗(supershuffle)S(k),最高k位迴圈左移一位

顯然:

逆混洗函式:

3.3 蝶式互連網路(Butterfly)

Butterfly(bn-1bn-2… b1b0) =(b0 bn-2… b1bn-1)

即將輸入端x的二進位制編碼的最高位與最低位互相交換位置就可得到輸出端的二進位制編碼。也寫成

子蝶式(subbutterfly)B(k) 最低k位的高低位互換 
超蝶式(superbutterfly)B(k) 最高k位的高低位互換

顯然

3.4 反位序互連網路(Bit Reversal permutation)

即將輸入x的二進位制編碼的位序顛倒就可得到輸出端的二進位制編碼。

子反位序函式,最低k位的位序反過來; 
超反位序函式,最高k位的位序反過來.

3.5 移數互連網路(shift purmutation)

α (x)=(x+1) mod 2n              0≤x≤N

移數互連函式相當於把N個輸入端的二進位制編碼同時移動一個位置。即把x的 n 位二進位制編碼的末位上 
加上“1”再取模2n,就是輸出端的二進位制編碼。 
移數互連函式用x的十進位制編碼更容易表示。 
一般地,如果需要把N個輸入端同時移動m個位置傳到輸出端,則移數互連函式可寫為:

α (x)=(x+m) mod N 0≤x≤N

3.6 PM2I互連網路

PM2I互連網路是“加減2i”單級網路的簡稱,又稱迴圈移數網。它的互連函式為移數互連網路的特例:

PM2±i(j)=(j±2i) mod N

式中:0≤i≤n-1,0≤j≤N-1,n=log2N,N是網路中的結點數。這種互連網路中共有2n個互連函式。

3.7 混洗交換互連網路

混洗交換互連網路由全混洗Shuffle(x) 和交換網路Exchange0 (x)複合而成。