爾提出NVMe標(biāo)準(zhǔn),可以縮短閃存設(shè)備的訪問路徑,提升訪問堆棧性能,更能發(fā)揮閃存高IO性能和低延時(shí)優(yōu)勢(shì)。
而對(duì)于高并發(fā)的應(yīng)用而言,基于PCIe的NVMe協(xié)議更有明顯優(yōu)勢(shì)。對(duì)于采用AHCI協(xié)議的設(shè)備來說,每個(gè)PCIe卡的ssd訪問都需要通過Core 0來管理,Core0成為該設(shè)備的控制核,這樣的控制機(jī)制就會(huì)降低性能和訪問的可靠性,但NVMe協(xié)議支持每個(gè)CPUCore采用獨(dú)立的鏈路,可以提高并發(fā)性能。
Linux文件系統(tǒng)是基于日志的文件系統(tǒng),利用閃存提高Linux的文件系統(tǒng)性能可以采用以下幾種方式:1. 將Journal日志放置到閃存上,2. 對(duì)數(shù)據(jù)安全不要求的情況下可以禁用Journal,3.由于閃存不存在磁盤存儲(chǔ)的巡道和IO合并的需要,也可以禁用系統(tǒng)針對(duì)磁盤優(yōu)化的merge/rotational等參數(shù)提高性能,4. Linux最新的Btrfs文件系統(tǒng)基于閃存特性做了訪問優(yōu)化,也可以考慮采用Btrfs文件系統(tǒng)。
ZFS文件系統(tǒng)是也是一個(gè)非常有特色的文件系統(tǒng),當(dāng)前一些商業(yè)化存儲(chǔ)系統(tǒng)就是基于ZFS文件系統(tǒng)。ZFS文件系統(tǒng)載在設(shè)計(jì)時(shí)就考慮了通過閃存進(jìn)行性能加速的方法。ZFS使用日志機(jī)制,ZFS intent log (ZIL) 處理同步寫,ZIL處理同步寫越快,系統(tǒng)性能越好。將閃存作為ZFS日志設(shè)備,可以大幅提升同步寫性能。ZFS的ARC(Adjustable Replacement Cache)讀緩存淘汰算法可以優(yōu)化系統(tǒng)的讀性能,而SSD可以作為二級(jí)緩存L2ARC設(shè)備提供更大的緩存空間,緩存命中是最大限度能提高性能的。但是
當(dāng)前比較熱門的Ceph文件系統(tǒng),相對(duì)于底層的文件系統(tǒng)而言,Ceph文件系統(tǒng)更像是在底層文件系統(tǒng)之上的文件服務(wù),在這里我們就不做過多介紹,但是Ceph文件系統(tǒng)也大量采用閃存進(jìn)行性能加速。
針對(duì)閃存特性和文件系統(tǒng)應(yīng)用的分析之后,那么當(dāng)前閃存存在哪些問題呢?
問題之一在于,大多數(shù)操作系統(tǒng)和應(yīng)用的存儲(chǔ)設(shè)計(jì)均是針對(duì)磁盤訪問特性進(jìn)行優(yōu)化的。由于傳統(tǒng)磁盤的機(jī)械設(shè)計(jì),需要通過磁頭的旋轉(zhuǎn)進(jìn)行尋道和數(shù)據(jù)IO操作,限制了磁盤的性能,因此操作系統(tǒng)和應(yīng)用的底層算法大部分都是針對(duì)如何減少IO操作和尋道時(shí)間所設(shè)計(jì)的。
另外,磁盤存儲(chǔ)架構(gòu)下為了提高IO性能采用了緩存設(shè)計(jì),從而又增加了復(fù)雜的數(shù)據(jù)保護(hù)的處理機(jī)制。
還有就是,應(yīng)用的并發(fā)度也限制了利用了閃存。
當(dāng)前有些研究機(jī)構(gòu)通過透明地繞過文件系統(tǒng)使用非易失性存儲(chǔ)器,在高并發(fā)的壓力下將閃存設(shè)備的性能提升7倍以上。
來自SNIA最新的技術(shù)思路, 利用NVMe標(biāo)準(zhǔn)訪問協(xié)議,針對(duì)閃存設(shè)備特性來設(shè)計(jì)存儲(chǔ)訪問機(jī)制。例如利用基于閃存設(shè)備的對(duì)象存儲(chǔ)結(jié)構(gòu),讓應(yīng)用直接訪問底層閃存設(shè)備;再有通過閃存優(yōu)化的文件系統(tǒng),提供上層的文件訪問;對(duì)于一些應(yīng)用提供核心層的閃存優(yōu)化的塊訪問機(jī)制等等。
另外,出于成本的考慮,有些客戶將閃存設(shè)備作為磁盤的緩存,通過將SSD作為傳統(tǒng)磁盤的讀寫緩存以加速IO性能,這種使用方式其實(shí)會(huì)加速設(shè)備磨損,因?yàn)槔肔FU,LRU,MRU等緩存算法,會(huì)帶來大量的碎片IO操作,造成讀也是寫的情況,加速了SSD設(shè)備的磨損。
李炫輝根據(jù)業(yè)界趨勢(shì)包括Greenliant的發(fā)展情況,對(duì)閃存做了一個(gè)很有意思的展望,他指出,未來閃存隨著經(jīng)濟(jì)性越來越好,可靠性設(shè)計(jì)的逐步完善,那么面向NVMe閃存設(shè)備的訪問機(jī)制將會(huì)成為閃存應(yīng)用的現(xiàn)實(shí),針對(duì)NVMe閃存設(shè)備會(huì)做成一體化的架構(gòu)。