片上網(wǎng)絡(luò) On Chip Networks V

5.5 虛擬通道

虛擬通道(Virtual channel,VC)被稱為互聯(lián)網(wǎng)絡(luò)中的瑞士軍刀,最初作為避免死鎖(deadlock)的解決方案被提出,同樣在流控制中被用來(lái)避免隊(duì)首阻塞(head-of-line blocking)。隊(duì)首阻塞在所有上述提及的在每一個(gè)輸入僅有一個(gè)隊(duì)列的流控制技術(shù)都會(huì)發(fā)生,當(dāng)隊(duì)首的包被阻塞,將會(huì)使得所有后續(xù)的包在其后排隊(duì),即使已經(jīng)有可用的資源。

本質(zhì)上,一個(gè)虛擬通道是路由器中一個(gè)獨(dú)立的隊(duì)列,多個(gè)虛擬通道共享兩個(gè)路由器之間的物理連線。通過(guò)將輸入端和多個(gè)獨(dú)立的隊(duì)列相連,隊(duì)首阻塞將會(huì)減少。當(dāng)某個(gè)虛擬通道被阻塞,其他包仍然可以通過(guò)其他虛擬通道來(lái)穿過(guò)其他物理連接。因此虛擬通道可以提高物理連接的利用率并且提升整個(gè)網(wǎng)絡(luò)的吞吐率。

技術(shù)上,盡管Dally最初提出虛擬通道是用于蟲孔流控制,虛擬通道可以被應(yīng)用在所有的上述提及的流控制技術(shù)中來(lái)減少隊(duì)首阻塞,例如電路交換(circuit switching)、存儲(chǔ)轉(zhuǎn)發(fā)(store-and-forward)、虛擬直通(virtual cut-through)。然而,隨著片上網(wǎng)絡(luò)設(shè)計(jì)大量采用蟲孔流控制,我們?cè)谶@里假定是在蟲孔流控制下,緩存器(buffer)和連接(link)在片(flit)粒度上進(jìn)行管理和復(fù)用。一個(gè)例子如圖所示。

VC例

從例子中可以看出,如果是單通道實(shí)現(xiàn),則B包將會(huì)始終被A包在路由器1處阻塞,盡管資源已經(jīng)允許其到達(dá)路由器2。虛擬通道的加入使得包B可以無(wú)視包A的阻塞到達(dá)路由器2。在每一個(gè)路由器上,虛擬通道被分配給頭片(head flit)一次,之后其余的片繼承并使用這個(gè)虛擬通道。使用虛擬通道流控制,來(lái)自不同包的片可以在相同的物理通道上交叉通過(guò),從上例中時(shí)刻0和時(shí)刻2中可以觀察到。

虛擬通道也被廣泛應(yīng)用于避免死鎖,既包括在網(wǎng)絡(luò)內(nèi)部的死鎖,也包括處理系統(tǒng)(system)級(jí)和協(xié)議(protocol)級(jí)的deadlock。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ping error: Destination off-link but no route作者 codercjg ...
    codercjg閱讀 1,205評(píng)論 0 1
  • 文/馭風(fēng)者 八百年衣衫襤褸與虎狼博 頭頂?shù)膫涕L(zhǎng)成王冠 眼角萬(wàn)分之三的余光 揚(yáng)起眉毛問(wèn)一聲 周天子的九個(gè)尿壺有多重...
    馭風(fēng)者h(yuǎn)ou閱讀 1,886評(píng)論 22 21
  • 小隱于城,大隱一世 有些人注定求而不得,該學(xué)會(huì)適時(shí)的舍棄;人世間大千萬(wàn)物變換無(wú)常,正如那七色云彩,或閑靜、或遷徙、...
    趙凡一閱讀 299評(píng)論 1 3
  • 一個(gè)身影從我面前經(jīng)過(guò)耳畔響起被秋風(fēng)吹落的古曲破碎的旋律是煙、是霧、是一段段憂郁的往事 往日的痕跡盡失留下的只有歌聲...
    Jack老錢閱讀 332評(píng)論 0 3

友情鏈接更多精彩內(nèi)容