當(dāng)前位置:首頁 >  站長(zhǎng) >  編程技術(shù) >  正文

智匯華云:Kernel bypass技術(shù)及其在Ceph中的應(yīng)用介紹

 2019-03-20 14:48  來源: 互聯(lián)網(wǎng)   我來投稿 撤稿糾錯(cuò)

  阿里云優(yōu)惠券 先領(lǐng)券再下單

隨著云計(jì)算業(yè)務(wù)的快速發(fā)展,國(guó)內(nèi)外云計(jì)算企業(yè)的專利之爭(zhēng)也愈發(fā)激烈。在云計(jì)算這樣的技術(shù)領(lǐng)域,專利儲(chǔ)備往往代表著企業(yè)最新的技術(shù)實(shí)力。華云數(shù)據(jù)本期“智匯華云”專欄將解析Kernel bypass技術(shù)及其在Ceph中的應(yīng)用介紹,與大家共同分享云計(jì)算領(lǐng)域的最新技術(shù)與解決方案。

背景

Ceph是當(dāng)前最流行的開源分布式統(tǒng)一存儲(chǔ),在一套基礎(chǔ)架構(gòu)中同時(shí)支持塊存儲(chǔ)、對(duì)象存儲(chǔ)和文件存儲(chǔ),支持PB級(jí)別的擴(kuò)展能力,廣泛用于云環(huán)境中;Ceph來源于Sage Weil博士一項(xiàng)關(guān)于存儲(chǔ)系統(tǒng)的PhD研究項(xiàng)目,最初被設(shè)計(jì)為一個(gè)分布式文件系統(tǒng),整體架構(gòu)基于低速設(shè)備而構(gòu)建,提供毫秒(ms)級(jí)別的IO延遲。

從1956年第一塊機(jī)械硬盤(HDD)誕生至今,存儲(chǔ)介質(zhì)的容量和性能都取得了長(zhǎng)足的發(fā)展,特別是2011前后固態(tài)硬盤(SSD)產(chǎn)生后,IOPS出現(xiàn)了指數(shù)級(jí)的增長(zhǎng),IO延遲也從毫秒(ms)降到了微妙(us),提升了1000倍以上;與此同時(shí),網(wǎng)絡(luò)傳輸速率也從10年前的100Mbps,發(fā)展到了目前的100Gbps,實(shí)現(xiàn)了1000倍的增長(zhǎng)。

隨著硬件性能的快速提升,傳統(tǒng)的軟件實(shí)現(xiàn)和架構(gòu)已成為提升軟件系統(tǒng)的主要瓶頸,有數(shù)據(jù)表明,在全NVMe固態(tài)介質(zhì)的配置下,Ceph集群性能只有硬件限性性能的40%左右,所以為了充分利用高性能介質(zhì),需要對(duì)現(xiàn)有的軟件進(jìn)行重構(gòu)。

Kernel bypass技術(shù)

隨著硬件性能的提升,內(nèi)核中的網(wǎng)絡(luò)棧和存儲(chǔ)棧帶來的性能瓶頸越來越明顯,為縮短io路徑、解決NVMe SSD在傳統(tǒng)IO棧上的性能問題,Linux內(nèi)核從4.x開始引入了新的NVMe IO棧,如下圖,可以看新的IO子系統(tǒng)完全擯棄了傳統(tǒng)的通用塊層和SCSI子系統(tǒng):

而kernel bypass(繞過內(nèi)核)是解決系統(tǒng)網(wǎng)絡(luò)棧和存儲(chǔ)棧性能瓶頸的另外一種方式,與傳統(tǒng)的中斷機(jī)制不同,kernel bypass的核心思想是:內(nèi)核只用來處理控制流,所有數(shù)據(jù)流相關(guān)操作都在用戶態(tài)進(jìn)行處理,從而規(guī)避內(nèi)核的包拷貝、線程調(diào)度、系統(tǒng)調(diào)用、中斷等性能瓶頸,并輔以各種性能調(diào)優(yōu)手段(如:CPU pin、無鎖隊(duì)列),從而達(dá)到更高的性能。目前市場(chǎng)上也有多種類似的技術(shù),如DPDK、NETMAP、SPDK、PF_RING、RDMA等,其中 DPDK 因?yàn)楦鼜氐椎拿撾x內(nèi)核調(diào)度以及活躍的社區(qū)支持從而得到了更廣泛的使用。下文簡(jiǎn)單介紹下DPDK、SPDK以及RDMA的技術(shù)原理:

DPDK(Data Plane Development Kit)是由Intel發(fā)起,主要基于Linux系統(tǒng)運(yùn)行,用于快速數(shù)據(jù)包處理的函數(shù)庫與驅(qū)動(dòng)集合,可以極大提高數(shù)據(jù)處理性能和吞吐量,提高數(shù)據(jù)平面應(yīng)用程序的工作效率。DPDK使用了輪詢(polling)而不是中斷來處理數(shù)據(jù)包。在收到數(shù)據(jù)包時(shí),經(jīng)DPDK重載的網(wǎng)卡驅(qū)動(dòng)不會(huì)通過中斷通知CPU,而是直接將數(shù)據(jù)包存入內(nèi)存,交付應(yīng)用層軟件通過DPDK提供的接口來直接處理,這樣節(jié)省了大量的CPU中斷時(shí)間和內(nèi)存拷貝時(shí)間。

SPDK(Storage Performance Development Kit)是由Intel發(fā)起,用于加速使用NVMe SSD作為后端存儲(chǔ)的應(yīng)用軟件加速庫,該軟件庫的核心是用戶態(tài)、異步、輪詢方式的NVMe驅(qū)動(dòng)。與內(nèi)核態(tài)的NVMe驅(qū)動(dòng)相比,它可以大幅度降低延遲,同時(shí)提升單CPU核的IOPS。其架構(gòu)如下:

RDMA(Remote Direct Memory Access)全稱遠(yuǎn)程直接數(shù)據(jù)存取,就是為了解決網(wǎng)絡(luò)傳輸中服務(wù)器端數(shù)據(jù)處理的延遲而產(chǎn)生的。RDMA通過網(wǎng)絡(luò)把資料直接傳入計(jì)算機(jī)的存儲(chǔ)區(qū),將數(shù)據(jù)從一個(gè)系統(tǒng)快速移動(dòng)到遠(yuǎn)程系統(tǒng)存儲(chǔ)器中,而不對(duì)操作系統(tǒng)造成任何影響,這樣就不需要用到多少計(jì)算機(jī)的處理功能。它消除了外部存儲(chǔ)器復(fù)制和上下文切換的開銷,因而能解放內(nèi)存帶寬和CPU周期用于改進(jìn)應(yīng)用系統(tǒng)性能。下圖直觀的展示了傳統(tǒng)模式和RDMA模式下的差異:

SPDK技術(shù)在Ceph BlueStore中的應(yīng)用

先來看一組來自Intel的性能測(cè)試數(shù)據(jù):用戶態(tài)NVMe 驅(qū)動(dòng) VS 內(nèi)核態(tài)NVMe驅(qū)動(dòng)

通過上面的對(duì)比數(shù)據(jù),我們看到了SPDK的優(yōu)異性能表現(xiàn)及潛力,很自然想到可以通過加速Ceph OSD后端IO來提升Ceph性能,具體做法是:使用SPDK中的用戶態(tài)NVMe驅(qū)動(dòng)替代內(nèi)核驅(qū)動(dòng),bluestore架構(gòu)如下:

從上圖可得到如下信息:

1.使用裸設(shè)備,數(shù)據(jù)直接寫入塊設(shè)備,消除文件系統(tǒng)的影響

2.在裸設(shè)備上構(gòu)建輕量級(jí)的Bluefs文件系統(tǒng),用于承載元數(shù)據(jù)庫RocksDB

3.支持插件式的塊分配器(當(dāng)前支持StupidAllocator和BitmapAllocator兩種)

4. 支持插件式的塊設(shè)備驅(qū)動(dòng)(當(dāng)前僅支持Kernel Driver)

所以,要支持新的塊設(shè)備驅(qū)動(dòng)只需添加新的設(shè)備類型(Type)以及實(shí)現(xiàn)相應(yīng)的驅(qū)動(dòng)(Driver)即可。

DPDK/RDMA技術(shù)在Ceph中的應(yīng)用

在講DPDK/RDMA的應(yīng)用前,我們先來看看Ceph中兩種常用的網(wǎng)絡(luò)模塊(Messenger):

1.SimpleMessenger

SimpleMessenger是Ceph最早支持的一種網(wǎng)絡(luò)模塊,如其名字所述,實(shí)現(xiàn)相對(duì)比較簡(jiǎn)單:它通過一個(gè)線程來監(jiān)聽服務(wù)端口、接收客戶連接;每個(gè)新建連接與一個(gè)Pipe關(guān)聯(lián),實(shí)現(xiàn)兩個(gè)端口間類似管道的功能;Pipe內(nèi)部分別有一個(gè)讀寫線程用來處理這個(gè)Pipe有關(guān)的消息接收和請(qǐng)求的發(fā)送;SimpleMessenger通過共享隊(duì)列向各連接分發(fā)接收到的消息。由于每個(gè)連接都需要關(guān)聯(lián)一對(duì)讀寫線程來負(fù)責(zé)消息和請(qǐng)求的處理,很顯然,隨著連接數(shù)量以及并發(fā)的增大,將會(huì)產(chǎn)生大量的線程,隨之線程上下文切換、TCP/IP的overhead也將成倍的增加,嚴(yán)重影響消息和請(qǐng)求的處理性能。

2.AsyncMessenger

為了解決SimpleMessenger中大量線程上下文切換帶來的overhead,AsyncMessenger采用了IO多路復(fù)用技術(shù)(如:epoll、kqueue)以及線程池,來處理消息接收和請(qǐng)求發(fā)送,這樣可以非阻塞的處理多個(gè)網(wǎng)絡(luò)請(qǐng)求;為了兼容不同的傳輸協(xié)議棧,AsyncMessenger還通過插件的方式支持多種傳輸協(xié)議,如:posix、dpdk和rdma,其結(jié)構(gòu)如下:

從上圖我們可以看到通過繼承NetworkStack,添加不同的實(shí)現(xiàn)即可支持不同的傳輸協(xié)議,如:PosixStack、DPDKStack、RDMAStack。

結(jié)合上述的DPDK技術(shù)、RDMA技術(shù)和SPDK技術(shù),Ceph將能夠提供一套純用戶態(tài)的存儲(chǔ)解決方案,個(gè)人認(rèn)為也是當(dāng)前存儲(chǔ)系統(tǒng)設(shè)計(jì)的其中一個(gè)發(fā)展方向。

上文簡(jiǎn)單介紹了DPDK、SPDK、RDMA技術(shù)在Ceph中的應(yīng)用,后續(xù)將對(duì)上述各部分進(jìn)行深度的分析,敬請(qǐng)期待。

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)標(biāo)簽
云計(jì)算應(yīng)用
技術(shù)

相關(guān)文章

  • 王雪:用技術(shù)解決現(xiàn)實(shí)問題,在城市數(shù)字孿生中構(gòu)建“中國(guó)方案”

    在新型城鎮(zhèn)化與數(shù)字化轉(zhuǎn)型并進(jìn)的時(shí)代,城市信息模型作為智慧城市建設(shè)的“數(shù)字底座”,已逐漸成為城市治理、規(guī)劃與運(yùn)行的重要技術(shù)支撐。

    標(biāo)簽:
    技術(shù)
  • 2023全球云計(jì)算市場(chǎng)份額排名

    關(guān)注盧松松,會(huì)經(jīng)常給你分享一些我的經(jīng)驗(yàn)和觀點(diǎn)。最近Synergy研究院發(fā)布了最新的全球云計(jì)算市場(chǎng)份額排名。亞馬遜依舊是以31%的的市場(chǎng)份額排名第一,微軟azure24%排名第二,Google云11%排名第三,阿里云4%排名第四。騰訊云和IBM、甲骨文并列2%。通過上面的圖片也可以判斷出:(1)云市場(chǎng)

    標(biāo)簽:
    云計(jì)算應(yīng)用
  • 青云QingCloud開源容器平臺(tái)KubeSphere助力微宏科技落地微服務(wù)架構(gòu)

    杭州微宏科技有限公司于2012年成立,專注于業(yè)務(wù)流程管理和自動(dòng)化(BPM&BPA)軟件研發(fā)和解決方案供應(yīng)商。創(chuàng)始團(tuán)隊(duì)畢業(yè)于浙江大學(xué)、清華大學(xué)、美國(guó)Rice大學(xué)和UniversityofTexas等海內(nèi)外知名高校,曾服務(wù)于世界知名軟件公司和500強(qiáng)企業(yè)。公司在自建IDC機(jī)房的物理服務(wù)器上搭建了K8s集

    標(biāo)簽:
    云計(jì)算應(yīng)用
  • HashData 入選“綠色計(jì)算最具價(jià)值解決方案”,打造綠色計(jì)算數(shù)智動(dòng)力

    12月13日-14日,由綠色計(jì)算產(chǎn)業(yè)聯(lián)盟(GCC)、邊緣計(jì)算產(chǎn)業(yè)聯(lián)盟(ECC)聯(lián)合舉辦“2023計(jì)算產(chǎn)業(yè)生態(tài)大會(huì)”(CIEC2023)在北京舉行。作為計(jì)算領(lǐng)域的權(quán)威會(huì)議,本次大會(huì)邀請(qǐng)了多位兩院院士、眾多產(chǎn)業(yè)專家,聚焦計(jì)算產(chǎn)業(yè)前沿技術(shù)、發(fā)展趨勢(shì)、創(chuàng)新應(yīng)用及發(fā)展成果,以計(jì)算能力賦能千行百業(yè)??峥藬?shù)據(jù)(H

    標(biāo)簽:
    云計(jì)算應(yīng)用
  • 身邊云搭建新用工時(shí)代智慧平臺(tái),以數(shù)字技術(shù)賦能零工產(chǎn)業(yè)發(fā)展

    近日,暨南大學(xué)經(jīng)濟(jì)與社會(huì)研究院和智聯(lián)招聘聯(lián)合發(fā)布《2023中國(guó)新型靈活就業(yè)報(bào)告》,對(duì)我國(guó)新型靈活就業(yè)最新發(fā)展趨勢(shì)進(jìn)行了詳細(xì)分析。報(bào)告認(rèn)為,靈活就業(yè)已經(jīng)成為傳統(tǒng)就業(yè)的重要補(bǔ)充,甚至在個(gè)別特定行業(yè)、職業(yè)已經(jīng)占據(jù)主要地位,如何規(guī)范好靈活就業(yè)的發(fā)展,是數(shù)字經(jīng)濟(jì)時(shí)代的一個(gè)重要命題。數(shù)字浪潮孕育“新個(gè)體”,靈活

    標(biāo)簽:
    云計(jì)算應(yīng)用

熱門排行

信息推薦