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