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