CXL (Compute Express Link) 技術是一種新型的高速互聯(lián)技術,旨在提供更高的數(shù)據(jù)吞吐量和更低的延遲,以滿足現(xiàn)代計算和存儲系統(tǒng)的需求。它最初由英特爾、AMD和其他公司聯(lián)合推出,并得到了包括谷歌、微軟等公司在內(nèi)的大量支持。
01.?CXL介紹
CXL的目標:解決CPU和設備、設備和設備之間的內(nèi)存鴻溝。服務器有巨大的內(nèi)存池和數(shù)量龐大的基于PCIe運算加速器,每個上面都有很大的內(nèi)存。內(nèi)存的分割已經(jīng)造成巨大的浪費、不便和性能下降。CXL就是為解決這個問題而誕生。 ?
CXL技術的背景可以追溯到PCIe (Peripheral Component Interconnect Express) 技術,PCIe是用于連接計算機內(nèi)部組件的一種標準接口技術。PCIe設備可以發(fā)起一個DMA來訪問內(nèi)存,只要知道目標物理地址即可。在CXL之前就有以IBM牽頭的OpenCAPI,ARM為代表支持的CCIX,AMD等支持的GenZ和Nvidia自行提出的Nvlink等等多種協(xié)議。雖然PCIe已經(jīng)有了很多改進,但其難以滿足現(xiàn)代計算機處理器和加速器之間的高帶寬、低延遲通信需求。于是,CXL技術應運而生。
CXL技術的應用場景非常廣泛,其中包括數(shù)據(jù)中心、人工智能和處理器互聯(lián)等領域。在數(shù)據(jù)中心領域,CXL技術可以將不同的計算和存儲資源進行互聯(lián),提高系統(tǒng)性能和效率。在人工智能領域,CXL技術可以使GPU和FPGA等加速器更好地與主處理器進行協(xié)作,提高AI模型訓練和推理的速度。在處理器互聯(lián)方面,CXL技術可以實現(xiàn)不同廠商的處理器之間的互聯(lián),提高系統(tǒng)的整體性能和靈活性。
02.?CXL技術概覽
2.1、什么是CXL技術?
CXL(Compute Express Link)是一種高速串行協(xié)議,它允許在計算機系統(tǒng)內(nèi)部的不同組件之間進行快速、可靠的數(shù)據(jù)傳輸。CXL在2020年推出,由英特爾、戴爾和惠普等公司共同設計。它旨在解決高性能計算中的瓶頸問題,包括內(nèi)存容量、內(nèi)存帶寬和I/O延遲等問題。CXL還可以實現(xiàn)內(nèi)存擴展和內(nèi)存共享,并且可與計算加速器(如GPU、FPGA)等外設通信,提供更快、更靈活的數(shù)據(jù)交換和處理方式。
CXL技術不僅提供了高速傳輸,還支持內(nèi)存共享和虛擬化,使設備之間的協(xié)作更加緊密和高效。這種技術有助于滿足現(xiàn)代數(shù)據(jù)中心對大規(guī)模處理和分析的需求,同時也能夠為AI、機器學習、區(qū)塊鏈等新興應用提供更好的支持。
2.2、CXL技術的三種模式:http://CXL.io、CXL.cache和CXL.memory
CXL協(xié)議包含三個子協(xié)議:
http://CXL.io:這種模式可以將內(nèi)存擴展到外部設備,使得數(shù)據(jù)的傳輸速度更快。http://
CXL.io通過PCIe總線連接CPU和外部設備,這樣CPU就可以與外部設備共享內(nèi)存,并且可以直接訪問外部設備的I/O資源。
CXL.cache:這種模式可以通過將內(nèi)存緩存到外部設備中來提高性能。CXL.cache模式允許CPU在本地緩存中保留最常用的數(shù)據(jù),而將不常用的數(shù)據(jù)保存在外部設備中。這樣可以減少內(nèi)存訪問時間,提高整體系統(tǒng)性能。
CXL.memory:這種模式可以將外部設備作為主內(nèi)存使用,從而實現(xiàn)更大的內(nèi)存容量。CXL.memory模式允許CPU將外部設備看作是擴展內(nèi)存,從而可以存儲更多的數(shù)據(jù)。這種方式可以提高系統(tǒng)的可靠性,因為即使發(fā)生了內(nèi)存故障,CPU仍然可以通過外部設備繼續(xù)運行。
http://CXL.io是Compute Express Link(CXL)規(guī)范中定義的物理層接口,可以提供比傳統(tǒng)PCIe更低的延遲、更高的帶寬和更好的可擴展性。 http://CXL.io通過使用SerDes技術(一種將串行數(shù)據(jù)轉換為并行數(shù)據(jù)以及反向轉換的技術),在單個物理通道上同時傳輸多個不同的數(shù)據(jù)流。這些數(shù)據(jù)流可以包括帶寬密集型的數(shù)據(jù)流、低延遲的命令和控制信息以及配置寄存器和狀態(tài)信息。http://CXL.io還支持熱插拔和鏈路訓練等高級特性。 http://CXL.io的物理層規(guī)范定義了信號的電氣特性、時序要求和連接器接口,以確保高可靠性和高性能。http://CXL.io采用4x25Gbps或3x32Gbps的信號速率,并支持單向或雙向通信。連接器方面,http://CXL.io采用40個針腳的SMT連接器,其中27個針腳用于數(shù)據(jù)傳輸,其余用于電源、地線和時鐘信號。 CXL技術的三種類型:
Type 1:通過 PCIe 插槽安裝的加速卡或附加卡。這些卡可以與現(xiàn)有系統(tǒng)集成,并通過 CXL 接口與 CPU 直接通信以提供更快的數(shù)據(jù)傳輸速度。用于網(wǎng)卡這類高速緩存設備。
Type 2:具有所有 Type 1 設備的功能,通常用于具有高密度計算的場景。比如 GPU 加速器。
Type 3:一種專用的存儲設備,與主機處理器直接通信,并且可以使用 CXL 協(xié)議來實現(xiàn)低延遲、高吞吐量的數(shù)據(jù)傳輸。用作內(nèi)存緩沖器,用于擴展內(nèi)存帶寬和內(nèi)存容量。
03.?CXL技術的優(yōu)勢
更快的數(shù)據(jù)傳輸速度:CXL技術可以實現(xiàn)高達25GB/s的數(shù)據(jù)傳輸速度,比目前常用的PCIe 4.0技術還要快。這意味著在數(shù)據(jù)中心等高性能應用場景下,可以更快地進行數(shù)據(jù)處理和傳輸。
更低的延遲:CXL技術可以將CPU、GPU、FPGA等計算設備與內(nèi)存直接連接,避免了傳統(tǒng)的I/O總線帶來的時延,從而實現(xiàn)更低的延遲,提高了計算效率。
更高的能效:CXL技術支持在多臺計算設備之間共享內(nèi)存,降低了內(nèi)存冗余,提高了能效。此外,CXL技術還支持內(nèi)存虛擬化,可以根據(jù)應用負載動態(tài)分配內(nèi)存資源,進一步提高了系統(tǒng)能效。
更強的可擴展性:CXL技術可以支持內(nèi)存擴展,允許在不停機的情況下添加更多的內(nèi)存容量,從而增加系統(tǒng)的可擴展性,為未來的應用需求做好準備。
更廣泛的應用場景:CXL技術不僅適用于數(shù)據(jù)中心等高性能計算領域,還可以應用于人工智能、區(qū)塊鏈、物聯(lián)網(wǎng)等多個領域。
一句話:支持高帶寬、低延遲數(shù)據(jù)傳輸、具有更好的靈活性和可擴展性、可以實現(xiàn)混合使用不同類型的硬件設備。 04.?CXL技術的應用
4.1、計算機系統(tǒng)中的應用
CXL可以用于計算機系統(tǒng)中的許多應用:
高性能計算:CXL可以提供低延遲、高帶寬的協(xié)議,可用于連接CPU、GPU、FPGA等處理器,在高性能計算中提供更快的數(shù)據(jù)傳輸。
存儲加速:CXL可以用于連接存儲設備,如SSD和NVMe驅動器,以提供更快的存儲訪問速度。此外,CXL還可以與內(nèi)存控制器集成,為存儲加速提供更大的帶寬。
人工智能:CXL可用于連接AI芯片,以提供更快的數(shù)據(jù)傳輸,從而提高AI工作負載的性能和效率。
網(wǎng)絡加速:CXL還可以用于連接網(wǎng)絡適配器,以提供更快的網(wǎng)絡傳輸速度,從而提高網(wǎng)絡應用程序的性能。
4.2、數(shù)據(jù)中心中的應用
在數(shù)據(jù)中心中,CXL可以應用于以下方面:
高性能計算:CXL可以提供比傳統(tǒng)PCIe更快的數(shù)據(jù)傳輸速度和更低的延遲,從而提高高性能計算的效率和吞吐量。
存儲加速:CXL可以將存儲加速器與主機CPU直接連接,從而實現(xiàn)更快的數(shù)據(jù)訪問和更高的IOPS,提高存儲性能。
AI加速:CXL可以將AI加速器與CPU/GPU/FPGA等處理器直接連接,實現(xiàn)更快的模型訓練和推理速度,提高人工智能應用的性能。
大規(guī)模虛擬化:CXL可以將多個CPU和內(nèi)存資源組合成一個大規(guī)模虛擬化集群,從而提高資源利用率和靈活性,并降低虛擬化管理的復雜性。
4.3、人工智能領域中的應用
在人工智能領域中,CXL可以發(fā)揮以下作用:
提高數(shù)據(jù)傳輸效率:對于深度學習等任務,需要大量的數(shù)據(jù)傳輸和計算,在傳統(tǒng)的PCIe互連中,由于數(shù)據(jù)傳輸速度慢,往返延遲高,會導致計算效率低下。而使用CXL互連,可以實現(xiàn)低延遲、高速的數(shù)據(jù)傳輸,提高計算效率。
加速模型訓練:隨著深度學習模型變得越來越復雜,需要更多的計算資源來進行訓練。使用CXL互連,可以將CPU、GPU和其他加速器設備進行緊密協(xié)作,提高模型訓練的速度和效率。
實現(xiàn)AI與物聯(lián)網(wǎng)的集成:CXL技術可以使AI應用程序直接連接到物聯(lián)網(wǎng)設備,實現(xiàn)更快速的數(shù)據(jù)處理和響應。這對于需要快速響應的實時應用程序非常重要。
降低能源消耗:CXL技術可以減少傳輸數(shù)據(jù)所需的功耗,同時還可以減少系統(tǒng)中的數(shù)據(jù)緩存,從而實現(xiàn)更高效的能源管理。
05.?CXL技術與其他技術的對比
與PCIe、NVMe等技術的對比:
帶寬:CXL的帶寬比PCIe高得多,CXL 2.0標準最高可以達到32 GT/s,而PCIe 5.0的帶寬只能達到16 GT/s。相比之下,NVMe是一種協(xié)議而非互連技術,其帶寬取決于所使用的互連技術。
延遲:CXL和PCIe都具有低延遲的特點,但CXL在延遲方面稍微優(yōu)于PCIe。NVMe協(xié)議在延遲方面表現(xiàn)良好。
功能:CXL支持內(nèi)存擴展、緩存一致性和設備直接內(nèi)存訪問等功能,這些功能不是PCIe或NVMe所具備的。
應用場景:PCIe主要用于連接外部設備,如GPU、網(wǎng)卡和存儲設備。NVMe主要用于連接固態(tài)硬盤。而CXL則更加靈活,可用于連接處理器、存儲設備、網(wǎng)絡適配器和其他外圍設備,適用范圍更廣。
兼容性:由于CXL是相對較新的技術,許多舊設備可能無法與其兼容。PCIe則已經(jīng)成為了一種通用的連接標準,并且得到廣泛應用。
成本:目前來看,CXL硬件和設備的成本相對較高,而PCIe則更加普及和經(jīng)濟實惠。
CXL和CCIX都是用于連接不同芯片之間的高速互聯(lián)標準,但它們在一些方面存在差異。以下是CXL與CCIX的主要對比:
性能:CXL標準提供了更高的帶寬和更低的延遲,使其在高性能計算、機器學習、人工智能等領域中具有優(yōu)勢。而CCIX標準則專注于低功耗和高可靠性,適用于物聯(lián)網(wǎng)、移動設備等場景。
兼容性:CXL標準基于PCI Express協(xié)議,因此與現(xiàn)有的PCIe接口兼容。而CCIX標準則需要使用新的物理層和控制層,在一定程度上限制了其兼容性。
應用場景:CXL標準適用于需要高性能和更強的內(nèi)存擴展的場景,例如大型服務器集群和超級計算機。而CCIX標準則適用于需要低功耗和高可靠性的場景,例如數(shù)據(jù)中心、物聯(lián)網(wǎng)、移動設備等。
支持的架構:CXL支持x86、Power和ARM等多種處理器架構。而CCIX則專注于ARM和Power架構,對于x86架構的支持有限。
06.?實現(xiàn)CXL技術的挑戰(zhàn)及解決方案
CXL技術的實現(xiàn)面臨以下挑戰(zhàn):
復雜性:CXL技術的實現(xiàn)需要高度復雜的系統(tǒng)設計和集成,這意味著需要適應不同的硬件、軟件和工具。
安全性:由于CXL技術涉及到底層硬件操作,并且可能涉及多個設備之間的數(shù)據(jù)共享,因此安全風險是一個重要考慮因素。需要采取適當?shù)拇胧┐_保數(shù)據(jù)安全和隱私。
性能:CXL技術需要提供高速數(shù)據(jù)傳輸和低延遲,以滿足對計算能力和存儲能力的要求。這需要高效的協(xié)議和優(yōu)化的硬件和軟件設計。
兼容性:CXL技術需要與現(xiàn)有的接口和協(xié)議兼容,以支持舊設備和系統(tǒng)的升級。這需要適當?shù)?a target="_blank">轉換器和中間件。
為了解決這些挑戰(zhàn),可以采取以下方案:
標準化:制定統(tǒng)一的標準和規(guī)范,以確保不同廠商的設備和系統(tǒng)之間的兼容性和互操作性。
優(yōu)化設計:通過優(yōu)化硬件和軟件設計,提高性能和安全性。例如,增加硬件加速、內(nèi)存緩存和錯誤糾正功能。
管理數(shù)據(jù)共享:采取適當?shù)拇胧﹣砉芾碓O備之間的數(shù)據(jù)共享,例如訪問控制、認證和加密。
提供中間件:提供轉換器和中間件,以支持現(xiàn)有系統(tǒng)的升級和兼容性。
07.?結論
更廣泛的應用場景:隨著數(shù)據(jù)中心越來越重要,CXL技術將在更多的應用場景中得到應用,比如超級計算機、AI加速器、網(wǎng)絡加速器、NVMe SSD等。
更高的帶寬和更低的延遲:CXL技術支持更高的帶寬和更低的延遲,這使得它在處理大規(guī)模數(shù)據(jù)時具有優(yōu)勢。
更好的內(nèi)存擴展性:CXL技術允許多個設備共享同一塊內(nèi)存,這極大地提高了內(nèi)存擴展性和靈活性,在大型計算集群和超級計算機中應用前景廣闊。
更好的兼容性:由于CXL技術基于PCIe協(xié)議,因此與現(xiàn)有的PCIe接口兼容。這使得CXL技術具有更好的兼容性和可擴展性。
面向不同處理器架構:CXL技術可以支持x86、ARM和Power等不同的處理器架構,這為不同的系統(tǒng)提供了更多的選擇。
編輯:黃飛
?
評論