梁崇山,戴 藝,徐煒遐
(國防科技大學(xué)計(jì)算機(jī)學(xué)院,湖南 長沙 410073)
隨著人工智能、機(jī)器學(xué)習(xí)的快速發(fā)展和應(yīng)用,百萬級(jí)超大規(guī)模計(jì)算結(jié)點(diǎn)間的數(shù)據(jù)通信量急劇增長,且通信模式多樣化,通信延遲要求越來越低。HPL(High Performance Linpack)和HPCG(High Performance Conjugate-Gradient benchmark)是常用于評(píng)估超級(jí)計(jì)算機(jī)系統(tǒng)性能的基準(zhǔn)測(cè)試程序,HPL的性能比HPCG高50倍,其中HPCG部分性能的下降是由于其更高的通信強(qiáng)度造成的[1]。這清楚地表明,高效的互連網(wǎng)絡(luò)有助于充分發(fā)揮系統(tǒng)的計(jì)算能力,連接百萬級(jí)計(jì)算結(jié)點(diǎn)及存儲(chǔ)設(shè)備的互連網(wǎng)絡(luò)已成為制約高性能計(jì)算系統(tǒng)性能乃至成敗的關(guān)鍵因素。相較于采用低階路由器構(gòu)建的互連網(wǎng)絡(luò),高階路由器能夠縮短網(wǎng)絡(luò)直徑,減少節(jié)點(diǎn)間通信步長,因此能夠有效降低延遲,減少系統(tǒng)互連所需要的電纜、光纜數(shù)量,降低互連成本[2]。
高階路由器所面臨的最大挑戰(zhàn)之一就是怎樣設(shè)計(jì)可擴(kuò)展的路由器微體系結(jié)構(gòu)?;贑rossbar的交換結(jié)構(gòu)能夠?qū)崿F(xiàn)非阻塞通信并且能夠確保絕對(duì)的公平性,保證路由器有較好的性能。但是,一個(gè)階數(shù)為N的單級(jí)Crossbar交換結(jié)構(gòu),由于內(nèi)部連線資源、仲裁邏輯復(fù)雜度、消耗的緩沖區(qū)資源按照O(N2)的速度增長,僅僅擴(kuò)展單級(jí)Crossbar交換結(jié)構(gòu)階數(shù)的代價(jià)將變得不可接受。層次化交叉開關(guān)的設(shè)計(jì)能夠有效地克服傳統(tǒng)交換結(jié)構(gòu)的局限性[2],提高性能,并且已經(jīng)得到了成功的應(yīng)用[3],基于瓦片(tile)的交換結(jié)構(gòu)也十分整齊,易于擴(kuò)展,十分適合高階路由器的設(shè)計(jì),學(xué)術(shù)界也不斷對(duì)基于tile結(jié)構(gòu)的路由器進(jìn)行新的設(shè)計(jì)[4],在不影響性能的情況下可減少總的硬件開銷。
但是,路由芯片想要向更高的階數(shù)擴(kuò)展,仍然要受到當(dāng)前集成電路工藝的限制。集成電路工藝制程的升級(jí)對(duì)于各種不同類型的路由芯片的性能提升和功耗優(yōu)化都起著重要作用。在過去很長一段時(shí)間,集成電路的工藝進(jìn)步一直都在沿著摩爾定律發(fā)展。目前,IC制造可量產(chǎn)工藝已達(dá)到7 nm,并向5 nm及3 nm推進(jìn)。每一代工藝節(jié)點(diǎn)的進(jìn)步,都會(huì)使芯片具有更高的集成度,I/O管腳的數(shù)量、帶寬也都不斷增加,使得一個(gè)路由器上可以集成更多的端口數(shù),芯片上也能夠集成更多的高速串行接口。然而,先進(jìn)的集成電路工藝制程將會(huì)導(dǎo)致成本的急劇增加,7 nm工藝單次全掩膜流片甚至已經(jīng)超過10億元人民幣。由于高昂的成本,通過集成電路工藝制程的升級(jí)帶給路由芯片集成度及頻率提升的性價(jià)比越來越低。此外,摩爾定律[5]以及登納德縮放比例定律(Dennard Scaling)[6]的放緩和停滯同樣加劇了這一問題。摩爾定律指出,集成電路上可以容納的晶體管數(shù)目大約每經(jīng)過18個(gè)月便會(huì)增加一倍。登納德縮放比例定律表明,隨著晶體管面積的不斷縮小,其消耗的電壓和電流也會(huì)以差不多相同的比例縮小。因此,提高芯片頻率增加的動(dòng)態(tài)功耗會(huì)和減小的靜態(tài)功耗相抵消。進(jìn)入21世紀(jì)以后摩爾定律開始出現(xiàn)了放緩的跡象,摩爾定律預(yù)測(cè)的與芯片的實(shí)際性能在2018年甚至出現(xiàn)了15倍的差距。登納德縮放比例定律在2007年后出現(xiàn)顯著的放緩,到2012年幾乎失效。因此,通過單芯片集成的設(shè)計(jì)方式來擴(kuò)展路由器的階數(shù),在未來將會(huì)變得越來越難以接受,有必要為高階路由器設(shè)計(jì)一種新型的交換結(jié)構(gòu)。
本文首先介紹高階路由器設(shè)計(jì)的相關(guān)工作以及Chiplet技術(shù)的背景知識(shí)和采用Chiplet技術(shù)進(jìn)行高階路由器設(shè)計(jì)的研究動(dòng)機(jī);之后提出了一種基于Chiplet架構(gòu)的128端口超高階路由器,內(nèi)部的Switch Die之間采用二層胖樹拓?fù)溥M(jìn)行互連,并通過RTL級(jí)代碼對(duì)性能進(jìn)行了評(píng)估;最后給出采用Chiplet技術(shù)需要考慮的問題以及今后工作的展望。
隨著摩爾定律和登納德縮放比例定律的放緩與停滯,半導(dǎo)體制程工藝越來越接近物理極限,目前已經(jīng)實(shí)現(xiàn)了7 nm制程,三星公司與臺(tái)積電甚至都已攻克了3 nm,正在研究1 nm先進(jìn)工藝制程。但是,工藝制程提升的代價(jià)也越來越高,采用5 nm制程的芯片,從芯片的設(shè)計(jì)到流片,成本約為4.36億美元,3 nm制程的芯片成本甚至?xí)_(dá)到6.5億美元,先進(jìn)節(jié)點(diǎn)工藝技術(shù)變得更加復(fù)雜和昂貴。為了抵消這一影響,許多芯片正在變得越來越大,以繼續(xù)在功能和性能方面進(jìn)行新一代的改進(jìn),例如NVIDIA公司的“Volta” GPU芯片[7]面積達(dá)到了815 mm2。但是,增大芯片的面積會(huì)導(dǎo)致芯片的良率下降,功耗增加,大大增加芯片設(shè)計(jì)的難度,也無法獲得較好的應(yīng)用。為了緩解半導(dǎo)體工藝不斷接近物理極限帶來的問題,近幾年來,工業(yè)界和學(xué)術(shù)界都在研究基于“Chiplet”概念的片上系統(tǒng)SoC(System on Chip)設(shè)計(jì),即將一個(gè)面積較大的單片SoC分解成多個(gè)面積更小、產(chǎn)量和成本效益更高的小芯片,使用特定的高級(jí)封裝技術(shù)進(jìn)行重新整合。當(dāng)前已經(jīng)出現(xiàn)了成功利用Chiplet設(shè)計(jì)的芯片,例如NVIDIA公司的MCM-GPU[8],Marvel公司的MoChiTM(Modular Chip)架構(gòu)[9],美國國防部高級(jí)研究計(jì)劃局DARPA(Defense Advanced Research Projects Agency)也在2017年推出了聚焦Chiplet關(guān)鍵技術(shù)的CHIPS(Generic Heterogeneous Integration and IP Reuse Strategy)項(xiàng)目[10]。
Chiplet技術(shù)站在系統(tǒng)重組的角度,在對(duì)系統(tǒng)復(fù)雜功能予以逐一分解的基礎(chǔ)上,以特定功能開發(fā)為目標(biāo),對(duì)系統(tǒng)的計(jì)算、數(shù)據(jù)流管理、數(shù)據(jù)存儲(chǔ)和信號(hào)處理等功能進(jìn)行了更為細(xì)致性的分類開發(fā),將一個(gè)大型片上系統(tǒng)分解成多個(gè)具有特定功能的芯片裸片(Die),這些Die可以是相同的,也可以是不同的,在多個(gè)Die集成的形式下形成芯片網(wǎng)絡(luò)。這種做法能夠在系統(tǒng)功能聚集的基礎(chǔ)上,最大程度簡化芯片元件的復(fù)雜程度,能夠打造出更具緊湊性、功能性的新型計(jì)算機(jī)系統(tǒng)結(jié)構(gòu),而所采用的Die相較于一塊大的芯片,由于面積較小,良率會(huì)更高,并且都是經(jīng)過驗(yàn)證的已知合格裸片KGD(Known Good Die),采用這種多Die集成的芯片設(shè)計(jì)方式,能夠縮短芯片的研發(fā)周期,降低芯片生產(chǎn)成本[11]。
同時(shí),采用Chiplet技術(shù)也能夠暫時(shí)緩解芯片設(shè)計(jì)面臨的“卡脖子”問題。在晶圓廠設(shè)備受限,很難做到最先進(jìn)的工藝,并且無法獲得先進(jìn)工藝技術(shù)的情況下,利用已有的芯片技術(shù)進(jìn)行迭代開發(fā),設(shè)計(jì)出新一代的芯片,將會(huì)成為芯片設(shè)計(jì)的必然趨勢(shì)。因此,Chiplet技術(shù)為突破工藝的限制,采用已有的路由芯片進(jìn)行迭代開發(fā),設(shè)計(jì)新一代更高階數(shù)的路由芯片,提供了一種新的思路。
Figure 1 Microarchitecturel of MBTR router 圖1 MBTR 微體系結(jié)構(gòu)圖
傳統(tǒng)的大規(guī)?;ミB網(wǎng)絡(luò)是由端口數(shù)較少的低階路由器構(gòu)建的,但半導(dǎo)體工藝的進(jìn)步使得芯片集成度越來越高,集成了更多的I/O管腳數(shù),帶寬也不斷提高[12],這使得路由器向更高階擴(kuò)展成為可能。同時(shí),由于信號(hào)速率的增長速度快于網(wǎng)絡(luò)協(xié)議中所發(fā)送數(shù)據(jù)包大小的增長速度,每個(gè)路由芯片上多個(gè)窄通道的性能會(huì)好于數(shù)量較少的寬通道的性能[13]。當(dāng)今的大規(guī)模互連網(wǎng)絡(luò)大部分都是由具有更多端口數(shù)、較低端口帶寬的高階路由器構(gòu)建的,學(xué)術(shù)界和工業(yè)界也都提出和設(shè)計(jì)了許多高性能的高階路由器。
為了解決高階路由器復(fù)雜度日益增長和高階輸入隊(duì)列交換機(jī)性能低的問題,學(xué)術(shù)界提出了層次化交叉開關(guān)結(jié)構(gòu)(Hiera)[2],隨后被應(yīng)用于Cray公司研發(fā)的YARC(Yet Another Router Chip)芯片中[3],這是早期高階路由器設(shè)計(jì)中運(yùn)用模塊化設(shè)計(jì)的一個(gè)成功案例。采用基于瓦片(tile)結(jié)構(gòu)的64端口交換結(jié)構(gòu),將階數(shù)為64的高階路由器分解為64個(gè)瓦片,由瓦片作為基本單元進(jìn)行模塊化設(shè)計(jì)。報(bào)文仲裁被分解為多級(jí)分布式的異步仲裁,降低了仲裁的復(fù)雜度;同時(shí),每個(gè)瓦片的結(jié)構(gòu)相同,使得路由器內(nèi)部的結(jié)構(gòu)非常規(guī)整。
但是,由于較高的存儲(chǔ)資源需求以及更為復(fù)雜的全局布線,當(dāng)路由器的階數(shù)不斷增加時(shí),每個(gè)tile的仲裁邏輯、存儲(chǔ)資源和全局布線復(fù)雜度都會(huì)線性地增加,YARC結(jié)構(gòu)不具有較好的可擴(kuò)展性。一種基于tile結(jié)構(gòu)的聚合端口路由器MBTR(Multiport Binding Tile-based Router)[4]通過在每個(gè)tile內(nèi)綁定多個(gè)物理端口,減少tile的數(shù)量,從而降低硬件開銷。一個(gè)階數(shù)為64的MBTR路由器,相較于同階數(shù)的Hiera結(jié)構(gòu)路由器,在性能相同的情況下,能夠降低50%~75%的存儲(chǔ)開銷和布線資源。階數(shù)為36的MBTR路由器結(jié)構(gòu)圖如圖1所示。
雖然基于tile結(jié)構(gòu)的高階路由器能夠提供較高的性能,但是布線和中間緩沖區(qū)資源的開銷都十分高昂,學(xué)術(shù)界也探索了高階路由器交換結(jié)構(gòu)網(wǎng)絡(luò)化的方法,提出將高階路由器的交換結(jié)構(gòu)利用構(gòu)建網(wǎng)絡(luò)的思想來實(shí)現(xiàn)[14]。通過由多個(gè)低階Switch互連組成的網(wǎng)絡(luò)來實(shí)現(xiàn)高階路由器內(nèi)部的交換功能,這種方法能夠使高階路由器具有更好的可擴(kuò)展性,并且能夠大幅度降低布線的復(fù)雜度及緩存資源。
但是,上述路由器微體系結(jié)構(gòu)都是針對(duì)單芯片集成的方式設(shè)計(jì)的。隨著芯片制程的不斷發(fā)展,單個(gè)芯片所能集成的串行器/解串器SerDes(Serializer/Deserializer)高速差分I/O引腳數(shù)目并沒有顯著提升,這意味著通過制程的提高來增加SerDes數(shù)目的方式將變得越來越難,若要在芯片中集成更多的端口就勢(shì)必要犧牲每個(gè)端口的帶寬。而Chiplet技術(shù)則為路由器微體系結(jié)構(gòu)的設(shè)計(jì)提供了新的方法,例如,路由芯片往往需要提供高密度的高速串行接口,傳統(tǒng)的交換芯片是將交換邏輯與高速接口邏輯在一個(gè)芯片內(nèi)實(shí)現(xiàn),采用Chiplet技術(shù),可以將SerDes集成為I/O Die,通過Switch Die和多個(gè)I/O Die的集成使得芯片帶寬不局限于SerDes集成數(shù)目,具有更好的可擴(kuò)展性。交換邏輯作為芯片中最重要的功能部分,用最先進(jìn)的工藝來實(shí)現(xiàn)能夠獲得較大的收益,而I/O接口則可以使用較為成熟的工藝實(shí)現(xiàn)。Intel公司利用Chiplet的思想,將交換邏輯(7 nm工藝)與多個(gè)高速SerDes 集成的I/O接口(12 nm工藝)分成不同的Die實(shí)現(xiàn),再通過特定的高級(jí)封裝技術(shù)整合在一起,設(shè)計(jì)出了具有12.8 Tb/s高帶寬的Tofino2[15]路由芯片。
Chiplet技術(shù)為芯片交換能力的提升和靈活配置提供了一種全新的思路,同時(shí)也使路由器不斷向更高階數(shù)擴(kuò)展成為可能。由于工藝的限制,未來采用單片集成的方式在路由芯片中集成更多的管腳數(shù)和更高的單引腳帶寬將會(huì)變得越來越難,芯片的總體帶寬難以持續(xù)增加,增加路由器的階數(shù)將以減小每個(gè)端口的帶寬為代價(jià)。
采用Chiplet架構(gòu),可以將基于tile的交換結(jié)構(gòu)與網(wǎng)絡(luò)化交換結(jié)構(gòu)的方法相結(jié)合,利用多個(gè)已知合格芯片,例如MBTR,通過高效的高階拓?fù)鋵?shí)現(xiàn)階數(shù)的靈活擴(kuò)展,既克服了基于tile的交換結(jié)構(gòu)向更高階數(shù)擴(kuò)展時(shí)所面臨的緩沖區(qū)資源和布線復(fù)雜度不斷增加的問題,又能夠保證較高的性能,同時(shí)也克服了單芯片帶寬所受到的SerDes集成數(shù)目的限制。并且,由于采用的Switch Die是已經(jīng)經(jīng)過驗(yàn)證的合格裸片,在芯片的設(shè)計(jì)過程中能夠簡化驗(yàn)證過程,縮短研發(fā)周期,實(shí)現(xiàn)利用已有的路由芯片進(jìn)行高效的迭代開發(fā),構(gòu)造新一代更高階數(shù)的路由器。
在了解了Chiplet的相關(guān)設(shè)計(jì)思想,并研究了高階路由器所面臨的挑戰(zhàn)之后,本文提出了一種基于Chiplet的超高階可擴(kuò)展路由器設(shè)計(jì),利用已有的36端口MBTR路由芯片作為Switch Die,模擬采用二層胖樹拓?fù)鋵?shí)現(xiàn)Switch Die之間的互連,構(gòu)造了實(shí)際端口數(shù)為128的更高階數(shù)的路由器。
胖樹拓?fù)涫浅?jí)計(jì)算機(jī)最常用的拓?fù)浣Y(jié)構(gòu)之一,Cray公司早期的計(jì)算機(jī)XD1就是利用低階路由器搭建的胖樹拓?fù)浣Y(jié)構(gòu)實(shí)現(xiàn)的,而后Cray公司又使用階數(shù)為64的YARC結(jié)構(gòu)路由器搭建胖樹拓?fù)?應(yīng)用于BlackWidow計(jì)算機(jī)中。國防科技大學(xué)自主研制的天河系列超級(jí)計(jì)算機(jī)也一直沿用的是高階胖樹拓?fù)浣Y(jié)構(gòu)。胖樹拓?fù)浣Y(jié)構(gòu)最大的優(yōu)勢(shì)在于當(dāng)網(wǎng)絡(luò)規(guī)模增大時(shí),網(wǎng)絡(luò)的等分帶寬也能同程度地增加,網(wǎng)絡(luò)的性能較好,通過增加更多的路由芯片進(jìn)行報(bào)文轉(zhuǎn)發(fā),有效避免了網(wǎng)絡(luò)路徑唯一性和負(fù)載不均衡的缺點(diǎn)。
該高階路由器內(nèi)部的Switch Die互連拓?fù)浣Y(jié)構(gòu)如圖2所示,內(nèi)部是一個(gè)2層胖樹網(wǎng)絡(luò),共由12個(gè)Switch Die構(gòu)成,其中8個(gè)組成胖樹的第1級(jí)結(jié)構(gòu),每個(gè)Switch Die中16個(gè)端口用于與終端結(jié)點(diǎn)相連接,總共能連接128個(gè)終端節(jié)點(diǎn),16個(gè)端口分別用于與第2級(jí)的4個(gè)Switch Die之間進(jìn)行互連,第1級(jí)與第2級(jí)的每2個(gè)Switch Die之間通過4個(gè)端口實(shí)現(xiàn)互連。對(duì)于每個(gè)36端口的MBTR Switch Die,構(gòu)建2層胖樹拓?fù)渲恍枰渲械?2個(gè)端口,有4個(gè)端口未被使用。而所采用的36端口MBTR Switch Die是已經(jīng)得到成熟驗(yàn)證和應(yīng)用的路由芯片,能夠簡化路由芯片的設(shè)計(jì)與開發(fā),并且能實(shí)現(xiàn)高吞吐率及低延遲,Switch Die的階數(shù)與構(gòu)建拓?fù)涞膶?shí)際需求相差不大,因此無需重新設(shè)計(jì)32端口的芯片。
Figure 2 Fat tree topology for Switch Die interconnection圖2 用于Switch Die間互連的胖樹拓?fù)?/p>
在該拓?fù)渲?任意2個(gè)終端結(jié)點(diǎn)之間報(bào)文的傳輸最多只需要2跳,路由器的有效階數(shù)可擴(kuò)展為128。
報(bào)文在由多個(gè)Switch Die構(gòu)成的高階路由器內(nèi)的傳輸過程,其實(shí)就是報(bào)文在Switch Die構(gòu)成的網(wǎng)絡(luò)中的傳輸過程。
MBTR結(jié)構(gòu)將一個(gè)N×N的交換結(jié)構(gòu),用(N/A)個(gè)tile按照R×C的矩陣排列實(shí)現(xiàn),每個(gè)tile內(nèi)的子交叉開關(guān)的規(guī)模為m×n,其中,A為一個(gè)tile內(nèi)聚合的物理端口數(shù),R和C分別為每行和每列的tile數(shù)量,m和n分別為子交叉開關(guān)行緩沖和列緩沖的數(shù)量。對(duì)于構(gòu)成該胖樹拓?fù)涞?6端口的MBTR Switch Die,是由12個(gè)tile按照3×4的矩陣構(gòu)成,一個(gè)tile內(nèi)聚合了3個(gè)物理端口。
由于第1級(jí)與第2級(jí)的每2個(gè)Switch Die之間通過4個(gè)端口實(shí)現(xiàn)互連,因此路由表的配置需要考慮多路徑路由和負(fù)載均衡。對(duì)于每個(gè)Switch Die,配置了不同的路由表,而單個(gè)Switch Die中每個(gè)輸入端口都集成了相同的路由表。對(duì)于第1級(jí)Switch Die的路由表配置,每個(gè)Switch Die需要對(duì)去往128個(gè)目的端口的流量進(jìn)行負(fù)載均衡,由于有16個(gè)目的端口位于本地Switch Die,因此只需要將去往位于其它Switch Die的112個(gè)目的端口的流量按照16個(gè)上行端口進(jìn)行負(fù)載均衡的配置,即每條上行鏈路分別對(duì)去往非本地Switch Die的7個(gè)目的端口的上行流量進(jìn)行傳輸;而對(duì)于第2級(jí)的4個(gè)Switch Die,由于只負(fù)責(zé)流量的轉(zhuǎn)發(fā),路由表的配置則按照與第1級(jí)Switch Die的互連方式進(jìn)行配置,即去往某個(gè)第1級(jí)Switch Die 16個(gè)目的端口的下行流量,由4條下行鏈路分別進(jìn)行傳輸,每條下行鏈路分別傳輸去往4個(gè)不同端口的流量。
當(dāng)報(bào)文到達(dá)第1級(jí)Switch Die的輸入端口時(shí),首先被儲(chǔ)存在輸入緩沖區(qū)中,通過路由計(jì)算單元計(jì)算出目的端口所在tile的行號(hào)、列號(hào)和輸出端口號(hào),如果該報(bào)文的目的端口位于當(dāng)前Switch Die,則報(bào)文在路由器內(nèi)部的傳輸過程就是在當(dāng)前Switch Die內(nèi)的傳輸過程:虛通道VC(Virtual Channel)仲裁器按照輪詢的方式從緩沖區(qū)中選擇一個(gè)報(bào)文,通過一個(gè)1×4的多路分配器,根據(jù)行號(hào)進(jìn)入該輸入端口對(duì)應(yīng)的行緩沖;子交叉開關(guān)設(shè)置有2級(jí)仲裁,每個(gè)VC仲裁器從多個(gè)VC的報(bào)文請(qǐng)求中選擇一個(gè)報(bào)文,端口仲裁器將會(huì)從VC仲裁器選出的報(bào)文中,根據(jù)列號(hào)和輸出端口號(hào),將報(bào)文傳輸?shù)綄?duì)應(yīng)的列緩沖中;當(dāng)報(bào)文到達(dá)列緩沖的隊(duì)列頭部時(shí),報(bào)文將會(huì)通過一個(gè)3×1的多路選擇器發(fā)送到輸出鏈路;如果該報(bào)文的目的端口位于其它的Switch Die,那么還需要通過上行鏈路發(fā)送到對(duì)應(yīng)的第2級(jí)Switch Die,之后,通過相同的仲裁過程和下行鏈路最終到達(dá)目的端口所在的第1級(jí)Switch Die的輸出端口,由終端結(jié)點(diǎn)接收或者進(jìn)入其它的路由器。
為了測(cè)試基于Chiplet的超高階路由器的性能,本文使用真實(shí)工程中的RTL代碼進(jìn)行實(shí)驗(yàn)仿真,搭建了由12個(gè)Switch Die構(gòu)成的2層胖樹網(wǎng)絡(luò),其中第1級(jí)8個(gè)Switch Die的16個(gè)端口用于連接終端結(jié)點(diǎn),16個(gè)端口用于Die間的互連,第2級(jí)的4個(gè)Switch Die的32個(gè)端口全部用于Die間的互連。同時(shí)構(gòu)造了128個(gè)終端結(jié)點(diǎn),分別用于與第1級(jí)8個(gè)Switch Die的16個(gè)注入端口連接,用于產(chǎn)生流量,模擬鏈路層行為,例如基于信用的流控機(jī)制、隨機(jī)的物理錯(cuò)誤等等,因此該基于Chiplet的超高階路由器實(shí)際階數(shù)為128。本文測(cè)試了在均衡流量模式和非均衡流量模式下,系統(tǒng)的延遲和吞吐率性能。一個(gè)報(bào)文的延遲按照?qǐng)?bào)文的第1個(gè)flit到達(dá)某個(gè)輸入端口開始,直到報(bào)文的最后1個(gè)flit離開某個(gè)輸出端口來計(jì)算。在熱點(diǎn)流量模式下,每個(gè)終端結(jié)點(diǎn)產(chǎn)生報(bào)文的目的端口集中于前三分之一的端口,在指數(shù)流量模式和泊松分布流量模式下,報(bào)文的目的端口分別呈指數(shù)分布和泊松分布。
圖3顯示的是不同流量模式下,該高階路由器的系統(tǒng)吞吐率,并與單個(gè)MBTR路由器的性能進(jìn)行了對(duì)比。可以看到,該128端口的基于Chiplet的超高階路由器,在均衡流量模式的滿負(fù)載情況下,系統(tǒng)吞吐率能夠達(dá)到98%,與MBTR相同,但是在指數(shù)流量模式和泊松流量模式下,吞吐率分別降低了27%和72%。這是由于所有目的輸出端口的不同報(bào)文存儲(chǔ)在同一個(gè)緩沖區(qū)里造成的,目的端口分布不均勻?qū)?huì)導(dǎo)致頭堵塞(Head-of-Line Blocking),對(duì)性能產(chǎn)生較大的影響,當(dāng)報(bào)文需要在多個(gè)Switch Die間傳輸時(shí),性能會(huì)進(jìn)一步下降。
Figure 3 Throughput comparison of two routers under different traffic models圖3 不同流量模式下2種路由器吞吐率對(duì)比
報(bào)文的延遲性能有著類似的結(jié)果,由于基于Chiplet的路由器報(bào)文的傳輸需要經(jīng)過多個(gè)Switch Die,相較于單個(gè)MBTR路由器延遲必然更高。不同流量模式下Chiplet結(jié)構(gòu)路由器的報(bào)文延遲如圖4所示,在均衡流量模式下,flit的平均延遲較低并且在負(fù)載較高的情況下比較穩(wěn)定,而在目的端口分布不均勻時(shí),同樣會(huì)出現(xiàn)由于隊(duì)列頭阻塞導(dǎo)致的性能下降問題,flit的平均延遲較高。
Figure 4 Average flit delay of Chiplet router under different traffic models圖4 不同流量模式下Chiplet路由器平均flit延遲
本文針對(duì)采用Chiplet技術(shù)設(shè)計(jì)超高階可擴(kuò)展路由器時(shí),根據(jù)胖樹拓?fù)湫阅茌^好的特點(diǎn),提出了一種可行的Switch Die間互連拓?fù)浞桨?。在?shí)際的Chiplet架構(gòu)設(shè)計(jì)中,還需要結(jié)合具體的封裝技術(shù)以及Die間互連接口。
目前,采用基板的封裝技術(shù)應(yīng)用較為廣泛,成本較低,在許多的Chiplet系統(tǒng)中都得到了成功的應(yīng)用[16,17]。但是,由于基板主要采用的是引線鍵合或倒裝技術(shù),I/O引腳的密度較低,芯片的大部分引腳被電源占用,因此用于數(shù)據(jù)傳輸?shù)囊_十分稀少,Die間的互連必須要采用超短距離的高速SerDes。
采用硅中介層的封裝技術(shù),是2.5D封裝技術(shù)的主要形式,所謂的2.5D封裝,是在基板上放置硅中介層,再將多個(gè)Die放置在硅中介層上,通過微凸點(diǎn)以及硅通孔技術(shù),能夠?qū)崿F(xiàn)更小的凸點(diǎn)間距和走線距離。相對(duì)于基于基板的封裝,基于硅中介層的封裝可以實(shí)現(xiàn)更高的I/O密度,因此Die間的互連接口主要采用并行接口。
因此,在未來將會(huì)考慮具體的封裝技術(shù)。對(duì)于不同的封裝技術(shù),所適用的Die間互連接口也不相同?;诨宓姆庋b常采用串行接口,雖然傳輸速率較高,對(duì)I/O引腳的需求較低,但當(dāng)數(shù)據(jù)傳輸速率較高時(shí),需要適合的前向糾錯(cuò)機(jī)制來確保數(shù)據(jù)傳輸?shù)臏?zhǔn)確性,因此會(huì)引入較高的數(shù)據(jù)傳輸延遲。而以硅中介層封裝技術(shù)為代表的2.5D封裝技術(shù)和3D堆疊技術(shù),具有較高的I/O引腳密度,雖然封裝成本較高,但可以采用傳輸速率較低但準(zhǔn)確性較高的并行接口,例如Intel的高級(jí)接口總線AIB(Advanced Interface Bus)[18]和臺(tái)積電的LIPINCON[19],能夠?qū)崿F(xiàn)較低的數(shù)據(jù)傳輸延遲。對(duì)于基于Chiplet的高階路由器設(shè)計(jì),為了實(shí)現(xiàn)Switch Die間的高效通信,除了設(shè)計(jì)高效的Die間互連拓?fù)渲?不同的封裝技術(shù)以及Die間互連接口的選擇對(duì)Chiplet系統(tǒng)的整體成本及性能有著不同的影響,需要在各種影響因素之間進(jìn)行權(quán)衡,同時(shí)也會(huì)搭建其它的主流高階拓?fù)溥M(jìn)行對(duì)比評(píng)測(cè),結(jié)合拓?fù)?、互連接口和封裝技術(shù)等因素,在多種方案中選取最優(yōu)的設(shè)計(jì)方案。
本文針對(duì)目前高階路由器設(shè)計(jì)在可擴(kuò)展性、成本及功耗方面面臨的挑戰(zhàn),結(jié)合Chiplet設(shè)計(jì)思想,設(shè)計(jì)和模擬實(shí)現(xiàn)了一種基于Switch Die間互連的超高階路由器體系結(jié)構(gòu)。采用2層胖樹拓?fù)鋵?shí)現(xiàn)了12個(gè)可重用Switch Die間的互連通信,并將路由器階數(shù)擴(kuò)展至128。分別在均衡流量模式和非均衡流量模式下測(cè)試了該體系結(jié)構(gòu)吞吐率和延遲隨負(fù)載變化的情況,在最常見的均衡流量模式下,該Switch Die互連拓?fù)淠軌驅(qū)崿F(xiàn)較好的性能。未來也會(huì)搭建其它的主流高階拓?fù)溥M(jìn)行評(píng)估,選擇最優(yōu)方案。