版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
在路由器和交換機(jī)中,緩沖區(qū)可以防止網(wǎng)絡(luò)擁塞期間的數(shù)據(jù)丟失,至關(guān)重要。但“緩沖區(qū)到底要多大?”這個(gè)問題在學(xué)術(shù)界和工業(yè)界一直備受爭(zhēng)議。本文探討了高端路由器中數(shù)據(jù)包緩沖的歷史和演變,以期概述當(dāng)前的實(shí)踐和未來的趨勢(shì)。網(wǎng)絡(luò)芯片中的緩沖區(qū)
在典型的路由器/交換機(jī)ASIC中,會(huì)發(fā)現(xiàn)三種類型的數(shù)據(jù)包緩沖區(qū)。入口緩沖區(qū)入口緩沖區(qū)保存來自輸入鏈路的傳入數(shù)據(jù)包,而數(shù)據(jù)包頭(通常是數(shù)據(jù)包的前128-256字節(jié))由數(shù)據(jù)包處理邏輯處理。該處理邏輯檢查數(shù)據(jù)包頭中的各種協(xié)議頭來計(jì)算下一跳。然后為數(shù)據(jù)包分配出口隊(duì)列/優(yōu)先級(jí),并確定數(shù)據(jù)包必須從哪個(gè)出口輸出鏈路轉(zhuǎn)發(fā)出去。數(shù)據(jù)包在入口緩沖區(qū)中駐留一段時(shí)間,直到處理完成。在固定的pipeline架構(gòu)中,數(shù)據(jù)包處理延遲約為1-2微秒。確定入口緩沖區(qū)的大小是為了在處理數(shù)據(jù)包頭時(shí)保存數(shù)據(jù)包內(nèi)容。網(wǎng)絡(luò)芯片性能的衡量標(biāo)準(zhǔn)是在不丟失數(shù)據(jù)包的情況下,每秒按線路速率可以處理多少比特的流量,以及滿足該速率的最小數(shù)據(jù)包的大小。盡管以太網(wǎng)鏈路上IP數(shù)據(jù)包最小可低至64字節(jié),但許多網(wǎng)絡(luò)芯片都會(huì)考慮到典型的網(wǎng)絡(luò)負(fù)載,并設(shè)計(jì)數(shù)據(jù)包處理pipeline以滿足遠(yuǎn)大于64字節(jié)的數(shù)據(jù)包性能要求,有效地減少了每秒通過芯片的數(shù)據(jù)包數(shù)量。這樣做可以優(yōu)化數(shù)據(jù)包處理邏輯,以節(jié)省芯片的面積和功耗。雖然典型工作負(fù)載的平均數(shù)據(jù)包大于350字節(jié),但可能會(huì)出現(xiàn)小數(shù)據(jù)包的瞬時(shí)突發(fā)(通常是保持網(wǎng)絡(luò)活動(dòng)的控制數(shù)據(jù)包或TCP協(xié)議的syn/ack數(shù)據(jù)包),這可能超額訂閱數(shù)據(jù)包處理邏輯,因?yàn)樗鼈儾皇菫樘幚砣绱烁叩拿棵霐?shù)據(jù)包轉(zhuǎn)發(fā)而設(shè)計(jì)的。在網(wǎng)絡(luò)芯片中,“超額訂閱(oversubscription)”意味著資源/邏輯所承受的負(fù)載超出了其處理能力。在數(shù)據(jù)包處理超額訂閱的瞬時(shí)期間,入口緩沖區(qū)會(huì)吸收數(shù)據(jù)包突發(fā)。當(dāng)緩沖區(qū)已滿時(shí),它們會(huì)進(jìn)行優(yōu)先級(jí)感知丟棄。
延遲帶寬緩沖區(qū)(DBB)在完成數(shù)據(jù)包處理并確定下一跳后,數(shù)據(jù)包一般會(huì)進(jìn)入一個(gè)深度緩沖區(qū),通常稱為延遲帶寬緩沖區(qū)(DBB)。當(dāng)路由器的部分/全部輸出鏈路被超額訂閱,該緩沖區(qū)將在網(wǎng)絡(luò)瞬時(shí)擁塞期間提供緩沖。當(dāng)流經(jīng)網(wǎng)絡(luò)的流量超過網(wǎng)絡(luò)的最大容量時(shí),就會(huì)發(fā)生網(wǎng)絡(luò)擁塞。造成擁堵的原因有很多:為了降低系統(tǒng)成本,網(wǎng)絡(luò)中可能會(huì)存在故意的超額訂閱。當(dāng)某些用戶使用的帶寬超過平均分配的帶寬,就會(huì)導(dǎo)致?lián)砣?;?dāng)多個(gè)主機(jī)開始相互通信時(shí),多播/廣播流量也可能導(dǎo)致?lián)砣?;?dāng)端點(diǎn)上的某些接口出現(xiàn)故障時(shí),需要將流量分配到剩余的接口,這可能會(huì)導(dǎo)致上游網(wǎng)絡(luò)設(shè)備擁塞;用戶錯(cuò)誤,如網(wǎng)絡(luò)配置錯(cuò)誤,也可能會(huì)導(dǎo)致?lián)砣?;由于?yīng)用程序和用戶流量的突發(fā)性,某些路由器/交換機(jī)也可能會(huì)出現(xiàn)流量超過其鏈路容量的情況。在擁塞期間,路由器可能會(huì)發(fā)現(xiàn)其部分/全部輸出鏈路被超額訂閱。在極端擁塞的情況下,所有輸入流量可能都希望通過單個(gè)輸出離開。在路由器芯片中設(shè)置數(shù)據(jù)包緩沖區(qū)吸收瞬時(shí)擁塞,有助于整體網(wǎng)絡(luò)的健康和吞吐量。出口緩沖區(qū)在網(wǎng)絡(luò)擁塞期間,路由器需要確保高優(yōu)先級(jí)流量和其他控制流量不會(huì)出現(xiàn)丟包,并且需要滿足不同優(yōu)先級(jí)下不同用戶的服務(wù)質(zhì)量(QoS)。路由器/高端交換機(jī)具有復(fù)雜的排隊(duì)和調(diào)度子系統(tǒng),可以在DBB內(nèi)針對(duì)不同的流維護(hù)不同的隊(duì)列。調(diào)度程序以不超過該接口鏈路容量的速率,將流量從這些緩沖區(qū)分發(fā)到輸出端口接口處的淺出口緩沖區(qū)。這些出口緩沖區(qū)的大小正好足以掩蓋DBB到輸出接口之間的往返時(shí)延,以便流量可以從輸出接口流出,而不會(huì)出現(xiàn)突發(fā)情況??梢允褂猛ㄟ^交換fabric互連的多個(gè)模塊化路由芯片來構(gòu)建大型路由器。下面將使用PFE來指代這些模塊化路由芯片。
在組合輸入/輸出(CIOQ)架構(gòu)中,數(shù)據(jù)包在入口PFE和出口PFE上都有緩沖。如果路由器內(nèi)出現(xiàn)短暫擁塞,淺入口延遲帶寬緩沖區(qū)會(huì)保留數(shù)據(jù)包,從而通過交換fabric將數(shù)據(jù)包從入口移動(dòng)到出口。出口PFE處的DBB是深度緩沖區(qū),在網(wǎng)絡(luò)擁塞期間,數(shù)據(jù)包在其中排隊(duì)較長時(shí)間。在虛擬輸出隊(duì)列(VOQ)架構(gòu)中,所有延遲帶寬緩沖都在入口PFE中完成。在這里,數(shù)據(jù)包在入口PFE的虛擬輸出隊(duì)列中排隊(duì)。VOQ唯一對(duì)應(yīng)于數(shù)據(jù)包需要離開的最終PFE/輸出鏈路/輸出隊(duì)列。數(shù)據(jù)包通過出口處的復(fù)雜調(diào)度程序從入口PFE移動(dòng)到出口PFE,只有在能夠?qū)?shù)據(jù)包調(diào)度出輸出鏈路時(shí),該調(diào)度器才會(huì)從入口PFE接受數(shù)據(jù)包。在VOQ架構(gòu)中,發(fā)往輸出隊(duì)列的數(shù)據(jù)包可在VOQ中的多個(gè)入口PFE中進(jìn)行緩沖。調(diào)整數(shù)據(jù)包緩沖區(qū)的大小兩大陣營當(dāng)談到交換機(jī)和路由器的數(shù)據(jù)包緩沖區(qū)大小時(shí),存在著不同觀點(diǎn)的兩大陣營:以學(xué)者為首的陣營認(rèn)為,緩沖區(qū)總體來說是臃腫的;數(shù)據(jù)中心(DC)網(wǎng)絡(luò)運(yùn)營商則要求提供充足的緩沖,以避免通過其路由器/交換機(jī)的任何流出現(xiàn)數(shù)據(jù)包丟失,特別是高度分布式的云/數(shù)據(jù)挖掘應(yīng)用。在大數(shù)據(jù)應(yīng)用中,數(shù)百臺(tái)處理查詢的服務(wù)器可能會(huì)向單個(gè)服務(wù)器發(fā)送大量流量,該服務(wù)器匯總所有流的響應(yīng),這可能會(huì)導(dǎo)致持續(xù)數(shù)十毫秒的短暫擁塞情況。但重要的是,流量不能丟失!DC內(nèi)的存儲(chǔ)應(yīng)用對(duì)丟包也非常敏感。一般來說,現(xiàn)代數(shù)據(jù)中心的流量是雙峰的,由短期、低速率的“老鼠”流和長期、高速率的“大象”流組成。大多數(shù)流是老鼠流,但它們僅承載10-15%的數(shù)據(jù)流量負(fù)載。剩余90%的流量負(fù)載由少量大象流承載。大象流對(duì)應(yīng)于大數(shù)據(jù)傳輸,需要高吞吐量,例如備份。老鼠流對(duì)延遲敏感,由查詢和控制消息組成,并且需要最少的數(shù)據(jù)包丟失,以避免整體應(yīng)用程序性能下降。DC運(yùn)營商更喜歡更大的緩沖區(qū),以避免老鼠流的數(shù)據(jù)包丟失,因?yàn)樵S多傳統(tǒng)交換機(jī)不支持動(dòng)態(tài)區(qū)分隊(duì)列中的老鼠流和大象流。
互聯(lián)網(wǎng)服務(wù)提供商在緩沖方面有不同的要求,因?yàn)槠渎酚善鞯闹攸c(diǎn)是盡快交換大量數(shù)據(jù),并滿足視頻/語音呼叫等高優(yōu)先級(jí)流量的服務(wù)級(jí)別協(xié)議(SLA),他們傾向于盡可能地利用昂貴/高容量的WAN鏈路,以降低設(shè)備成本。但鏈路使用越頻繁,丟包的可能性就越大。因此,互聯(lián)網(wǎng)服務(wù)提供商也要求路由器中有足夠的緩沖,以區(qū)分可以容忍數(shù)據(jù)包丟失的盡力而為的流量和必須以接近零流量丟失方式傳送的高優(yōu)先級(jí)流量。
在過去的二十年中,緩沖區(qū)大小一直是個(gè)熱門話題。隨著路由芯片帶寬的增長,內(nèi)存的擴(kuò)展程度卻無法跟上,提供大量緩沖變得越來越昂貴。
無論是何種應(yīng)用(交換/路由),整個(gè)行業(yè)的趨勢(shì)都是在不影響QoS的情況下盡可能減少緩沖。這在很大程度上依賴流量工程、先進(jìn)的端到端擁塞控制算法和主動(dòng)隊(duì)列管理(AQM)來提前向端點(diǎn)通知擁塞情況,并通過較小的延遲帶寬緩沖區(qū)來保持鏈路飽和。擁塞控制算法擁塞控制算法使用的協(xié)議是閉環(huán)的,其中接收方將收到的數(shù)據(jù)包信息發(fā)送給發(fā)送方。TCP/IP就是這種流行的協(xié)議套件。TCP是一種面向連接的協(xié)議。在數(shù)據(jù)傳輸之前,需要在發(fā)送方和接收方之間建立連接。TCP從應(yīng)用層的數(shù)據(jù)流接收數(shù)據(jù),將其劃分為塊,并添加TCP報(bào)頭以創(chuàng)建TCP段。然后,TCP段被封裝到IP數(shù)據(jù)報(bào)中,并通過網(wǎng)絡(luò)傳輸?shù)蕉它c(diǎn)。TCP報(bào)頭包含許多字段,有助于建立和維護(hù)連接,并檢測(cè)丟失的段以進(jìn)行重傳和擁塞控制。其中一個(gè)字段是序列號(hào)字段。TCP使用遞增的序列號(hào)標(biāo)記數(shù)據(jù)流的每個(gè)字節(jié)。當(dāng)發(fā)送一個(gè)報(bào)文段時(shí),它發(fā)送該報(bào)文段中數(shù)據(jù)第一個(gè)字節(jié)的序列號(hào)。接收方使用序列號(hào)將無序接收的TCP段組合在一起。對(duì)于接收到的每個(gè)數(shù)據(jù)段,接收方都會(huì)發(fā)送一個(gè)確認(rèn)(ACK),表示它期望從發(fā)送方收到的下一個(gè)數(shù)據(jù)段。ACK丟失則表示網(wǎng)絡(luò)中出現(xiàn)數(shù)據(jù)包丟失或網(wǎng)絡(luò)擁塞。發(fā)送方使用此信息來降低傳輸速率,并重新傳輸丟失的段。
自TCP/IP誕生以來,已經(jīng)開發(fā)出許多的擁塞控制算法,幫助端點(diǎn)在擁塞期間調(diào)節(jié)進(jìn)入網(wǎng)絡(luò)的數(shù)據(jù)傳輸速率。這些算法依賴于更改擁塞窗口大小,即發(fā)送方在不等待網(wǎng)絡(luò)擁塞確認(rèn)的情況下即可發(fā)送的TCP段數(shù)量。往返時(shí)間(RTT)了解往返時(shí)間對(duì)確定緩沖區(qū)大小和開發(fā)擁塞控制算法至關(guān)重要。RTT是數(shù)據(jù)包從發(fā)送方傳輸?shù)浇邮辗揭约皩⒋_認(rèn)返回發(fā)送方所需的往返時(shí)間。RTT變化很大,具體取決于端點(diǎn)的位置以及路徑中網(wǎng)絡(luò)設(shè)備的擁塞程度。TCP流的端點(diǎn)使用擁塞避免模式和Slow_start(慢開始)避免擁塞。發(fā)送方一開始并不清楚網(wǎng)絡(luò)的負(fù)荷情況,如果立即把大量數(shù)據(jù)直接注入到網(wǎng)絡(luò),很有可能會(huì)引起網(wǎng)絡(luò)擁塞。所以可以由小到大逐漸增大發(fā)送的擁塞窗口值。通常一開始發(fā)送分段時(shí),先把擁塞窗口設(shè)置為一個(gè)MSS(最大傳輸分段)值,收到ACK后擁塞窗口加一個(gè)分段大小,此時(shí)可以發(fā)出兩個(gè)分段數(shù)據(jù),收到兩個(gè)ACK后擁塞窗口又加二,這樣一輪一輪下去擁塞窗口呈指數(shù)增長,直到窗口大小達(dá)到閾值。此時(shí),進(jìn)入擁塞避免階段。擁塞窗口大小對(duì)每個(gè)RTT線性增加一個(gè)MSS,使得每一輪不再增加一倍,而是增加一個(gè)MSS。在此階段,如果通過丟包檢測(cè)到擁塞,則發(fā)送方將擁塞窗口減半(傳輸速率減半)并重新開始。
主動(dòng)隊(duì)列管理(AQM)如果路由器等到其DBB滿了后才丟棄數(shù)據(jù)包,那么在發(fā)送方對(duì)丟包做出反應(yīng)之前,網(wǎng)絡(luò)內(nèi)將有更多的流量進(jìn)入已經(jīng)滿的隊(duì)列,導(dǎo)致大量的尾部丟棄(Tail-Drop)。幾乎所有具有深度數(shù)據(jù)包緩沖區(qū)的交換機(jī)/路由器都支持加權(quán)隨機(jī)早期丟棄(WRED),以便盡早向發(fā)送方通知擁塞情況。WRED通過使用WRED曲線在隊(duì)列滿之前概率性地丟棄數(shù)據(jù)包,防止隊(duì)列完全填滿。一些路由器和DC交換機(jī)還支持顯式擁塞通知(ECN)。在ECN中,當(dāng)路由器經(jīng)歷擁塞時(shí),它可能會(huì)將某些數(shù)據(jù)包標(biāo)記為“經(jīng)歷擁塞”并按原樣轉(zhuǎn)發(fā)它們。IP報(bào)頭的流分類字段用于ECN標(biāo)記。當(dāng)端點(diǎn)收到這些設(shè)置了ECN位的數(shù)據(jù)包時(shí),它們會(huì)在發(fā)送ACK的同時(shí)將擁塞情況反饋給發(fā)送方。發(fā)送方通過這些信息來降低網(wǎng)絡(luò)傳輸速率。
ECN有助于減少擁塞,且不會(huì)造成與WRED相關(guān)的數(shù)據(jù)包丟失,但它也有一些局限性。如果網(wǎng)絡(luò)丟包率較高,ECN可能無法正常工作,因?yàn)闃?biāo)記的數(shù)據(jù)包也可能丟失,擁塞信息無法準(zhǔn)確傳達(dá)。此外,如果不同的ECN實(shí)現(xiàn)使用不同的標(biāo)記算法或?qū)砣捻憫?yīng)不同,則可能存在互操作性問題。一些供應(yīng)商集成了先進(jìn)的AQM技術(shù),可以實(shí)現(xiàn)流量感知的早期丟棄,例如區(qū)分隊(duì)列中的老鼠流和大象流(基于輸入流量速率),并通過動(dòng)態(tài)調(diào)整不同流的隊(duì)列長度來防止老鼠流被丟棄。緩沖區(qū)大小確定路由器ASIC內(nèi)部延遲帶寬緩沖區(qū)大小的關(guān)鍵是確保當(dāng)發(fā)送方因網(wǎng)絡(luò)擁塞而暫?;驕p少進(jìn)入網(wǎng)絡(luò)的流量時(shí),緩沖區(qū)不會(huì)變空。當(dāng)發(fā)送方因擁塞而減小窗口大小時(shí),緩沖區(qū)充當(dāng)一個(gè)儲(chǔ)存庫,以保持鏈路繁忙。如果緩沖區(qū)變空,則路由器的輸出鏈路沒有得到充分利用。
經(jīng)驗(yàn)法則過去比較流行的規(guī)則是,一個(gè)總端口速度為C(以每秒比特為單位)的路由器,承載往返時(shí)間為RTT的流量,就需要一個(gè)相當(dāng)于RTT*C的緩沖區(qū)以保持其輸出鏈路繁忙。這稱為延遲帶寬積(DBP)或帶寬延遲積(BDP)。該規(guī)則在早期路由器中廣泛使用,當(dāng)時(shí)路由器的總?cè)萘啃∮诿棵霂装偌忍亍?/p>
例如,在Juniper配備paradise芯片組的第一代PTX路由器中,具有400Gbps端口密度的PFE在外部存儲(chǔ)器中提供了4GB的數(shù)據(jù)包緩沖。這可以覆蓋80ms的RTT,可以滿足大多數(shù)核心路由器應(yīng)用。
這種根據(jù)DBP調(diào)整緩沖區(qū)大小的模型適用于兩個(gè)端點(diǎn)之間的一些長期TCP流,以及遇到瓶頸的單個(gè)路由器。局限性上述緩沖區(qū)大小的經(jīng)驗(yàn)法則不能很好地應(yīng)用到當(dāng)前具有每秒TB級(jí)聚合端口帶寬的路由器。例如,具有100毫秒RTT的14.4Tbps路由芯片將需要144GB的延遲帶寬緩沖,這是一個(gè)非常大的緩沖區(qū),需要放在片上或外部存儲(chǔ)器中。
如今,HBM存儲(chǔ)器因其高密度和帶寬被廣泛用于數(shù)據(jù)包緩沖。下一代HBM3可以提供每個(gè)部件24GB的總?cè)萘?。要?shí)現(xiàn)144Gb的數(shù)據(jù)包緩沖,需要6個(gè)HBM3部件。即使使用最大reticle-sized芯片,也很難在芯片邊緣為6個(gè)HBM3接口騰出空間,因?yàn)榇蠖鄶?shù)邊緣將被高速WAN鏈路所需的Serdes占用。因此,路由器芯片必須在端口密度和提供的延遲帶寬緩沖之間做出權(quán)衡。更新的理論路由器通常承載數(shù)千個(gè)數(shù)據(jù)流,每個(gè)流的RTT差異很大(這些流的端點(diǎn)可能不同),并且這些流很少同步。緩沖區(qū)大小的經(jīng)驗(yàn)法則不適用于這些情況。在多流量情況下,關(guān)于緩沖區(qū)大小有著不同的研究。斯坦福大學(xué)研究人員于2004年發(fā)表的SIGGCOM論文聲稱,對(duì)于N個(gè)長期存在的非同步流,只需C*RTT(min)/sqrt(N)的緩沖區(qū)即可保持鏈路繁忙。這意味著長期流越多,緩沖就越少。例如,當(dāng)10000個(gè)長期流通過14.4Tb路由器時(shí),只需要1.44GB的延遲帶寬緩沖區(qū)。這完全可以通過片上和外部存儲(chǔ)器的組合來實(shí)現(xiàn)。作者還得出結(jié)論,在短期流(仍處于Slow_start階段時(shí)結(jié)束的流)或非TCP流中,延遲帶寬緩沖區(qū)的大小與路由器鏈路上的負(fù)載和流的長度成正比,并且小于C*RTT_min/sqrt(N)。
隨后,其他研究人員也發(fā)現(xiàn),緩沖區(qū)大小取決于輸出/輸入容量比以及鏈路的飽和度。例如,如果數(shù)據(jù)中心運(yùn)營商能夠通過在scale-out架構(gòu)中添加更多交換機(jī)來運(yùn)行未充分利用的鏈路,那么這些芯片中的緩沖要求可能會(huì)下降。
盡管這些論文發(fā)表于幾十年前,但服務(wù)提供商和網(wǎng)絡(luò)芯片供應(yīng)商還沒有準(zhǔn)備好減少設(shè)備中的緩沖。直到最近幾年,當(dāng)內(nèi)存不再隨著工藝節(jié)點(diǎn)的進(jìn)步而擴(kuò)展時(shí),他們別無選擇。廠商們猶豫不決的原因是很難確定N的值,該值在時(shí)間間隔內(nèi)變化很大,具體取決于客戶流量和運(yùn)行在這些路由器上的應(yīng)用。
學(xué)術(shù)論文通常沒有考慮到現(xiàn)實(shí)的流量場(chǎng)景,大多數(shù)論文還認(rèn)為短暫的數(shù)據(jù)包丟失或鏈路未充分利用是可接受的行為。但事實(shí)是,許多應(yīng)用程序在丟包的情況下無法正常運(yùn)行。這些應(yīng)用需要更大的緩沖區(qū)(大約數(shù)十毫秒),以在擁塞期間緩沖對(duì)丟失敏感的流量。因此,確定緩沖區(qū)的大小是一個(gè)復(fù)雜的決定,一個(gè)公式并不適合所有的應(yīng)用!現(xiàn)代路由器和超額訂閱緩沖區(qū)正如上文中提到的,高端路由芯片供應(yīng)商面臨著一個(gè)艱難的選擇,即在芯片/封裝內(nèi)的交換和緩沖能力之間進(jìn)行權(quán)衡。
它們可以完全依賴片上SRAM進(jìn)行延遲帶寬緩沖。但是,片上SRAM的擴(kuò)展跟不上工藝節(jié)點(diǎn)的進(jìn)步。例如,在先進(jìn)的3nm工藝中,256MB的存儲(chǔ)器和控制器可以占據(jù)reticle-sized芯片的15-20%。在7.2Tbps流量下,這相當(dāng)于大約35微秒的DBB。數(shù)據(jù)中心的高帶寬交換機(jī)大多數(shù)流量的RTT小于50微秒。
對(duì)于支持?jǐn)?shù)千個(gè)具有不同QoS屬性和RTT(幾十毫秒)的隊(duì)列以及頻繁發(fā)生瞬時(shí)擁塞事件的高帶寬路由芯片來說,50微秒是行不通的。這些路由芯片有兩種選擇:
他們可以完全依賴HBM等外部存儲(chǔ)器來進(jìn)行延遲帶寬緩沖。但是,如果每個(gè)數(shù)據(jù)包都需要往返于HBM,對(duì)于14.4Tbps的路由芯片來說,將需要足夠的HBM接口來支持14.4Tbps的讀寫帶寬。從核心芯片到HBM部件,很難提供如此多的HBM接口,同樣也不可能將如此多的HBM部件封裝在2.5D封裝中。此外,外部存儲(chǔ)器延遲很大,會(huì)顯著增加通過路由器的排隊(duì)延遲。
因此,許多高端路由ASIC開始使用混合緩沖方法,其中延遲帶寬緩沖分布在片上和外部存儲(chǔ)器之間。數(shù)據(jù)包在各自隊(duì)列中的片上延遲帶寬緩沖區(qū)中進(jìn)行緩沖。排隊(duì)子系統(tǒng)監(jiān)視每個(gè)隊(duì)列的隊(duì)列長度。當(dāng)隊(duì)列超過可配置閾值時(shí),到達(dá)該隊(duì)列的新數(shù)據(jù)包將被發(fā)送到外部存儲(chǔ)器。隨著數(shù)據(jù)包從隊(duì)列中脫離,并且當(dāng)隊(duì)列不再擁塞,到達(dá)率低于出隊(duì)率,隊(duì)列長度將減少。當(dāng)隊(duì)列長度低于片上閾值時(shí),該隊(duì)列的新數(shù)據(jù)包將保留在片上存儲(chǔ)器。該架構(gòu)僅提供總帶寬的一小部分用于外部存儲(chǔ)器,從而減少了芯片的外部存儲(chǔ)器接口的數(shù)量。
盡管可能有成千上萬個(gè)流量流經(jīng)路由器,但先進(jìn)的擁塞控制算法和更智能的網(wǎng)絡(luò)管理可以讓網(wǎng)絡(luò)流量均勻分布,因此許多流量不會(huì)出現(xiàn)持續(xù)擁塞的情況。小規(guī)模的瞬時(shí)擁塞事件可以僅由片上緩沖器吸收。只有一小部分隊(duì)列會(huì)出現(xiàn)持續(xù)擁堵。隨著這些隊(duì)列的增長,它們可以從深度緩沖區(qū)中受益。
帶寬為6.5Tbps的下一代24GByteHBM3部件可為約2.5Tbps的輸出鏈路提供約70毫秒的延遲帶寬緩沖。假設(shè)在任何時(shí)間點(diǎn)擁塞的流量不超過25%,那么對(duì)于10Tbps路由ASIC來說,一個(gè)外部存儲(chǔ)器就足夠了。構(gòu)建混合緩沖系統(tǒng)想在路由芯片中構(gòu)建一個(gè)混合緩沖子系統(tǒng),使其能夠有效地利用片上和外部存儲(chǔ)器延遲帶寬緩沖并滿足所有的QoS要求,還存在著許多挑戰(zhàn)。
共享片上內(nèi)存一個(gè)理想的狀態(tài)是讓所有輸入和輸出鏈路完全共享延遲帶寬緩沖內(nèi)存的片上部分,因?yàn)榭赡軙?huì)存在擁塞情況,即來自所有輸入端口的數(shù)據(jù)包可能希望從某幾個(gè)輸出端口離開。在這些情況下,最好讓這些隊(duì)列占用大部分緩沖區(qū)以避免數(shù)據(jù)包丟失。對(duì)于具有144個(gè)100G端口的14.4Tbps路由器來說,同時(shí)訪問所有這些端口的共享延遲帶寬緩沖區(qū)是一項(xiàng)挑戰(zhàn)。許多高端架構(gòu)使用了兩種技術(shù)讓這種緩沖設(shè)計(jì)更加可行。使用寬數(shù)據(jù)總線(widedatabuses)允許來自多個(gè)100G端口的數(shù)據(jù)包共享到共享緩沖區(qū)的同一寬接口。共享緩沖區(qū)本身被靜態(tài)地劃分為許多存儲(chǔ)區(qū),數(shù)據(jù)包被分成更小的塊,并噴灑(spray)到這些存儲(chǔ)區(qū)中,以在多個(gè)存儲(chǔ)區(qū)上分配讀/寫。但這樣做有一個(gè)副作用,同一數(shù)據(jù)包的不同塊從這些存儲(chǔ)區(qū)中亂序?qū)懭牒妥x取。緩沖區(qū)外部的控制邏輯需要將這些事務(wù)按順序排列,然后再呈現(xiàn)給下游區(qū)塊。一些供應(yīng)商進(jìn)一步采用中央共享緩沖區(qū)方法,在延遲帶寬緩沖區(qū)和出口緩沖區(qū)之間共享同一組片上存儲(chǔ)器。這允許針對(duì)芯片的不同用例靈活地劃分內(nèi)存。
外部內(nèi)存超額訂閱管理對(duì)于超額訂閱的外部存儲(chǔ)器,需要復(fù)雜的算法來決定隊(duì)列何時(shí)移動(dòng)到片外延遲帶寬緩沖區(qū)??梢越o每個(gè)輸出隊(duì)列分配一個(gè)配置文件,該配置文件告訴隊(duì)列在移動(dòng)到外部存儲(chǔ)器之前可以在片上填充多少。但是,如果算法僅根據(jù)每個(gè)輸出隊(duì)列的隊(duì)列長度做出獨(dú)立決策,那么在多個(gè)輸出鏈路極度擁塞時(shí),它可能會(huì)決定將傳入流量的很大一部分發(fā)送到片外,而外部存儲(chǔ)器接口不一定可以處理。這給緩沖區(qū)管理邏輯增加了額外的復(fù)雜性,需要仔細(xì)規(guī)劃跨擁塞隊(duì)列的片外移動(dòng)??珀?duì)列分配片上緩沖區(qū)在業(yè)務(wù)邊緣應(yīng)用程序中,在給定的時(shí)間間隔內(nèi)可能有數(shù)千個(gè)活動(dòng)流。由于片上緩沖有限,不可能提供相同的隊(duì)列閾值。這些芯片架構(gòu)必須為網(wǎng)絡(luò)運(yùn)營商提供靈活性,以便為他們配置的每個(gè)隊(duì)列選擇“配置文件”。但是,通過配置隊(duì)列的實(shí)際流量可能與預(yù)配置速率有很大差異,這會(huì)導(dǎo)致緩沖區(qū)空間和資源的使用效率低下。高級(jí)架構(gòu)在基于實(shí)時(shí)隊(duì)列耗盡率動(dòng)態(tài)調(diào)整混合隊(duì)列長度和片外閾值的算法上投入了大量資金,以有效地利用延遲帶寬緩沖區(qū)。一些供應(yīng)商還實(shí)現(xiàn)了高級(jí)算法來動(dòng)態(tài)區(qū)分大象
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 詠雪課件教學(xué)課件
- 2024年度生物醫(yī)藥研發(fā)與生產(chǎn)合同
- 2024年建筑工程施工進(jìn)度保障協(xié)議
- 學(xué)校元旦課件教學(xué)課件
- 04設(shè)計(jì)定制專屬塔吊設(shè)計(jì)制造合同
- 2024專利申請(qǐng)權(quán)的轉(zhuǎn)讓合同書
- 2024年度技術(shù)開發(fā)與委托生產(chǎn)合同
- 2024工礦產(chǎn)品的加工合同
- 2024年大型超市送貨員崗位職責(zé)合同
- 2024系統(tǒng)集成合同模板
- 初中音樂-《山東民歌》教學(xué)課件設(shè)計(jì)
- 眾興實(shí)驗(yàn)小學(xué)教育教學(xué)視導(dǎo)工作匯報(bào)
- 潔凈區(qū)人員行為規(guī)范要求
- 2023年云南省7月普通高中學(xué)業(yè)水平考試物理試卷新版
- 2022屆高三語文一輪復(fù)習(xí)積累:現(xiàn)代漢語語法基礎(chǔ)知識(shí)
- 大學(xué)武術(shù)智慧樹知到答案章節(jié)測(cè)試2023年浙江大學(xué)
- MT/T 198-1996煤礦用液壓鑿巖機(jī)通用技術(shù)條件
- GB/T 7715-2014工業(yè)用乙烯
- 企鵝排隊(duì)課件
- GB/T 14480.2-2015無損檢測(cè)儀器渦流檢測(cè)設(shè)備第2部分:探頭性能和檢驗(yàn)
- GB/T 1094.11-2007電力變壓器第11部分:干式變壓器
評(píng)論
0/150
提交評(píng)論