Enfabrica

我們在不久前的封面故事「伺服器記憶體架構新時代即將來臨:CXL記憶體邁向實用階段」,介紹了CXL(Compute Express Link)記憶體互連技術相關產品應用的發展現況。

當前的CXL產品應用,集中在「CXL記憶體擴充模組」與「CXL記憶體池」這2種類型。

CXL記憶體擴充模組的目的,是讓伺服器藉由CXL協定與PCIe通道的介接,在既有的DIMM通道外,獲得額外的DRAM記憶體頻寬與容量。「CXL記憶體池」則是在多臺伺服器之間,透過CXL交換器動態分享與配置DRAM記憶體資源,不僅個別伺服器可以藉此獲得更多記憶體資源,還能打破CPU與記憶體之間的綑綁,跨多臺伺服器按需動態地配置記憶體資源。

記憶體池算是現階段CXL應用的最終目標,不過Marvell、Liqid與Enfabrica等廠商,已將目標指向規模更宏大的應用,企圖以CXL為核心,建立涵蓋CPU、記憶體、GPU、網路I/O到儲存裝置的互聯架構,進而打造出全面「資源池化」、可徹底按需配置的資料中心基礎架構。

資料中心的資源配置難題

資料中心的全面「資源池化」,主要目的是要解決基礎設施資源配置的最佳化問題。

如何因應應用程式需求、適當的配置基礎架構資源,一直是困擾資料中心的主要問題之一,資源不足與過量都會造成嚴重的後果——資源不足將會影響應用程式的效率、甚至停擺,資源過量又會形成資源閒置,導致營運成本的無謂浪費。

而造成資源配置難以達到最適化與最佳化的一大原因,是當前資料中心的基礎架構資源配置,基本上都是以個別伺服器為單位、以CPU為中心的靜態配置型式,CPU、記憶體與儲存等資源,都被綑綁在個別伺服器之內,個別伺服器之間形成一座座的孤島,無法跨伺服器調配資源,也難以靈活地應對應用環境的各種突發狀況。為了預防應用程式因資源不足而癱瘓,一般企業都是「寧濫勿缺」,寧可過量配置資源,但往往也造成大量的資源閒置與浪費。

而解決辦法則是建立跨伺服器的基礎架構互連機制,藉此打破伺服器基礎架構的綑綁,分解所有的基礎架構資源,然後按需在不同伺服器之間動態的組合與調配資源。

從「儲存池」、「GPU池」到「記憶體池」

最早取得成果的是在儲存端,在1990年代便實現了與伺服器端的解構。透過光纖通道(Fibre Channel)、iSCSI等儲存區域網路(SAN)技術,達成了將儲存資源從伺服器中撥離,以及儲存裝置的「資源池化」的目的。

外部儲存設備可透過SAN網路連結成為「儲存池」,而伺服器只需要配置最低限度的本機儲存裝置,甚至完全不配置本機儲存裝置,伺服器需要的儲存資源,則可經由SAN網路從儲存池取得。

在儲存端,儲存池的建置與擴展,與伺服器完全脫鉤,還能藉由SAN交換器的介接,跨不同的伺服器,動態的按需配置儲存資源。而在伺服器端,個別伺服器則能依照實際需求,從儲存池獲得儲存資源,並在不需要時將資源釋放回儲存池。所以在有了儲存區域網路後,原則上便已解決了資料中心的儲存資源配置與擴展彈性問題。

到了2010年代中後期,透過Nvidia陸續推出的NVLink與NVLink Switch等GPU高速互聯技術,將GPU加速器也從伺服器中解構出來,成為一個可獨立擴展與配置的GPU運算叢集。

而到了2020年代的今日,當有了CXL這類記憶體互連技術後,也具備了讓將DRAM記憶體資源從伺服器解構出來的基礎,在伺服器之外建立獨立的「記憶體池」,從而在不同伺服器之間,動態的分派記憶體資源。過去2年來,Elastics.cloud、UnifabriX,IntelliProp、SK hynix與三星、H3 Platform等廠商發表的CXL記憶體池解決方案,都展出與驗證了這種動態的記憶體共享應用。

原則上,待CXL記憶體池解決方案成熟後,便能解決資料中心伺服器的記憶體配置彈性問題。個別伺服器可以經由CXL交換器的介接,從記憶體池獲得任務需要的記憶體資源,並在任務完成後將記憶體資源釋放回記憶體池,以便其他伺服器使用。

更進一步,甚至還能讓伺服器完全透過CXL交換器來存取記憶體,將伺服器與記憶體完全解構,伺服器將不再需要配置本地端記憶體,完全由記憶體池來提供記憶體資源。

利用CXL打造徹底按需配置的資料中心

透過記憶體池,基本上便解決了CXL這類記憶體互連技術,發展之初所針對的伺服器記憶體應用兩大問題:CPU記憶體頻寬增長受限,以及記憶體利用率低落。

但一些廠商認為CXL所建構的低延遲、高效能傳輸通道,除了伺服器CPU的記憶體共享應用外,還能發揮出更大的作用,企圖將CXL的應用範圍擴展到資料中心的其他元件與裝置上,將GPU卡、智慧型網路卡、資料處理器、HBA卡、SSD等裝置,也都連接到CXL交換器上,從而構成以CXL交換器為中心,涵蓋通用運算、加速運算、記憶體、網路I/O與儲存資源的基礎架構核心網路架構,進而可以軟體定義的方式,透過CXL交換器將這些資源按需組成動態的虛擬伺服器。

也就是說,這將形成完全解構、非聚合式的資料中心硬體架構,可依照用戶的需要,透過CXL交換器的介接,將這些分散的硬體資源,組成因應不同任務要求的虛擬伺服器。

透過這種架構,將能讓資料中心硬體資源徹底的資源池化,可透過CXL交換器任意的分解與組合運算、記憶體與網路資源,進而實現徹底的按需配置,不僅記憶體可以資源池的方式按需共享與配置,包括CPU、運算加速、I/O與儲存裝置,也都能以資源池方式按需配置。

邁向非聚合式的伺服器應用架構

當前的伺服器應用架構是以CPU為核心,記憶體、I/O介面等資源都綑綁在伺服器內,只有儲存與GPU加速器被解構到伺服器外,伺服器之間則主要透過乙太網路互連。

不久之後,當CXL開始獲得應用後,記憶體將能解構到獨立的CXL應用裝置上,構成記憶體池,然後透過CXL與伺服器互連,將記憶體資源動態地分配給伺服器使用。

而在更遠的未來,預期CXL的應用將進一步擴大,進而將伺服器機架分解為獨立的運算、記憶體與I/O機箱,彼此間都透過CXL互連。

依照CXL控制器供應商Marvell的預測,應用了CXL記憶體池的部分分解形式伺服器架構,將從2024到2025年進入部署階段。而完全分解的伺服器架構,則會在2020年代末期出現。

圖片來源:Marvell

CXL帶來可組合式IT架構新契機

事實上,完全解構、非聚合式的IT基礎架構,並不是新想法,早在4、5年前,便已有廠商在「可組合式基礎架構」(Composable infrastructure)的概念,推動類似的應用框架,例如HPE的Synergy平臺,DriveScale的可組合式基礎架構,以及Liqid的可組合式系統(Composable Systems)等。

其中Liqid的平臺在非聚合化應用上的進展最為深入,可實現CPU +DRAM、GPU、FPGA加速器等運算核心元件層級的分解與非聚合化,而HPE與DriveScale則只達到運算、儲存與光纖網路單元的非聚合化,解構的粒度不及Liqid。

Liqid可經由該公司專屬的PCIe fabric交換器,連結CPU,GPU、FPGA、PCIe SSD等元件,然後透過該公司的Matrix 可組合式非聚合基礎架構(Composable disaggregated infrastructure,CDI)平臺軟體,以軟體定義的方式,將這些元件按需組成動態的虛擬伺服器。Dell與WD也都先後引進了Liqid的技術,分別應用到Dell的MX700組合式伺服器系統,以及WD的OpenFlex分散式儲存系統上,累積了一定的實績。

Liqid的可組合式系統,可說已經非常接近完全解構、非聚合式IT基礎架構的目標,但存在著2個問題,首先,採用的是該公司專屬的PCIe fabric交換器,缺乏通用性。其次,該公司的PCIe fabric交換器是基於PCIe 3.0與4.0,頻寬不足以因應運算核心元件互連的要求,連帶也限制了Liqid所能達到的基礎架構解構層次,頂多只能達到GPU板卡等周邊裝置層級,而無法進一步解構CPU與記憶體。

Liqid也曾考慮採用Gen-Z記憶體互連技術。比起後起的CXL,Gen-Z一開始就考慮了規模更大的應用,不僅是伺服器CPU與記憶體方面的互連與共享,最終目標是建立可組合式基礎架構的標準,但不幸的是Gen-Z並沒有成功。

但CXL的問世,為可組合式基礎架構帶來了新的轉機,透過嫁接在PCIe 5.0與6.0的底層架構,為可組合式基礎架構提供擁有足夠效能的傳輸通道,同時CXL又是當前多數廠商認同的通用標準。

因此Liqid已著手為他們的可組合式系統導入CXL,而一些新創廠商如Enfabrica,則一開始就是基於CXL來打造可組合式運算平臺。Enfabrica稱作加速運算網路(Accelerated Compute Fabric,ACF)的模組化、可組合式的運算平臺,可透過該公司的PCIe/CXL交換器晶片(稱作Server Fabric Adapter,SFA),提供運算、記憶體與網路資源的任意分解與組合能力。

也就是說,CXL大幅加速了可組合式基礎架構的發展,也讓資料中心朝向徹底資源池化、擁有徹底按需配置靈活性的目標,邁進了一大步。

以CXL交換器為核心的可組合式基礎架構

Enfabrica提出了以CXL交換器為核心的可組合式基礎架構概念,該公司的SFA PCIe/CXL交換器可以連結CPU、記憶體、GPU與NVMe SSD等不同類型的基礎架構核心資源,然後按需任意地分解與組合這些基礎架構資源,來因應用戶端應用程式的需求。

圖片來源:Enfabrica

熱門新聞

Advertisement