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