1
CXL技術(shù)路線現(xiàn)狀與未來規(guī)劃
阿里云目前的產(chǎn)品基于CXL 2.0技術(shù),但隨著CXL 3.0協(xié)議的演進(jìn),公司正積極規(guī)劃多代產(chǎn)品以逐步實(shí)現(xiàn)新協(xié)議的全部功能。CXL 3.0協(xié)議在可擴(kuò)展性、緩存一致性以及互連架構(gòu)方面帶來了顯著變化,阿里云計(jì)劃通過分代產(chǎn)品逐步引入這些特性。
在系統(tǒng)池化架構(gòu)的演進(jìn)上,阿里云已在CXL 2.0階段實(shí)現(xiàn)了內(nèi)存及持久化內(nèi)存的池化和共享,并打通了內(nèi)存池系統(tǒng)管控和運(yùn)維的鏈路。,包括對池化資源的管理故障處理以及RAS方案等。未來,隨著CXL 3.0的引入,阿里云將規(guī)劃在多級Switch場景下擴(kuò)大資源池化規(guī)模,并引入更多類型的資源,最終走向基于CXL Fabric的可組合架構(gòu),支持更靈活的資源配比和更高效的數(shù)據(jù)流動。
2
磐久服務(wù)器
CXL內(nèi)存池系統(tǒng)架構(gòu)
阿里云磐久服務(wù)器推出的CXL內(nèi)存池系統(tǒng),是業(yè)界首個基于CXL Switch的內(nèi)存池業(yè)務(wù)系統(tǒng)解決方案。該系統(tǒng)包含4臺2U通用計(jì)算服務(wù)器、阿里云自研的CXL Switch Box以及內(nèi)存節(jié)點(diǎn)(JBOM),通過CXL連接實(shí)現(xiàn)了高性能的內(nèi)存池化系統(tǒng)。
系統(tǒng)采用三層拓?fù)浼軜?gòu):
在機(jī)架的上層部署了多臺雙路CPU服務(wù)器;
機(jī)柜的中層是包含兩顆交換芯片以及一顆管理CPU的CXL Switch Box,其中每顆交換芯片的上行端口分別連接每臺服務(wù)器的兩個CPU Socket。同時Box內(nèi)的管理CPU通過25G高速控制網(wǎng)絡(luò)實(shí)現(xiàn)毫秒級資源調(diào)度。
機(jī)柜的下層是CXL內(nèi)存節(jié)點(diǎn)(JBOM),最多支持插入32塊阿里自研的Alimemory內(nèi)存模組,該模組支持128GB和256GB兩個規(guī)格,單箱容量最高達(dá)8TB(雖系統(tǒng)兼容512GB模組,但經(jīng)驗(yàn)證128G/256G為TCO最佳選擇)。CXL Switch Box和JBOM都配備了獨(dú)立的BMC,經(jīng)帶外網(wǎng)絡(luò)接入統(tǒng)一的帶外管理系統(tǒng),實(shí)現(xiàn)CXL內(nèi)存池系統(tǒng)的管控運(yùn)維。
基于RDMA的分布式方案存在的問題
在面對大客戶對數(shù)據(jù)庫容量和性能的高要求,阿里云PolarDB數(shù)據(jù)庫采用了三層解耦架構(gòu),將計(jì)算和內(nèi)存分層,并引入了分布式的內(nèi)存池。在CXL技術(shù)應(yīng)用之前,該架構(gòu)依賴RDMA實(shí)現(xiàn)內(nèi)存層與計(jì)算池和存儲池的連接。但在超大規(guī)模數(shù)據(jù)庫場景中,現(xiàn)有基于RDMA的分布式方案存在以下問題:
內(nèi)存成本增加:雙端Buffer Pool架構(gòu)導(dǎo)致內(nèi)存成本上升——計(jì)算節(jié)點(diǎn)需保留本地內(nèi)存,同時額外部署遠(yuǎn)端內(nèi)存池。
讀寫放大效應(yīng):RDMA不支持原生內(nèi)存語義,導(dǎo)致16KB數(shù)據(jù)頁即便僅訪問少量字節(jié)(如512B),也需將整頁從遠(yuǎn)端內(nèi)存拷貝至本地內(nèi)存,引發(fā)高達(dá)32倍的帶寬浪費(fèi)(16K/512B),致使一些場景下網(wǎng)絡(luò)吞吐成為系統(tǒng)性能瓶頸。
故障恢復(fù)速度慢:故障恢復(fù)慢一直是數(shù)據(jù)庫場景的一大挑戰(zhàn),尤其在需要通過redo log恢復(fù)數(shù)據(jù)頁的情況下
缺乏緩存一致性:在多主架構(gòu)下,所有DB節(jié)點(diǎn)都可以同時訪問整個數(shù)據(jù)庫所有的頁。在這種情況下會頻繁出現(xiàn)數(shù)據(jù)頁從一個節(jié)點(diǎn)遷移到另一個節(jié)點(diǎn)的情況,產(chǎn)生了額外的網(wǎng)絡(luò)帶寬開銷。
4
架構(gòu)創(chuàng)新
基于CXL Switch的三層解耦內(nèi)存層重構(gòu)
隨著CXL技術(shù)的引入,阿里云PolarDB數(shù)據(jù)庫對三層解耦架構(gòu)進(jìn)行了全面改造,推出了業(yè)界首個基于CXL Switch的云數(shù)據(jù)庫PolarCXLMem。該架構(gòu)相比RDMA分布式內(nèi)存層,業(yè)務(wù)端到端性能提升了2倍以上,同時實(shí)現(xiàn)了跨節(jié)點(diǎn)的緩存共享,徹底解決了讀寫放大以及數(shù)據(jù)拷貝的問題。
核心優(yōu)勢:CXL技術(shù)賦能的多維性能突破
1. 低延遲與高帶寬:CXL在64B小粒度訪問(如事務(wù)操作)至16K大粒度數(shù)據(jù)頁訪問的全場景下,延遲性能顯著優(yōu)于RDMA,且?guī)拑?yōu)勢為大粒度數(shù)據(jù)傳輸(如完整數(shù)據(jù)頁讀寫)提供了更優(yōu)支持。
2. CXL原生支持內(nèi)存語義,一方面簡化了編程模式,另一方面也避免了RDMA方案中數(shù)據(jù)需從遠(yuǎn)端通過RDMA網(wǎng)卡拷貝至本地緩存的額外開銷。通過直接將數(shù)據(jù)庫緩存頁構(gòu)建在CXL內(nèi)存內(nèi),消除了IO延遲及數(shù)據(jù)搬移的開銷。
3. 跨節(jié)點(diǎn)緩存一致性保障:針對多主場景,團(tuán)隊(duì)設(shè)計(jì)了跨主機(jī)緩存一致性方案(當(dāng)前為軟件方案,兼容未來CXL3.0硬件緩存一致性協(xié)議),通過集中式緩存管理模塊協(xié)調(diào)各節(jié)點(diǎn)緩存頁狀態(tài),解決了傳統(tǒng)分布式架構(gòu)中數(shù)據(jù)同步與一致性問題。
從理論到實(shí)踐的顯著提升
單點(diǎn)讀場景:吞吐量達(dá)RDMA方案的3倍以上,帶寬需求顯著降低;
全頁訪問(range-select):吞吐量提升2倍,平均延遲降低50%;
多主場景:在共享數(shù)據(jù)百分比較低的場景表現(xiàn)優(yōu)異(最大提升62%),即使在全共享和嚴(yán)重頁沖突(鎖系統(tǒng)瓶頸)的場景下,仍保持27%的性能優(yōu)勢(對比RDMA)。
結(jié)語:
阿里云在CXL技術(shù)領(lǐng)域的創(chuàng)新研發(fā)不僅為數(shù)據(jù)庫場景帶來了革新,更為未來計(jì)算架構(gòu)的發(fā)展指明了方向。隨著CXL技術(shù)的不斷成熟和應(yīng)用場景的拓展,阿里云將繼續(xù)推動CXL技術(shù)的發(fā)展與應(yīng)用,為全球用戶提供更高效、更靈活、更可靠的云計(jì)算服務(wù)。
此次分享不僅展示了阿里云在CXL技術(shù)上的深厚積累和實(shí)踐經(jīng)驗(yàn),更為行業(yè)內(nèi)的技術(shù)創(chuàng)新和生態(tài)建設(shè)提供了有力支持。未來,阿里云將攜手合作伙伴共同推動CXL技術(shù)的標(biāo)準(zhǔn)化和生態(tài)普及,開啟高效計(jì)算的新時代。