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





