騰訊云超高性能 SSD 云盤(pán)如何練就業(yè)界頂級(jí)的 IOPS 性能?下面逐一對(duì)騰訊云超高性能云盤(pán)使用的核心技術(shù)進(jìn)行揭秘。

1.使用 SPDK 充分發(fā)掘 NVMe SSD的性能

Linux下 IOPS 越高系統(tǒng)的開(kāi)銷(xiāo)越大,在單機(jī)高密度盤(pán)場(chǎng)景下很難將所有NVMe SSD 盤(pán)的性能發(fā)揮出來(lái)。我們突破性地使用 SPDK 來(lái)讀寫(xiě) NVMe SSD,由于 NVMe 的驅(qū)動(dòng)程序在用戶空間,因此不需要用中斷來(lái)通知 IO 完成,也就無(wú)需經(jīng)過(guò)厚重的內(nèi)核 IO 棧。相比于使用 Linux內(nèi)核,SPDK 用戶空間 NVMe 驅(qū)動(dòng)程序在極小化系統(tǒng)開(kāi)銷(xiāo)的同時(shí),可將 IO 延遲降低 10 倍,單核單盤(pán)的性能可達(dá)百萬(wàn) IOPS。

2.基于 25Gb 的 RDMA 的超高性能網(wǎng)絡(luò)框架

隨機(jī)IOPS高達(dá)20萬(wàn),騰訊云SSD云盤(pán)如何煉出業(yè)界頂級(jí)性能?

云盤(pán)的讀寫(xiě)離不開(kāi)網(wǎng)絡(luò)傳輸。使用 TCP socket 傳輸數(shù)據(jù)時(shí),大部分的延遲都是由網(wǎng)絡(luò)協(xié)議棧帶來(lái)的,且網(wǎng)絡(luò)協(xié)議棧太復(fù)雜,難于優(yōu)化。相對(duì)于傳統(tǒng)的 TCP socket 數(shù)據(jù)傳輸,RDMA 技術(shù)可以將應(yīng)用程序 Buffer 中的數(shù)據(jù)直接拷貝到網(wǎng)卡內(nèi)存并發(fā)送到遠(yuǎn)端,遠(yuǎn)端把數(shù)據(jù) DMA 到應(yīng)用的緩存中,相當(dāng)于在應(yīng)用之間建立了更快速更直接的通道,如圖所示。通過(guò)上面的工作原理可以看到,使用 RDMA 做數(shù)據(jù)傳輸有以下幾個(gè)優(yōu)勢(shì):

1) zero-copy:數(shù)據(jù)不需要在網(wǎng)絡(luò)協(xié)議棧的各個(gè)層之間來(lái)回拷貝,這縮短了數(shù)據(jù)流路徑。

2) kernel-bypass:應(yīng)用直接操作設(shè)備接口,不再經(jīng)過(guò)系統(tǒng)調(diào)用切換到內(nèi)核態(tài),沒(méi)有內(nèi)核切換開(kāi)銷(xiāo)。

3) none-CPU:數(shù)據(jù)傳輸無(wú)須CPU參與,完全由網(wǎng)卡搞定,無(wú)需再做發(fā)包收包中斷處理,不耗費(fèi)CPU資源。

騰訊云專門(mén)開(kāi)發(fā)了針對(duì) RDMA 的超高性能網(wǎng)絡(luò)框架,可以充分發(fā)揮 RDMA的傳輸優(yōu)勢(shì)。在 4K-16K小 IO 場(chǎng)景下,相對(duì) TCP 網(wǎng)絡(luò)延遲下降 50%,同時(shí)有超過(guò) 5 倍的性能提升。25Gb 網(wǎng)絡(luò)讓云盤(pán)的理論讀寫(xiě)帶寬達(dá)到 2.5GB/s以上,可以讓一臺(tái)云主機(jī)的多塊盤(pán)同時(shí)跑出極限性能。

3.基于 3D Xpoint 的 log 緩存

3D Xpoint 技術(shù)可謂是 NAND Flash 誕生以來(lái)存儲(chǔ)界的最大突破。相比DRAM,3D Xpoint 盤(pán)有非易失、低功耗、高密度的優(yōu)勢(shì);相比 NAND,其速度更快,壽命更長(zhǎng)。由于云盤(pán)存儲(chǔ)引擎采用類似 LSM 的模式,因此將高性能、長(zhǎng)壽命的 3D Xpoint 盤(pán)作為一級(jí) log ,內(nèi)存用作一級(jí) log 的索引緩存非常合適。既通過(guò)內(nèi)存的高速度保證了訪問(wèn)的性能,又通過(guò) 3D Xpoint 盤(pán)的非易失性保證了數(shù)據(jù)的安全。3D Xpoint 盤(pán)同時(shí)還用于存儲(chǔ)元數(shù)據(jù),實(shí)現(xiàn) metadisk機(jī)制,保證需實(shí)時(shí)存儲(chǔ)的小 IO 元數(shù)據(jù)及時(shí)落盤(pán)。

4.云盤(pán)系統(tǒng)架構(gòu)

隨機(jī)IOPS高達(dá)20萬(wàn),騰訊云SSD云盤(pán)如何煉出業(yè)界頂級(jí)性能?

云盤(pán)接入層和存儲(chǔ)節(jié)點(diǎn)通過(guò) RDMA 傳輸數(shù)據(jù),騰訊云專門(mén)開(kāi)發(fā)了針對(duì)RDMA 的超高性能網(wǎng)絡(luò)框架,滿足超高 IOPS 下的數(shù)據(jù)傳輸需求;Dispatch 模塊用來(lái)進(jìn)行多副本的數(shù)據(jù)分發(fā)同步;3D Xpoint 盤(pán)和 NVMe SSD 盤(pán)分別負(fù)責(zé)日志元數(shù)據(jù)和用戶數(shù)據(jù)的存儲(chǔ)。整個(gè)系統(tǒng)從設(shè)計(jì)上盡量縮短 IO 的中間路徑,使用 RMDA 和 SPDK 將 IO 從耗時(shí)的網(wǎng)絡(luò)內(nèi)核棧和 IO 內(nèi)核棧中解放出來(lái),消除 IO 路徑上的瓶頸點(diǎn),將后端洶涌澎湃的 IO 能力送達(dá)云主機(jī)。

此次超高性能 SSD 云盤(pán)的推出標(biāo)志了騰訊云積累多年的分布式存儲(chǔ)技術(shù)和順應(yīng)時(shí)代新硬件的完美結(jié)合。騰訊云在存儲(chǔ)領(lǐng)域快速應(yīng)用 RDMA、SPDK、3D Xpoint 等新技術(shù),不斷突破性能上限。率先將最新技術(shù)領(lǐng)入到云計(jì)算行業(yè)中,普惠眾多游戲、電商、社交應(yīng)用、直播等領(lǐng)域的客戶。

分享到

songjy

相關(guān)推薦