基本介紹
- 中文名:線頭阻塞
- 外文名:Head-of-line blocking, HOL
- 出現在:快取式通信網路交換中
- 解決辦法:使用虛擬輸出佇列
概念定義,產生原因,問題分析,
概念定義
在傳輸中為了防止輸入信元丟失,所有輸入的信元必須等待交換,這時它就阻塞了後面信元的處理,即使後面的信元已經可以交換。這種現象就稱為線頭阻塞。
產生原因
線頭阻塞(Head-of-line blocking, HOL)是一種出現在快取式通信網路交換中的一種現象。交換通常由快取式輸入連線埠、一個交換架構以及快取式輸出連線埠組成。當在相同的輸入連線埠上到達的包被指向不同的輸出連線埠的時候就會出現線頭阻塞。由於輸入快取以及交換設計的FIFO特性,交換架構在每一個周期中只能交換快取頭部的包。如果某一快取頭部的包由於擁塞而不能交換到一個輸出連線埠,那么該快取中餘下的包也會被線頭包所阻塞,即使這些包的目的連線埠並沒有擁塞。
問題分析
解決線頭阻塞問題的一個方法就是使用虛擬輸出佇列(Virtual Output Queue)。
由於FIFO(先進先出)佇列機製造成的,每個cross bar 輸入端的FIFO首先處理的是在佇列中最靠前的數據,而這時佇列後面的數據對應的出口快取可能已經空閒,但因為得不到處理而只能等待,這樣既浪費了頻寬又降低了系統性能。這就如同你在只有一條行車路線的馬路上右轉,但你前面有直行車,雖然這時右行線已經空閒,但你也只能等待。