1

CXL技術(shù)路線現(xiàn)狀與未來規(guī)劃

阿里云目前的產(chǎn)品基于CXL 2.0技術(shù),但隨著CXL 3.0協(xié)議的演進,公司正積極規(guī)劃多代產(chǎn)品以逐步實現(xiàn)新協(xié)議的全部功能。CXL 3.0協(xié)議在可擴展性、緩存一致性以及互連架構(gòu)方面帶來了顯著變化,阿里云計劃通過分代產(chǎn)品逐步引入這些特性。

在系統(tǒng)池化架構(gòu)的演進上,阿里云已在CXL 2.0階段實現(xiàn)了內(nèi)存及持久化內(nèi)存的池化和共享,并打通了內(nèi)存池系統(tǒng)管控和運維的鏈路。,包括對池化資源的管理故障處理以及RAS方案等。未來,隨著CXL 3.0的引入,阿里云將規(guī)劃在多級Switch場景下擴大資源池化規(guī)模,并引入更多類型的資源,最終走向基于CXL Fabric的可組合架構(gòu),支持更靈活的資源配比和更高效的數(shù)據(jù)流動。

2

磐久服務器

CXL內(nèi)存池系統(tǒng)架構(gòu)

阿里云磐久服務器推出的CXL內(nèi)存池系統(tǒng),是業(yè)界首個基于CXL Switch的內(nèi)存池業(yè)務系統(tǒng)解決方案。該系統(tǒng)包含4臺2U通用計算服務器、阿里云自研的CXL Switch Box以及內(nèi)存節(jié)點(JBOM),通過CXL連接實現(xiàn)了高性能的內(nèi)存池化系統(tǒng)。

系統(tǒng)采用三層拓撲架構(gòu):

在機架的上層部署了多臺雙路CPU服務器;

機柜的中層是包含兩顆交換芯片以及一顆管理CPU的CXL Switch Box,其中每顆交換芯片的上行端口分別連接每臺服務器的兩個CPU Socket。同時Box內(nèi)的管理CPU通過25G高速控制網(wǎng)絡實現(xiàn)毫秒級資源調(diào)度。

機柜的下層是CXL內(nèi)存節(jié)點(JBOM),最多支持插入32塊阿里自研的Alimemory內(nèi)存模組,該模組支持128GB和256GB兩個規(guī)格,單箱容量最高達8TB(雖系統(tǒng)兼容512GB模組,但經(jīng)驗證128G/256G為TCO最佳選擇)。CXL Switch Box和JBOM都配備了獨立的BMC,經(jīng)帶外網(wǎng)絡接入統(tǒng)一的帶外管理系統(tǒng),實現(xiàn)CXL內(nèi)存池系統(tǒng)的管控運維。

基于RDMA的分布式方案存在的問題

在面對大客戶對數(shù)據(jù)庫容量和性能的高要求,阿里云PolarDB數(shù)據(jù)庫采用了三層解耦架構(gòu),將計算和內(nèi)存分層,并引入了分布式的內(nèi)存池。在CXL技術(shù)應用之前,該架構(gòu)依賴RDMA實現(xiàn)內(nèi)存層與計算池和存儲池的連接。但在超大規(guī)模數(shù)據(jù)庫場景中,現(xiàn)有基于RDMA的分布式方案存在以下問題:

內(nèi)存成本增加:雙端Buffer Pool架構(gòu)導致內(nèi)存成本上升——計算節(jié)點需保留本地內(nèi)存,同時額外部署遠端內(nèi)存池。

讀寫放大效應:RDMA不支持原生內(nèi)存語義,導致16KB數(shù)據(jù)頁即便僅訪問少量字節(jié)(如512B),也需將整頁從遠端內(nèi)存拷貝至本地內(nèi)存,引發(fā)高達32倍的帶寬浪費(16K/512B),致使一些場景下網(wǎng)絡吞吐成為系統(tǒng)性能瓶頸。

故障恢復速度慢:故障恢復慢一直是數(shù)據(jù)庫場景的一大挑戰(zhàn),尤其在需要通過redo log恢復數(shù)據(jù)頁的情況下

缺乏緩存一致性:在多主架構(gòu)下,所有DB節(jié)點都可以同時訪問整個數(shù)據(jù)庫所有的頁。在這種情況下會頻繁出現(xiàn)數(shù)據(jù)頁從一個節(jié)點遷移到另一個節(jié)點的情況,產(chǎn)生了額外的網(wǎng)絡帶寬開銷。

4

架構(gòu)創(chuàng)新

基于CXL Switch的三層解耦內(nèi)存層重構(gòu)

隨著CXL技術(shù)的引入,阿里云PolarDB數(shù)據(jù)庫對三層解耦架構(gòu)進行了全面改造,推出了業(yè)界首個基于CXL Switch的云數(shù)據(jù)庫PolarCXLMem。該架構(gòu)相比RDMA分布式內(nèi)存層,業(yè)務端到端性能提升了2倍以上,同時實現(xiàn)了跨節(jié)點的緩存共享,徹底解決了讀寫放大以及數(shù)據(jù)拷貝的問題。

核心優(yōu)勢:CXL技術(shù)賦能的多維性能突破

1. 低延遲與高帶寬:CXL在64B小粒度訪問(如事務操作)至16K大粒度數(shù)據(jù)頁訪問的全場景下,延遲性能顯著優(yōu)于RDMA,且?guī)拑?yōu)勢為大粒度數(shù)據(jù)傳輸(如完整數(shù)據(jù)頁讀寫)提供了更優(yōu)支持。

2. CXL原生支持內(nèi)存語義,一方面簡化了編程模式,另一方面也避免了RDMA方案中數(shù)據(jù)需從遠端通過RDMA網(wǎng)卡拷貝至本地緩存的額外開銷。通過直接將數(shù)據(jù)庫緩存頁構(gòu)建在CXL內(nèi)存內(nèi),消除了IO延遲及數(shù)據(jù)搬移的開銷。

3. 跨節(jié)點緩存一致性保障:針對多主場景,團隊設(shè)計了跨主機緩存一致性方案(當前為軟件方案,兼容未來CXL3.0硬件緩存一致性協(xié)議),通過集中式緩存管理模塊協(xié)調(diào)各節(jié)點緩存頁狀態(tài),解決了傳統(tǒng)分布式架構(gòu)中數(shù)據(jù)同步與一致性問題。

從理論到實踐的顯著提升

  1. 本地緩存遷移可行性驗證:傳統(tǒng)認知中數(shù)據(jù)庫為延遲敏感業(yè)務,但實測表明,將本地頁緩存全部遷移至CXL內(nèi)存后,絕大多數(shù)業(yè)務場景性能僅下降5%以內(nèi)(極端場景10%以內(nèi)),驗證了CXL內(nèi)存替代本地緩存的可行性?;诖?,PolarCXLMem徹底放棄了Tiered Memory分層架構(gòu),選擇直接在CXL內(nèi)存池構(gòu)建數(shù)據(jù)頁緩存系統(tǒng)。
  1. 讀寫放大與負載優(yōu)化:CXL內(nèi)存池的集中式緩存設(shè)計避免了傳統(tǒng)分層架構(gòu)中“僅訪問部分數(shù)據(jù)卻需拷貝整頁”的讀寫放大問題,同時消除了數(shù)據(jù)來回拷貝的系統(tǒng)負載,顯著降低整體帶寬資源消耗。
  1. 故障恢復能力增強:CXL內(nèi)存與計算節(jié)點采用獨立供電與故障域設(shè)計,單節(jié)點故障時數(shù)據(jù)無需依賴本地緩存恢復(傳統(tǒng)方案需從持久化介質(zhì)重還原),故障恢復速度大幅提升(實測人為插入故障時,基于PolarCXLMem的故障恢復方案PolarRecv恢復速度遠超傳統(tǒng)方案)。
  1. 跨主機緩存一致性:通過高性能的軟件緩存一致性協(xié)議設(shè)計,PolarCXLMem實現(xiàn)了DB節(jié)點和中心管理節(jié)點通過CXL共享內(nèi)存共同管理和維護全局頁緩存目錄?;贑XL內(nèi)存池的共享頁緩存方案,大幅提升了多主架構(gòu)的端到端性能。
  1. 多場景性能對比:

  單點讀場景:吞吐量達RDMA方案的3倍以上,帶寬需求顯著降低;

  全頁訪問(range-select):吞吐量提升2倍,平均延遲降低50%;

  多主場景:在共享數(shù)據(jù)百分比較低的場景表現(xiàn)優(yōu)異(最大提升62%),即使在全共享和嚴重頁沖突(鎖系統(tǒng)瓶頸)的場景下,仍保持27%的性能優(yōu)勢(對比RDMA)。

結(jié)語:

阿里云在CXL技術(shù)領(lǐng)域的創(chuàng)新研發(fā)不僅為數(shù)據(jù)庫場景帶來了革新,更為未來計算架構(gòu)的發(fā)展指明了方向。隨著CXL技術(shù)的不斷成熟和應用場景的拓展,阿里云將繼續(xù)推動CXL技術(shù)的發(fā)展與應用,為全球用戶提供更高效、更靈活、更可靠的云計算服務。

此次分享不僅展示了阿里云在CXL技術(shù)上的深厚積累和實踐經(jīng)驗,更為行業(yè)內(nèi)的技術(shù)創(chuàng)新和生態(tài)建設(shè)提供了有力支持。未來,阿里云將攜手合作伙伴共同推動CXL技術(shù)的標準化和生態(tài)普及,開啟高效計算的新時代。  

分享到

lixiangjing

算力豹主編

相關(guān)推薦