PCIe 6.0標準更高帶寬與更低延遲實現(xiàn)
作為CPU與存儲之間的連接通道,PCIe自推出以來始終扮演著重要的作用。隨著大數(shù)據(jù)分析、視頻渲染等技術(shù)的飛速發(fā)展,PCIe6.0標準于去年初正式發(fā)布,相比較上一代PCIe 5.0規(guī)范,帶寬再次翻倍,達到了64 GT / s。
雖說PCIe6.0發(fā)布并未引起太多用戶的關(guān)注,但作為CXL 3.0軟件棧協(xié)議規(guī)范的物理連接承載平臺,PCI e 6.0將真正承載起CPU與GPU(AI加速器)、CPU與DPU(智能萬卡NIC)、以及CXL內(nèi)存模塊(可以理解為其他CPU DDR內(nèi)存)的連接,成為異構(gòu)計算架構(gòu)下數(shù)據(jù)交互的高速公路。
PCI-SIG 主席兼總裁 Al Yanes 表示,很高興能夠在 PCIe 5.0 規(guī)范發(fā)布不到三年之后推出 PCIe 6.0。新標準有助于降低成本,可幫助數(shù)據(jù)中心、人工智能 / 機器學習、HPC、汽車、物聯(lián)網(wǎng)以及軍事、航空航天等領(lǐng)域進行密集數(shù)據(jù)計算,同時保證了與之前幾代技術(shù)的兼容性。
官方表示,固態(tài)硬盤 SSD 市場的飛速增長,復合年增長率達到 40%。未來對速度的要求會進一步提升。PCIe 6.0 標準的推出,將在未來滿足存儲行業(yè)的需求,提供更高的帶寬和更低延遲。
PCIe技術(shù),數(shù)據(jù)交互的高速公路
PCIe總線的前身是PCI(Peripheral Component Interconnect)總線協(xié)議,由英特爾于1992年提出,并聯(lián)合業(yè)界合作伙伴成立了名為PCI-SIG (PCI Special Interest Group)(PCI 特殊興趣組J)的企業(yè)聯(lián)盟,負責PCI總監(jiān)的標準制定和推廣。
PCI提出的目的是簡化主板的總線接口,并提高數(shù)據(jù)傳輸總線的性能。由于PCI總線跟ISA總線都使用了并行總線設(shè)計,所以傳輸速度會受到影響。此外,PCI總線由于采用了帶寬共享機制,因此在高負載下會出現(xiàn)設(shè)備之間會搶帶寬的現(xiàn)象。最后,由于PCI不支持熱插拔,因此也不能更好的支持更換磁盤的操作。
為了解決PCI總線的缺陷,2004年英特爾聯(lián)合伙伴對PCI技術(shù)進行了升級,正式發(fā)布了 PCI Express(簡稱PCIe)總線,并陸續(xù)推出了PCIe1.0、PCIe2.0、PCIe3.0、PCIe4.0 、PCIe5.0和PCIe6.0規(guī)范,不斷的進行帶寬優(yōu)化。
實際上,近兩年火爆的CXL技術(shù),其底層就是基于PCIe技術(shù)。隨著大數(shù)據(jù)分析、視頻渲染等技術(shù)的飛速發(fā)展,以及異構(gòu)計算模式的興起,對于CPU與GPU、CPU與DPU等之間數(shù)據(jù)交互的帶寬提出了更高的要求。于是,PCIe 6.0 標準應(yīng)運而生。
PCIe6.0規(guī)范:更高帶寬與更低延遲
與PCIe5.0相比,PCIe6.0的最大亮點在于將帶寬翻倍提升至64 GT/s。數(shù)據(jù)顯示,PCIe6.0標準的6路雙向傳輸帶寬可達 256GB/s。由于PCIe的系統(tǒng)性能取決于RTT(Round-TripTime)及有效負載大小在支持的標簽數(shù)量上,因此PCIe6.0變成了基于14位的15,360個標簽數(shù)量(PCIe 5.0擁有768的標簽數(shù)量),滿足了在RTT較長的情況下也能使系統(tǒng)整體保證高性能的工作狀態(tài)。
為了降低頻率損耗ukjg ,PCIe 6.0采用高階調(diào)制格式PAM4,保證在信號幅度相同的情況下信噪比下降了約9.5dB。為了解決電源噪聲、串擾、反射等系統(tǒng)噪音影響,PCIe 6.0規(guī)范在綜合考量了FBER、FIT、FLIT Retry 概率、帶寬效率、Latency 及 FLIT 的 FEC 能力后,采用了輕量級FEC配合使用循環(huán)冗余碼(CRC),在降低噪聲敏感性的基礎(chǔ)上將FEC帶給系統(tǒng)延遲控制在2ns之內(nèi)。
此外,PCIe 6.0還引入了FLIT模式(流量控制單元)。與物理層的PAM4不同,F(xiàn)LIT編碼用于邏輯層,將數(shù)據(jù)分解為固定大小的數(shù)據(jù)包。PCIe 6.0以FLIT為單位進行事務(wù)傳輸,每個FLIT有256 B數(shù)據(jù)(1 FLIT=236B TLP+6B DLP+8B CRC+6B FEC=256B),每B數(shù)據(jù)占用4 UI。此外,F(xiàn)LIT編碼還消除了以前PCIe規(guī)范的128B/130B編碼和DLLP(數(shù)據(jù)鏈路層數(shù)據(jù)包)開銷,從而顯著提高了TLP(事務(wù)層數(shù)據(jù)包)效率。
PCIE6.0規(guī)范定義了FBER:1E-6,并引入輕量級FEC和魯棒性強的CRC算法實現(xiàn)修正和錯誤檢測。
從PCIe 6.0的規(guī)范我們不難發(fā)現(xiàn),與前幾代產(chǎn)品相比,技術(shù)上有著巨大的革新。不過,雖然PCIe 6.0更具優(yōu)勢,并且已經(jīng)提出一年有余,但時至當下在PCIe 5.0還沒有完全普及的情況之下,PCIe 6.0何時才能走進用戶,有著諸多的不確定因素。即使在規(guī)范的發(fā)起者,英特爾在今年剛剛發(fā)布的第四代至強可擴展處理器上,也僅支持PCIe 5.0。不過,這并不影響PCIe 6.0的未來發(fā)展。筆者認為,隨著企業(yè)對于算力性能的不斷提升,異構(gòu)計算架構(gòu)的快速普及,PCIe將迎來巨大的發(fā)展機遇。
不斷增長的算力需求,加速PCIe 6.0規(guī)范落地
前文提到了CXL這一當前比較火的技術(shù)。實際上,在CXL短短幾年的發(fā)展中,也經(jīng)歷了不同的階段,并且與PCIe底層技術(shù)有著密切的關(guān)聯(lián)。
如果說在CXL1.1中還僅限于單一Node,是一種CPU到CPU,或者CPU到PCIe設(shè)備的cache一致性互聯(lián),與PCIe關(guān)聯(lián)并不算大之外,那么從CXL2.0技術(shù)開始,由于加入了一層(Single Level)的Switch(PCIe Switch),實現(xiàn)了多個設(shè)備連接到一個root port上,這就與PCIe有著密不可分的關(guān)系。
當然,CXL1.1和CXL2.0都是基于PCIe5.0的底層技術(shù)。到了CXL 3.0時代的每通道吞吐量提升了一倍,達到64GT/s,便是建立在PCI-Express 6.0之上,并且其將一些復雜的標準設(shè)計簡單化,確保了易用性。
我們知道,CXL創(chuàng)新性的引入了Flex Bus端口,可以靈活的根據(jù)鏈路層協(xié)商決定是采用PCIe協(xié)議還是CXL協(xié)議,這就不難看出,CXL擁有較高的兼容性,更容易被現(xiàn)有支持PCIe端口的處理器(絕大部分的通用CPU、GPU 和 FPGA)所接納。這種創(chuàng)新,也更加有助于用戶搭建異構(gòu)計算架構(gòu),在進一步提升算力的同時,降低數(shù)據(jù)中心的整體能耗。
實際上,從CXL1.0/1.1、PCIe5.0、CXL2.0以及PCIe6.0CXL3.0的發(fā)展軌跡,我們也可以清晰看出CXL和PCI-e的關(guān)系。PCIe技術(shù)作為CXL技術(shù)的底層基礎(chǔ),會更早進行迭代升級。CXL可視為PCI-e技術(shù)的再提高版本,并且,CXL延伸了更多變革性的功能。
進入CXL3.0時代,由于允許更復雜的連接拓撲,以及一組CXL設(shè)備內(nèi)可以靈活實現(xiàn)Memory sharing(內(nèi)存共享)和內(nèi)存訪問,能夠讓多個Switch互相連接,或者能夠讓上百個服務(wù)器互聯(lián)并共享內(nèi)存。因此,數(shù)據(jù)中心的算力水平將得到進一步提升。因此,英特爾將CXL視為在PCIe物理層之上運行的一種可選協(xié)議,也就是說PCIe的互聯(lián)協(xié)議沒有被完全拋棄,并且英特爾還計劃在PCIe 6.0標準上大力推進CXL的采用。
寫在最后:雖說PCIe 6.0的技術(shù)至今仍舊沒有看到具體的應(yīng)用落地,但從技術(shù)上來看,PCIe 6.0標準的發(fā)布將進一步提高數(shù)據(jù)中心算力水平,能夠更好地推動諸如基因測序、自動駕駛等數(shù)據(jù)爆炸式增長的場景下對算力的需求。實際上,在英特爾規(guī)劃的Diamond Rapids(DMR)上,將會迎來一次較大的變革,首次支持PCIe 6.0總線,還會首次支持CXL 3.0高速接口,而后者正是基于PCIe 6.0而來。