Elastics.cloud

將多臺伺服器的記憶體連結起來,組成「網路化」的記憶體池,實現跨伺服器的記憶體資源共享,是CXL這類記憶體互連技術的最終目標,藉此可在多臺伺服器之間動態、按需分配記憶體資源,一舉解決伺服器記憶體資源受限,以及記憶體資源利用率等2大問題。

除此之外,透過記憶體池的匯集,還能建構出超大規模的記憶體空間,達到數百TB、甚至PB等級的容量,進而極大幅度地減少資料移動需求,需要處理的資料能夠一直留在記憶體中,實現完全的In-Memory運算作業,顯著提高運算效能。

不過,在實作與部署方面,比起透過最基本的CXL 1.1協定,在單機環境就能實現的記憶體共用與記憶體擴展,若要做到跨多臺伺服器運作的記憶體池,架構相對複雜許多,需要使用更高階的CXL 2.0或CXL 3.0協定,並結合更多的軟硬體控制元件,來建構與管理記憶體池,包括CXL控制器,CXL交換器,以及管理記憶體池的記憶體管理軟體等。

在這些元件中,CXL控制器負責運行CXL協定,管理CXL周邊裝置DRAM記憶體與PCIe介面的連接,以及存取與資料傳輸;CXL交換器提供多個CPU主機與CXL記憶體周邊裝置的互連與管理;記憶體管理軟體則提供記憶體池的管理與配置功能,用於整合與分層管理記憶體池內具備不同延遲與效能的記憶體,動態向用戶端伺服器配置記憶體資源,且提供資料保護。

所以,CXL記憶體池不是只靠單一元件或產品就能實現的應用,而必須借助包含多種元件與產品構成的解決方案來實現。

因而比起已經趨於成熟,即將達到商品化上市階段的CXL記憶體擴充模組產品,CXL記憶體池的解決方案,發展進度相對較慢,目前仍在開發與驗證階段。儘管如此,迄今仍出現幾種頗具吸引力的CXL記憶體池解決方案。

第1波登場的CXL記憶體池方案

2021年12月舉行的SC 21大會,出現了第一批CXL記憶體池解決方案。

首先,是專攻CXL互連技術應用的矽谷新創廠商Elastics.cloud,發表基於該公司專屬FPGA加速卡的CXL解決方案。這款產品內含32GB記憶體,安裝在伺服器PCIe擴充槽,主機CPU可透過CXL存取FPGA卡上的記憶體,構成CXL Type 3類型的當CXL記憶體擴充模組使用。

安裝這種FPGA卡的伺服器,也能透過100GbE網路彼此互連,存取另一臺伺服器上的FPGA卡記憶體,等同於是跨伺服器組成記憶體池。

Elastics.cloud宣稱他們是第1家實際展示CXL記憶體池概念驗證的廠商,初始POC組態只包含2臺伺服器,都安裝了FPGA卡,並透過DAC銅纜直接互連。該公司規劃中的完整的POC組態則包括4臺伺服器,並透過交換器互連,構成更大規模的CXL記憶體池。

另一家先行廠商IntelliProp,則發表基於CXL Fabric Adaptor網路卡橋接(Bridge)解決方案,該公司在簡報提及的CXL記憶體池驗證環境,組成的架構,包含:IntelliProp專屬Sphnix CXL HBA卡、獨立的ZMM網路附加記憶體(Fabric Attached memory)裝置,連接網路附加記憶體的媒體盒交換器(Media Box),串聯媒體盒與主機的分散式交換器,再加上Arm處理器主機。

在IntelliProp的架構下,可以將ZMM網路附加記憶體的DRAM,經由Sphnix CX HBA卡與交換器的介接,構成網路化的共享記憶體池,並配置給Arm主機使用,藉由媒體盒與分散式交換器構成的雙層交換連接架構,將能組成規模龐大的CXL記憶體池,並可透過IntelliProp的Fabric Manager軟體,來管理整個環境的網路連接。

早期的CXL記憶體池實際公開展示
Elastics.cloud在SC21大會中進行的CXL記憶體池展示,是這類解決方案最早的公開概念驗證之一。初始POC組態只用2臺伺服器,左邊是應用程式伺服器,右邊是記憶體池伺服器,都安裝Elastics.cloud專屬的FPGA CXL控制卡,透過100GbE DAC銅纜直連,實作跨伺服器的記憶體存取。完整的POC組態則會使用4臺伺服器,並透過交換器互連,組成更大規模的記憶體池應用架構。圖片來源/Elastics.cloud

第2波亮相的CXL記憶體池方案

2021年底出現的第1波CXL記憶體池解決方案,仍屬於概念驗證原型階段,距離能夠因應用戶需求的產品仍有一段差距。

時隔一年後,在2022年中到2023年中出現的第2波CXL記憶體池解決方案,不僅更成熟,更接近商品化階段,也有更豐富的應用形態。

首先是Liqid這家「可組合式系統」(Composable Systems)廠商,在其組合式基礎架構平臺中,納入CXL記憶體池的支援。

所謂的可組合式系統,是徹底解構伺服器的CPU、GPU、FPGA、DRAM、SSD、網路等核心與周邊資源,然後,由Liqid的Matrix 可組合式非聚合基礎架構(Composable disaggregated infrastructure,CDI)平臺軟體,以軟體定義的方式,透過PCIe交換器,重新將這些資源組成動態的虛擬伺服器。除了Liqid自身外,Dell也將該公司的技術引進MX700組合式伺服器系統,迄今這個平臺已累積至少3、4年的應用實績。

在CXL出現前,Liqid便自行發展記憶體池技術,可將DRAM與DIMM型態的Optane記憶體組成記憶體池,為組合式基礎架構提供靈活配置的記憶體資源。不過Liqid平臺核心的連結與傳輸架構,原本採用基於PCIe 4.0的交換器,後來基於PCIe 5.0的CXL問世後,Liqid也轉而支援這項通用標準,先在2022年5月的Dell Technologies World 2022大會期間,與Dell合作展出基於CXL的組合式記憶體池概念,又在2022年底與CXL硬體廠商Intelliprop合作進行公開展示。

另一家崛起的業者,是成立於2020年的以色列新創公司UnifabriX,可說是跟著CXL一起誕生的廠商,他們在2022年底的SC22大會中,展出的CXL Smart Memory節點裝置,號稱是第1個支援CXL 3.0的記憶體池解決方案。

CXL Smart Memory節點是一臺2U機架式伺服器裝置(該公司表示也有4U規格),核心是基於Intel Agilex FPGA打造的資源處理單元(Resource Processing Unit,RPU),機箱前端有10個EDSFF插槽,可安裝E3.S規格的CXL記憶體模組,機箱的後端則有2個400GbE埠,以及10個該公司專門發展的PCIe 5.0傳輸埠。

這臺節點提供32TB,甚至128TB的大記憶體資源,作為其他伺服器使用的記憶體池,用戶端伺服器可透過專屬PCIe 5.0纜線,連結CXL Smart Memory節點,並透過UnifabriX的管理軟體,向用戶端伺服器配置記憶體資源。多臺CXL Smart Memory節點間也能彼此互連,組成更大規模的記憶體池

接下來是成立於2020年的Enfabrica,在今年3月發表稱作Server Fabric Adapter(SFA)的PCIe/CXL交換器晶片,並以SFA晶片為核心,打造了模組化、可組合式的運算平臺,稱作加速運算網路(Accelerated Compute Fabric,ACF),以此提供運算、記憶體與網路資源的任意分解與組合能力,藉由PCIe/CXL介面,不僅記憶體資源能夠跨伺服器互連、形成共用資源,連CPU、GPU與網路資源都可以「資源池化」,概念與Liqid的可組合式基礎架構相似,但比起已有多年產品實際使用實績的Liqid,Enfabrica的ACF平臺相對仍在初期發展階段。

可組合式架構下的記憶體池
Enfabrica以其專屬的SFA PCIe/CXL交換器為核心,打造可組合式運算平臺ACF,不僅能提供資源池型式的記憶體,包括CPU、GPU與網路,也都能分別構成資源池,藉此提供運算、記憶體與網路資源的任意分解與組合能力。圖片來源/Enfabrica

今年5月,SK Hynix與記憶體管理軟體廠商MemVerge展開合作,打造CXL記憶體池平臺,當時是在Project Endless Memory計畫的框架之下進行,以SK Hynix的Niagara記憶體池硬體,結合MemVerge的軟體。SK Hynix目前未公布這套平臺的細節規格,只提到可透過MemVerge軟體的彈性記憶體服務,動態在多臺伺服器間配置CXL記憶體資源。

接下來在2023年8月舉行的FMS 2023大會,又出現2個新的CXL記憶體池解決方案。

首先是三星、H3 Platform、MemVerge、XConn等廠商合作,共同展出2TB容量的CXL記憶體池解決方案,在1臺H3 Platform的2U伺服器上,安裝8組三星的256GB CXL記憶體擴充卡,可透過CDFP纜線,經由以XConn XC50256 CXL 2.0交換器晶片為核心的網路交換單元,連接8臺前端主機,並用MemVerge的Memory Machine X軟體,將這個2 TB記憶體池動態配置給這8臺主機使用。整體概念與SK Hynix的Project Endless Memory相同,也同樣都採用MemVerge的記憶體池管理軟體。

三星/MemVerge的CXL記憶體池方案
記憶體大廠三星與MemVerge等廠商合作,在FMS 2023大會展出2TB容量的CXL記憶體池。他們在H3 Platform的2U伺服器上安裝8組CXL記憶體模組,組成共享記憶體池,再利用XConn CXL 2.0交換器連結8臺前端主機,可利用MemVerge的記憶體管理軟體在8臺主機間動態第共享記憶體池資源。圖片來源/三星

另一家韓國廠商Panmnesia在FMS 2023大會期間,展出容量達6TB的CXL記憶體池方案,底層技術是與位於韓國大田的韓國科學技術院(KAIST)合作開發,硬體採用模組化架構,包含2組CPU模組、3組CXL交換器模組,以及6組1TB記憶體DIMM模組,共同組成記憶體資源池。當中配套的軟體是在Linux運行,由CXL驅動程式、VM,以及專門針對CXL調整的應用程式組成。

CXL記憶體池初步的類型區分

檢視了過去兩年半以來出現的CXL記憶體池解決方案後,我們大致可以將這些解決方案區分為下列兩大類型。

首先,是獨立的外部形式CXL記憶體池系統,透過一套外部記憶體池系統為用戶端伺服器提供CXL記憶體資源。目前絕大多數的CXL記憶體池解決方案,都是這種類型,又可細分為2種子類型:

一是由通用伺服器設備搭配專屬CXL控制器卡而成的解決方案,例如,Elastics.cloud就是以專屬CXL控制器卡,將通用伺服器建構為提供記憶體資源的記憶體池伺服器。

另一是專門打造的記憶體池裝置,有些廠商稱為JBOM記憶體機箱,如UnifabriX的CXL Smart Memory節點,SK Hynix的Project Endless Memory,以及三星的記憶體池系統等,都屬於這種類型,有些系統還採用了易於擴充的分散式或模組化架構,例如IntelliProp與Panmnesia的產品。

典型的獨立外部CXL記憶體池裝置
UnifabriX的CXL Smart Memory節點,是典型的獨立外部CXL記憶體池裝置,機箱本身除了有主機板內含的DIMM記憶體,還可透過機箱前方的EDSFF插槽安裝額外的CXL記憶體擴充模組,機箱背面則提供了10組專屬的PCIe 5直連埠,可透過專屬纜線來連結用戶端伺服器,為其提供記憶體資源。CXL Smart Memory節點之間也可彼此互連,擴大記憶體池規模。圖片來源/UnifabriX

第2個類型是Liqid與Enfabrica,在更大的「可組合式基礎架構」框架下,去運用CXL記憶體池,在這個框架下,不僅記憶體被「資源池化」,包括CPU、GPU等運算資源,以及網路資源也都被「資源池化」,架構的規模已經超過CXL的範圍。

 相關報導 

熱門新聞

Advertisement