時延是數(shù)據(jù)中心以太網(wǎng)的一個關(guān)鍵性能指標(biāo)。這是因為在高頻率金融交易(HFT)、高性能計算(HPC)和類似的性能敏感型環(huán)境中,超低時延10GbE交換功能是處理巨大網(wǎng)絡(luò)流量的關(guān)鍵,這常常意味著每天上百萬次的交易。電子交易中價格和交易數(shù)據(jù)速率的不斷攀升以及保持競爭力的需求推動著金融市場股東們投資最新技術(shù),以便支持螺旋式上升的帶寬要求,并降低數(shù)據(jù)流時延。
因此,現(xiàn)在時延測量已經(jīng)成為數(shù)據(jù)中心以太網(wǎng)交換機(jī)供應(yīng)商測試報告的一個重要部分。在評估這些系統(tǒng)所用的交換IC時,設(shè)計師需要明白時延測量方法有好多種,采用不正確的方法可能是一種錯誤,因為有些方法并不能測出真實性能。
近來在測試中使用的其中一些測量方法使得LAN交換芯片供應(yīng)商聲稱具有超低時延。這是怎么做到的呢?使用末位進(jìn)、首位出(LIFO)方法,存儲轉(zhuǎn)發(fā)交換機(jī)確實可以報告亞微秒的時延。然而,這不符合RFC1242,該文檔建議優(yōu)先采用首位進(jìn)到首位出(FIFO)方法:“理想情況下所有設(shè)備的測量都應(yīng)從幀前導(dǎo)位之后的第一個實際位開始。”這種方法能夠更精確地測量數(shù)據(jù)包穿透交換機(jī)時遇到的任何存儲或處理時間。
交換機(jī)架構(gòu)和時延
2006年推出的第一臺低時延10GbE交換機(jī)使用直通工作模式取得了十分優(yōu)異的時延性能,這種模式下交換機(jī)可以在幀被完整接收之前就開始發(fā)送。而存儲轉(zhuǎn)發(fā)交換機(jī)不能取得低時延,這是因為數(shù)據(jù)包在從出口發(fā)送出去之前必須完全存儲在內(nèi)存中。但并不是所有直通交換機(jī)都有相同的時延性能,因為它們采用的交換架構(gòu)有很大的區(qū)別。
存儲器存取帶寬一直是交換芯片架構(gòu)師心頭的痛。在使用傳統(tǒng)的交叉開關(guān)矩陣和內(nèi)存設(shè)計時,將沒有足夠的片上帶寬允許每個輸入端口同時寫入相同的輸出隊列。為了解決這種阻塞問題,芯片架構(gòu)可以在每個交換輸入端使用虛擬輸出隊列,即所謂的組合式輸入/輸出隊列(CIQQ)架構(gòu)。
虛擬輸出隊列可以在每個輸入端口為每個交換輸出端口(出口)提供一個隊列。如果某個特定的出口隊列臨時受阻,那么與之對應(yīng)的入口隊列將實行流控,而以其它出口為目的地的數(shù)據(jù)包可以避過這個受阻隊列,將數(shù)據(jù)發(fā)送給其它無阻塞的出口。然而,對于一個N端口交換機(jī)而言,這意味著N*N輸入隊列和關(guān)聯(lián)調(diào)度器,從而增加了很大的復(fù)雜性。同時還會增加數(shù)據(jù)包時延,因為每個數(shù)據(jù)包通過交換機(jī)時必須排隊兩次。鑒于VOQ和關(guān)聯(lián)調(diào)度器的復(fù)雜性,許多交換機(jī)設(shè)計通過一定程度的內(nèi)部阻塞來降低復(fù)雜性,這將進(jìn)一步增加時延。
新的共享式內(nèi)存交換技術(shù)第一次通過SRAM IP實現(xiàn)性能提升,使交換機(jī)能夠支持具有特別低時延、完全無阻塞輸出排隊、共享的內(nèi)存架構(gòu),見圖2。通過使用專有的高帶寬內(nèi)存結(jié)構(gòu),交換架構(gòu)可以做得更簡單,進(jìn)而消除入口VoQ的復(fù)雜性和所需的額外內(nèi)存。另外,組播數(shù)據(jù)包只需存儲一次,從而進(jìn)一步降低了對片上內(nèi)存的要求。由于只有一次內(nèi)存入隊/出隊和非常低的內(nèi)部阻塞,因此這種技術(shù)可以提供最低的時延。