指數(shù)級(jí)的數(shù)據(jù)增長(zhǎng)促使計(jì)算行業(yè)開(kāi)始進(jìn)行突破性的架構(gòu)轉(zhuǎn)變,以從根本上改變數(shù)據(jù)中心的性能、效率和成本。
為了繼續(xù)提高性能,服務(wù)器正越來(lái)越多地轉(zhuǎn)向異構(gòu)計(jì)算架構(gòu),使用專(zhuān)門(mén)構(gòu)建的加速器從 CPU 卸載專(zhuān)門(mén)的工作負(fù)載。CXL 的內(nèi)存緩存一致性允許在 CPU 和加速器之間共享內(nèi)存資源。
此外,CXL 支持部署新的內(nèi)存層,可以彌合主內(nèi)存和 SSD 存儲(chǔ)之間的延遲差距。這些新的內(nèi)存層將增加帶寬、容量、提高效率并降低總體擁有成本 (TCO)。憑借這些諸多優(yōu)勢(shì),業(yè)界果斷地將 CXL 融合為處理器、內(nèi)存和加速器的高速緩存一致性互連。
CXL通過(guò)一個(gè)叫做CXL 聯(lián)盟的開(kāi)放行業(yè)標(biāo)準(zhǔn)組織開(kāi)發(fā)技術(shù)規(guī)范,促進(jìn)新興使用模型的性能突破,同時(shí)支持?jǐn)?shù)據(jù)中心加速器和其他高速增強(qiáng)功能的開(kāi)放生態(tài)系統(tǒng)。
CXL簡(jiǎn)介:什么是 Compute Express Link?
CXL是一個(gè)開(kāi)放標(biāo)準(zhǔn)的行業(yè)支持的緩存一致性互連,用于處理器、內(nèi)存擴(kuò)展和加速器。從本質(zhì)上講,CXL 技術(shù)在 CPU 內(nèi)存空間和連接設(shè)備上的內(nèi)存之間保持內(nèi)存一致性。這支持資源共享(或池化)以獲得更高的性能,降低軟件堆棧的復(fù)雜性,并降低整體系統(tǒng)成本。CXL 聯(lián)盟已經(jīng)確定了將采用新互連的三類(lèi)主要設(shè)備: ? 類(lèi)型1設(shè)備:智能 NIC 等加速器通常缺少本地內(nèi)存。通過(guò) CXL,這些設(shè)備可以與主機(jī)處理器的 DDR 內(nèi)存進(jìn)行通信。 ? 類(lèi)型2設(shè)備:GPU、ASIC 和 FPGA 都配備了 DDR 或 HBM 內(nèi)存,并且可以使用 CXL 使主機(jī)處理器的內(nèi)存在本地可供加速器使用,并使加速器的內(nèi)存在本地可供 CPU 使用。它們還共同位于同一個(gè)緩存一致域中,有助于提升異構(gòu)工作負(fù)載。 ? 類(lèi)型 3 設(shè)備:內(nèi)存設(shè)備可以通過(guò) CXL 連接,為主機(jī)處理器提供額外的帶寬和容量。內(nèi)存的類(lèi)型獨(dú)立于主機(jī)的主內(nèi)存。 ?
CXL 協(xié)議和標(biāo)準(zhǔn)
CXL 標(biāo)準(zhǔn)通過(guò)三種協(xié)議支持各種用例:CXL.io、CXL.cache 和 CXL.memory。 ? CXL.io:該協(xié)議在功能上等同于 PCIe 協(xié)議,并利用了 PCIe 的廣泛行業(yè)采用和熟悉度。作為基礎(chǔ)通信協(xié)議,CXL.io 用途廣泛,適用于廣泛的用例。 ? CXL.cache:該協(xié)議專(zhuān)為更具體的應(yīng)用程序而設(shè)計(jì),使加速器能夠有效地訪(fǎng)問(wèn)和緩存主機(jī)內(nèi)存以?xún)?yōu)化性能。 ? CXL.memory:該協(xié)議使主機(jī)(例如處理器)能夠使用加載/存儲(chǔ)命令訪(fǎng)問(wèn)設(shè)備連接的內(nèi)存。 ? 這三個(gè)協(xié)議共同促進(jìn)了計(jì)算設(shè)備(例如 CPU 主機(jī)和 AI 加速器)之間內(nèi)存資源的一致共享。從本質(zhì)上講,這通過(guò)共享內(nèi)存實(shí)現(xiàn)通信簡(jiǎn)化了編程。用于設(shè)備和主機(jī)互連的協(xié)議如下: ? 類(lèi)型 1 設(shè)備:CXL.io + CXL.cache 類(lèi)型2設(shè)備:CXL.io + CXL.cache + CXL.memory 類(lèi)型 3 設(shè)備:CXL.io + CXL.memory ?
Compute Express Link 與 PCIe:這兩者有什么關(guān)系?
CXL 建立在PCIe的物理和電氣接口之上,其協(xié)議建立了一致性、簡(jiǎn)化了軟件堆棧并保持與現(xiàn)有標(biāo)準(zhǔn)的兼容性。具體來(lái)說(shuō),CXL 利用 PCIe 5 功能,允許備用協(xié)議使用物理 PCIe 層。當(dāng)支持 CXL 的加速器插入 x16 插槽時(shí),設(shè)備會(huì)以每秒 2.5 千兆傳輸 (GT/s) 的默認(rèn) PCI Express 1.0 傳輸速率與主機(jī)處理器的端口進(jìn)行協(xié)商。只有雙方都支持 CXL,CXL 交易協(xié)議才會(huì)被激活。否則,它們作為 PCIe 設(shè)備運(yùn)行。 ? CXL 1.1 和 2.0 使用 PCIe 5.0 物理層,允許通過(guò) 16 通道鏈路在每個(gè)方向上以 32 GT/s 或高達(dá) 64 GB/s 的速度傳輸數(shù)據(jù)。 ? CXL 3.0 使用 PCIe 6.0 物理層將數(shù)據(jù)傳輸擴(kuò)展到 64 GT/s,支持通過(guò) x16 鏈路進(jìn)行高達(dá) 128 GB/s 的雙向通信。 ?
CXL 2.0 和 3.0 有什么新功能?
首先在內(nèi)存池方面,CXL 2.0 支持切換以啟用內(nèi)存池。使用 CXL 2.0 交換機(jī),主機(jī)可以訪(fǎng)問(wèn)池中的一個(gè)或多個(gè)設(shè)備。盡管主機(jī)必須支持 CXL 2.0 才能利用此功能,但內(nèi)存設(shè)備可以是支持 CXL 1.0、1.1 和 2.0 的硬件的組合。在 1.0/1.1 中,設(shè)備被限制為一次只能由一臺(tái)主機(jī)訪(fǎng)問(wèn)的單個(gè)邏輯設(shè)備。然而,一個(gè) 2.0 級(jí)別的設(shè)備可以被劃分為多個(gè)邏輯設(shè)備,允許多達(dá) 16 臺(tái)主機(jī)同時(shí)訪(fǎng)問(wèn)內(nèi)存的不同部分。 ?
? 例如,主機(jī) 1 (H1) 可以使用設(shè)備 1 (D1) 中一半的內(nèi)存和設(shè)備 2 (D2) 中四分之一的內(nèi)存,以將其工作負(fù)載的內(nèi)存需求與內(nèi)存池中的可用容量完美匹配. 設(shè)備 D1 和 D2 中的剩余容量可由一臺(tái)或多臺(tái)其他主機(jī)使用,最多可達(dá) 16 臺(tái)。設(shè)備 D3 和 D4 分別啟用了 CXL 1.0 和 1.1,一次只能由一臺(tái)主機(jī)使用。 ? CXL 3.0 引入了對(duì)等直接內(nèi)存訪(fǎng)問(wèn)和對(duì)內(nèi)存池的增強(qiáng),其中多個(gè)主機(jī)可以一致地共享 CXL 3.0 設(shè)備上的內(nèi)存空間。這些功能支持新的使用模型并提高數(shù)據(jù)中心架構(gòu)的靈活性。 ?
其次來(lái)到交換方面; ? 通過(guò)轉(zhuǎn)向 CXL 2.0 直連架構(gòu),數(shù)據(jù)中心可以獲得主內(nèi)存擴(kuò)展的性能優(yōu)勢(shì),以及池內(nèi)存的效率和總體擁有成本 (TCO) 優(yōu)勢(shì)。假設(shè)所有主機(jī)和設(shè)備都支持 CXL 2.0,則“切換”通過(guò) CXL 內(nèi)存池芯片中的交叉開(kāi)關(guān)集成到內(nèi)存設(shè)備中。這可以保持較低的延遲,但需要更強(qiáng)大的芯片,因?yàn)樗F(xiàn)在負(fù)責(zé)交換機(jī)執(zhí)行的控制平面功能。通過(guò)低延遲直接連接,連接的內(nèi)存設(shè)備可以使用 DDR DRAM 來(lái)擴(kuò)展主機(jī)主內(nèi)存。這可以在非常靈活的基礎(chǔ)上完成,因?yàn)橹鳈C(jī)能夠訪(fǎng)問(wèn)處理特定工作負(fù)載所需的盡可能多的設(shè)備的全部或部分容量。 ? CXL 3.0 引入了多層交換,支持交換結(jié)構(gòu)的實(shí)施。CXL 2.0 支持單層交換。借助 CXL 3.0,啟用了交換結(jié)構(gòu),其中交換機(jī)可以連接到其他交換機(jī),從而大大增加了擴(kuò)展的可能性。 ?
第三,“按需”內(nèi)存范例; ? 類(lèi)似于拼車(chē),CXL 2.0 和 3.0 在“按需”的基礎(chǔ)上為主機(jī)分配內(nèi)存,從而提供更高的內(nèi)存利用率和效率。該架構(gòu)提供了為標(biāo)稱(chēng)工作負(fù)載(而不是最壞情況)配置服務(wù)器主內(nèi)存的選項(xiàng),能夠在需要時(shí)訪(fǎng)問(wèn)池以處理高容量工作負(fù)載,并為 TCO 帶來(lái)更多好處。最終,CXL 內(nèi)存池模型可以支持向服務(wù)器分解和可組合性的根本轉(zhuǎn)變。在此范例中,可以按需組合離散的計(jì)算、內(nèi)存和存儲(chǔ)單元,以有效地滿(mǎn)足任何工作負(fù)載的需求。 ?
第四,完整性和數(shù)據(jù)加密 (IDE); ? 分解——或分離服務(wù)器架構(gòu)的組件——增加了攻擊面。這正是 CXL 包含安全設(shè)計(jì)方法的原因。具體來(lái)說(shuō),所有三個(gè) CXL 協(xié)議都通過(guò)完整性和數(shù)據(jù)加密 (IDE) 來(lái)保護(hù),IDE 提供機(jī)密性、完整性和重放保護(hù)。IDE 在 CXL 主機(jī)和設(shè)備芯片中實(shí)例化的硬件級(jí)安全協(xié)議引擎中實(shí)現(xiàn),以滿(mǎn)足 CXL 的高速數(shù)據(jù)速率要求,而不會(huì)引入額外的延遲。應(yīng)該注意的是,CXL 芯片和系統(tǒng)本身需要防止篡改和網(wǎng)絡(luò)攻擊的保護(hù)措施。在 CXL 芯片中實(shí)現(xiàn)的硬件信任根可以為安全啟動(dòng)和安全固件下載的安全和支持要求提供此基礎(chǔ)。 ?
第五,將信令擴(kuò)展到 64 GT/s; ? CXL 3.0 帶來(lái)了標(biāo)準(zhǔn)數(shù)據(jù)速率的階躍函數(shù)增加。如前所述,CXL 1.1 和 2.0 在其物理層使用 PCIe 5.0 電氣:32 GT/s 的 NRZ 信號(hào)。CXL 3.0 秉承了以廣泛采用的 PCIe 技術(shù)為基礎(chǔ)構(gòu)建的相同理念,并將其擴(kuò)展到 2022 年初發(fā)布的最新 6.0 版 PCIe 標(biāo)準(zhǔn)。使用 PAM4 信號(hào)將 CXL 3.0 數(shù)據(jù)速率提高到 64 GT/s。我們涵蓋了 PCIe 6 中 PAM4 信令的詳細(xì)信息——您需要知道的一切。 ? 得益于CXL的出現(xiàn),開(kāi)發(fā)者可以簡(jiǎn)化和改進(jìn)低延遲連接和內(nèi)存一致性,顯著提高計(jì)算性能和效率,同時(shí)降低 TCO。此外,CXL 內(nèi)存擴(kuò)展功能可在當(dāng)今服務(wù)器中的直接連接 DIMM 插槽之上實(shí)現(xiàn)額外的容量和帶寬。CXL 使得通過(guò) CXL 連接設(shè)備向 CPU 主機(jī)處理器添加更多內(nèi)存成為可能。當(dāng)與持久內(nèi)存配對(duì)時(shí),低延遲 CXL 鏈路允許 CPU 主機(jī)將此額外內(nèi)存與 DRAM 內(nèi)存結(jié)合使用。大容量工作負(fù)載的性能取決于大內(nèi)存容量,例如 AI??紤]到這些是大多數(shù)企業(yè)和數(shù)據(jù)中心運(yùn)營(yíng)商正在投資的工作負(fù)載類(lèi)型,CXL 的優(yōu)勢(shì)顯而易見(jiàn)。 ?
編輯:黃飛
?
評(píng)論