D3C實例需要使用最新的QLC存儲介質(zhì),但是QLC在耐久性上和寫性能方面有許多問題,特別是在處理小IO的時候,其性能并沒有比磁盤高多少,甚至在小數(shù)據(jù)塊的順序?qū)憟鼍爸校湫阅苓€不如磁盤。
在分享中高偉詳細(xì)分析了造成此現(xiàn)象的原因:簡單用QLC閃存盤替換磁盤的做法是行不通的。
阿里云旗下有I系列和D系列兩類提供EBS本地存儲的ECS實例,I系列強(qiáng)調(diào)低延遲和高性能,主要用于數(shù)據(jù)庫場景,D系列強(qiáng)調(diào)低成本和大容量,主要用于大數(shù)據(jù)分析場景,新推出的D3C實例在性能上有大幅提升。
在構(gòu)建實例的過程中,為了解決QLC在耐久性和性能方面的問題,英特爾和合作伙伴在過去一年里開展了一個叫CSAL的項目,而CSAL的作用主要有四個方面:
1,可根據(jù)用戶工作負(fù)載需求自由調(diào)整的NAND存儲性能和容量;
2,使用性能和耐久性都很高的傲騰來彌補(bǔ)QLC性能和耐久性不足的問題;
3,提供英特爾至強(qiáng)原生的高性能存儲;
4,多租戶下有更穩(wěn)定的QoS表現(xiàn),機(jī)架級別實現(xiàn)了三倍節(jié)??;
新的D3C實例采用了新一代的代號為Ice Lake的英特爾至強(qiáng)可擴(kuò)展處理器,搭配CSAL技術(shù)和傲騰加QLC的技術(shù)組合,在計算和存儲性能方面都有了大幅提升。
與此前的D2C相比,原來一臺服務(wù)器只能提供一個大規(guī)格的虛擬機(jī),而現(xiàn)在,一臺服務(wù)器可以提供兩個大規(guī)格的虛擬機(jī)。
并且,從TPCx-HS和TPC-DS兩個跑分測試數(shù)據(jù)來看,新的D3C的性能表現(xiàn)都比原來的D2C有所提升。
此外,高偉還介紹了CSAL架構(gòu)方面的更多細(xì)節(jié),以及CSAL在新一代ZNS閃存盤上的一些性能數(shù)據(jù),如何未來發(fā)揮更多作用。
英特爾?傲騰?持久內(nèi)存存儲模式的優(yōu)化,值得期待
英特爾?傲騰?技術(shù)的研發(fā)始于2012年,2019年英特爾?傲騰?持久內(nèi)存100系列與第二代英特爾?至強(qiáng)?可擴(kuò)展處理器共同發(fā)布,隨后,隨著第三代英特爾?至強(qiáng)?可擴(kuò)展處理器的發(fā)布,又發(fā)布了第二代的英特爾?傲騰?持久內(nèi)存200系列,而第三代英特爾?傲騰?持久內(nèi)存也將在明年年初與第四代英特爾?至強(qiáng)?可擴(kuò)展處理器一道發(fā)布。
從英特爾技術(shù)專家吳國安的介紹中了解到,第三代英特爾?傲騰?持久內(nèi)存的性能相比于200系列還會有大幅地提升。令人遺憾的是,由于一些原因,英特爾不再開發(fā)第四代傲騰持久內(nèi)存產(chǎn)品,但后續(xù)將依靠至強(qiáng)平臺支持的CXL協(xié)議來擴(kuò)展內(nèi)存的容量及帶寬。
吳國安分享的重點(diǎn)是持久內(nèi)存SNIA編程模型的優(yōu)化問題,如圖可見,編程模式分兩種,一種是右側(cè)的內(nèi)存編程模式,另一種是左側(cè)是存儲編程模式,左側(cè)是此次關(guān)注的重點(diǎn)。
與內(nèi)存編程模式不同,存儲編程模式不需要修改代碼,并且,可以像操作普通磁盤和固態(tài)盤那樣把傲騰當(dāng)做塊設(shè)備來使用,之所以能做到這點(diǎn),很重要一方面就是因為有一個叫BTT的核心算法。BTT核心算法可以將字節(jié)訪問的持久內(nèi)存設(shè)備,映射成為Block原子性的塊設(shè)備,從而將持久內(nèi)存設(shè)備視為是快速且低延時的SSD。也因此,它具有了和SSD一樣的編程模型,這意味著它可以利用現(xiàn)有的SSD的生態(tài),使用傳統(tǒng)的讀寫接口,在所有現(xiàn)有的文件系統(tǒng)下正常工作。
在這種模式之下,傲騰持久內(nèi)存可以像普通SSD一樣,作為緩存來加速存儲性能。
最近,Linux內(nèi)核方面有兩個優(yōu)化,這兩個優(yōu)化可以大大提升這種模式下的性能表現(xiàn)。分享中詳細(xì)介紹了持久內(nèi)存存儲編程核心算法-BTT的更多細(xì)節(jié),介紹了兩種優(yōu)化存儲模式的方法,一種是算法優(yōu)化,將BTT算法在持久內(nèi)存中的16字節(jié)的bflog操作邏輯變?yōu)閮?nèi)存中的操作,減少寫操作的開銷。
另一種是動態(tài)控制deepflush,利用英特爾平臺的ADR功能而無需使用deepflush指令從而獲得非常好的性能提升。
最后,讓我們再看持久內(nèi)存存儲編程模式可能的發(fā)展方向。新一代的英特爾至強(qiáng)可擴(kuò)展處理器將內(nèi)置DSA的加速器,它可以卸載CPU的數(shù)據(jù)搬遷工作,從而節(jié)省CPU的資源,又比如CXL技術(shù)將來可以和持久內(nèi)存存一起來獲得更優(yōu)的存儲性能。
詳細(xì)的技術(shù)細(xì)節(jié)也可以參考:持久內(nèi)存BTT實現(xiàn)及優(yōu)化(一)及持久內(nèi)存BTT實現(xiàn)及優(yōu)化(二)。
相關(guān)的代碼可以參考:[PATCH] BTT: Use dram freelist and remove bflog to otpimize perf以及[PATCH] ACPI/NFIT: Add no_deepflush param to dynamic control flush operation?!?/p>
SPDK在英特爾IPU的存儲卸載中有重要作用
SPDK(Storage Performance Development Kit)提供了一系列的工具和類庫來創(chuàng)建高性能、可擴(kuò)展的、用戶態(tài)的存儲應(yīng)用,能用于構(gòu)建超高性能的存儲應(yīng)用。
去年,英特爾正式發(fā)布了兩款I(lǐng)PU(Infrastructure Processing Unit),一個叫Big Spring Canyon(BSC),另一個叫Mount Evans,兩款I(lǐng)PU都能對存儲進(jìn)行卸載,并利用SPDK來提高性能。
英特爾技術(shù)專家裴迪介紹了IPU推出的背景和IPU的諸多價值。IPU不僅可以減少CPU資源的浪費(fèi),讓CPU得到更充分利用,還能提升性能和降低延遲,此外,通過軟硬件的結(jié)合,從而為云基礎(chǔ)設(shè)施帶來更高的靈活性。
Big Spring Canyon(BSC)是由英特爾?至強(qiáng)?D系列處理器和FPGA智能網(wǎng)卡來構(gòu)建的,其優(yōu)勢在于可以利用英特爾?至強(qiáng)?強(qiáng)大的軟件生態(tài),性能強(qiáng)大,功能強(qiáng)大,還可以應(yīng)對未來新的需求和定制化的需求。
Big Spring Canyon(BSC)卡的使用場景可以分為虛擬化模式和裸金屬模式兩種,裴迪結(jié)合兩種典型的使用場景在技術(shù)層面上做了一些具體的介紹。
裴迪介紹了SPDK軟件結(jié)合Big Spring Canyon(BSC)來支持存儲卸載和彈性塊設(shè)備的技術(shù)細(xì)節(jié),讓我們看到了SPDK軟件在Big Spring Canyon(BSC)卡的存儲卸載方面有重要作用,之所以使用SPDK來完成存儲卸載工作,是因為SPDK具有強(qiáng)大的優(yōu)勢:
一方面,因為SPDK是一個用戶態(tài)的軟件,使用了Polling mode避免了內(nèi)核態(tài)IO處理頻繁上下文切換帶來的性能開銷,SPDK的數(shù)據(jù)面零拷貝和無鎖的特性也極大提高了性能。另一方面,SPDK目前已經(jīng)比較成熟,支持多種遠(yuǎn)端存儲。
Mount Evans是一款基于ASIC芯片和ARM CPU打造的IPU,提供2 x 100G的網(wǎng)絡(luò)能力,它是由英特爾和谷歌合作開發(fā)設(shè)計的。
Mount Evans繼承了以往多款基于FPGA的智能網(wǎng)卡和IPU的開發(fā)經(jīng)驗,可應(yīng)對各種真實的工作負(fù)載。它不僅擁有強(qiáng)大的性能,而且,在安全性和隔離性上面也具有更高水平的實現(xiàn),從設(shè)計之初就將安全性和隔離性視為重中之重。
Mount Evans在硬件層面有許多技術(shù)創(chuàng)新,比如,它具有業(yè)內(nèi)一流的可編程的包處理引擎,它擁有從英特爾傲騰拓展而來的NVME存儲接口,它支持下一代可靠傳輸技術(shù),它還帶有先進(jìn)的解壓縮加速器。
在軟件生態(tài)方面,Mount Evans經(jīng)由軟件開發(fā)人員、硬件開發(fā)人員和加速器開發(fā)人員共同設(shè)計開發(fā),有更好的軟硬協(xié)同。它支持Barefoot P4 Studio,可以為開發(fā)者提供更好的可編程性。另外,卡上運(yùn)行的Linux操作系統(tǒng)能夠充分利用DPDK、SPDK以及IPDK等軟件生態(tài)。
在Mount Evans的CPU上也運(yùn)行著SPDK存儲服務(wù),可以提供存儲卸載和加速,SPDK在不同形態(tài)的IPU產(chǎn)品上都可以快速的匹配對應(yīng)的硬件,同時提供高性能、高可擴(kuò)展性,可對接到不同的存儲服務(wù)中,為IPU加速產(chǎn)品化提供存儲生態(tài)上的支持。
裴迪介紹了Mount Evans用SPDK卸載存儲的技術(shù)細(xì)節(jié)和一些典型的使用場景,在技術(shù)實現(xiàn)上,重點(diǎn)提到了一個叫vDPA的技術(shù),vDPA技術(shù)增加了更多硬件實現(xiàn)的功能,從而帶來性能加速效果。
同時在IPU結(jié)合SPDK的使用場景中,也有涉及到最近比較熱門的FaaS (Function as a Service)云原生相關(guān)的支持。
以上是三位專家演講內(nèi)容的概要,如果想了解更多演講具體內(nèi)容,歡迎查看視頻回放。