自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一種NVMe SSD友好的數(shù)據(jù)存儲系統(tǒng)設計

存儲 存儲軟件
NVMe SSD是未來的發(fā)展趨勢,隨著NVMe SSD在主存儲領域的大規(guī)模應用,面向NVMe SSD的存儲系統(tǒng)設計必將是一個熱門話題。RISL架構是一種NVMe SSD友好的存儲系統(tǒng)設計方法,符合了SSD的讀寫特性,可以很好的發(fā)揮SSD的性能優(yōu)勢。

 閃存介質的大規(guī)模使用給傳統(tǒng)存儲系統(tǒng)的設計帶來了強烈的沖擊,傳統(tǒng)存儲系統(tǒng)的很多設計理念不再適用于閃存存儲系統(tǒng)。傳統(tǒng)存儲在設計過程中緊緊圍繞磁盤抖動問題,所以在數(shù)據(jù)布局方面會適應磁盤的順序讀寫特征。在設計過程中會大量采用內存作為磁盤緩存,利用數(shù)據(jù)局部性特征過濾掉大量的磁盤操作,并且將小寫聚合成大寫;在IO調度器方面,通過LBA的調度將地址臨近的IO進行聚合,從而可以優(yōu)化IO Pattern,使得磁盤的讀寫操作具有更強的順序性;在磁盤內部,通過NCQ方式減少磁頭的抖動,根據(jù)磁頭當前所在位置對輸入IO進行重新排序與調度,從而達到減少磁盤抖動的目的,提升磁盤訪問性能。但是在SSD這種介質上,磁盤所存在的IO特性已經(jīng)蕩然無存,傳統(tǒng)對磁盤所做的大量優(yōu)化并不能給SSD帶來價值,在有些情況下反而會影響性能。在基本存儲介質、存儲原理發(fā)生變革的情況下,存儲系統(tǒng)軟件的設計也需要做出調整,閃存系統(tǒng)設計一方面需要充分利用SSD帶來的價值,另一方面需要規(guī)避SSD所存在的問題。總的來說,如下圖所示,存儲系統(tǒng)設計需要緊緊圍繞應用與介質特性。磁盤和SSD相比存在一些共同的特性,但是各自又存在自己獨特的特性。為了更好的發(fā)揮SSD特性,滿足應用需求,需要設計面向SSD的存儲軟件系統(tǒng)。

面向SSD設計的存儲系統(tǒng)軟件,一方面需要發(fā)揮SSD的特性,另一方面需要規(guī)避SSD的問題。NVMe SSD具有的特性可以歸納如下:

1, 具有極高的順序寫性能,一般的隨機寫性能。SSD內部采用日志型的寫入方式,新寫入的數(shù)據(jù)都會被寫入到新的NAND單元,并且建立LBA與PBA之間的映射關系。正因為如此,SSD內部存在垃圾回收機制,對無效LBA映射單元進行回收。垃圾回收會對SSD性能產生重大影響,通常所說的SSD穩(wěn)態(tài)性能,就是在SSD內部垃圾回收單元正常運行情況下的測試結果。對于大塊順序寫來說,每次寫入的LBA都是連續(xù)的,因此可以大大簡化SSD內部的垃圾回收運行機制,減少垃圾回收過程中的數(shù)據(jù)搬移操作,從而提升SSD的整體性能。對于隨機寫操作,LBA地址與PBA進行雜亂映射,垃圾回收過程中存在大量的數(shù)據(jù)搬移操作,一方面影響SSD的寫放大;另一方面會造成SSD性能下降。因此,對于NVMe SSD來說,順序寫性能要高于隨機寫性能。為了***程度的發(fā)揮SSD性能,對SSD盡可能采用順序寫入的方式,并且采用與SSD內部Data Frame對齊的大數(shù)據(jù)塊方式,這是對SSD最為友好的IO模式。

2, 具有極高的隨機讀性能。SSD內部采用NANDFlash存儲介質,對于這種介質不存在類似磁盤的隨機讀問題。對于讀請求,在SSD內部的固件首先將LBA轉換成PBA,然后從NAND介質上讀取數(shù)據(jù)。

通過SSD的讀寫特性分析,我們設計了以RISL架構為核心的存儲系統(tǒng)。RISL是Random Input Stream Layout的縮寫,該架構***的特性是充分利用NVMeSSD的讀寫特性,將業(yè)務的隨機IO寫請求轉換成順序數(shù)據(jù)流寫入SSD。在RISL層將寫請求進行聚合,轉換成順序數(shù)據(jù)流之后再寫入存儲層,對于SSD而言可以做到順序寫入的效果,提升了SSD內部固件的工作效率,從而提升系統(tǒng)整體性能。在讀請求處理方面,RISL內部建立了請求映射表,通過請求映射表將用戶請求轉換至SSD請求,對于SSD而言實現(xiàn)了讀請求隨機訪問的目的。RISL架構的存儲系統(tǒng)框架如下圖所示:

RISL系統(tǒng)分成兩大部分,一部分是StorageService System,該部分負責寫請求順序化以及讀請求的映射處理,并且在寫請求處理過程中可以加入數(shù)據(jù)去重、壓縮等機制,更加高效的使用SSD存儲空間;另一部分是FlashRAID存儲層,對外提供存儲對象Container。FlashRAID提供的存儲對象分為兩大類,一類為Sealed Container,該類對象具備只讀特性;另一類為Active Container,具備可寫特性。寫數(shù)據(jù)流只會往Active Container中寫入數(shù)據(jù),當Active Container被寫滿之后,該類對象會轉換成Sealed Container。為了保證在系統(tǒng)突然斷電情況下的數(shù)據(jù)一致性,設計采用了NVDIMM存儲介質,通過該介質對用戶數(shù)據(jù)進行聚合處理,將隨機的業(yè)務寫數(shù)據(jù)轉換成順序數(shù)據(jù)流。聚合完成的順序數(shù)據(jù)流通過數(shù)據(jù)去重引擎以及數(shù)據(jù)壓縮引擎進行數(shù)據(jù)縮減操作,提升SSD的利用率。在數(shù)據(jù)寫過程中會產生大量的元數(shù)據(jù),這些元數(shù)據(jù)都具有小數(shù)據(jù)的特性,通過NVDIMM的聚合首先將元數(shù)據(jù)轉換成大數(shù)據(jù)塊,然后再寫入持久化SSD介質,這樣可以避免元數(shù)據(jù)操作引入的小寫問題。

對于讀操作,邏輯處理過程比較簡單,在RISL架構中維護了一個數(shù)據(jù)映射表格,通過該表格實現(xiàn)業(yè)務請求與SSD請求之間的映射。SSD請求在存儲介質上隨機分布,獲取并發(fā)讀取效果。RISL架構中的數(shù)據(jù)映射表格容量與存儲容量相關,為了提升IO性能,該映射表格通常會全部加載在內存中。此外,該表格在寫處理過程中會對其進行修改,在讀操作過程中會對其進行檢索,因此,如何保證該表格的并發(fā)訪問是設計與實現(xiàn)的重點。

存儲系統(tǒng)的設計本質上就是數(shù)據(jù)布局的設計。從數(shù)據(jù)布局的角度來看RISL,其可以很好的與NVMe SSD的特性進行匹配。下圖所示是RISL架構的數(shù)據(jù)布局圖:

其中綠點表示讀請求,紅點表示寫請求。從圖中可以看出寫請求在SSD上具有很強的局部性,具備順序寫的特點;讀請求在SSD上具有很強的離散性。讀寫請求在SSD上沒有沖突,但是在NVDIMM中具有混合訪問特性,也就是說熱點數(shù)據(jù)在NVDIMM中進行處理,避免讀寫在SSD中沖突,從而可以緩解讀請求由于寫請求而引入的延遲的問題。從圖中也可以看出RISL架構的數(shù)據(jù)布局與磁盤存儲系統(tǒng)的數(shù)據(jù)布局完全不同,從而也說明了RISL是一種面向SSD設計、SSD友好的存儲系統(tǒng)設計方法。

RISL架構設計還需要考慮的一個問題是數(shù)據(jù)回收(GarbageCollection)。由于RISL將用戶隨機寫請求轉換成了順序IO流,簡化了SSD內部的數(shù)據(jù)回收操作,該問題被轉移到了系統(tǒng)層面去解決。由于系統(tǒng)層面離業(yè)務層更近,因此可以與業(yè)務進行配合更好的實現(xiàn)垃圾數(shù)據(jù)的回收。在面向Flash的存儲系統(tǒng)設計中,有一種設計思路是將底層的FTL轉移到系統(tǒng)層去實現(xiàn),該想法的一個缺陷是需要定制化SSD,將NAND Flash的接口直接暴露給系統(tǒng)層。RISL架構可以在標準SSD上實現(xiàn),但同樣可以在系統(tǒng)層實現(xiàn)垃圾數(shù)據(jù)塊的回收,并且可以與業(yè)務配合提升閃存存儲系統(tǒng)的性能。這是RISL架構的優(yōu)勢。

在RISL架構設計的基礎上,我們實現(xiàn)了閃存存儲系統(tǒng)的原型系統(tǒng)。如下圖所示,在多塊Intel NVMe SSD盤的基礎上,當寫IOPS達到80萬時,IO的平均延遲可以控制在160us左右。達到了高IOPS、低IO延遲的設計目標。

NVMe SSD是未來的發(fā)展趨勢,隨著NVMe SSD在主存儲領域的大規(guī)模應用,面向NVMe SSD的存儲系統(tǒng)設計必將是一個熱門話題。RISL架構是一種NVMe SSD友好的存儲系統(tǒng)設計方法,符合了SSD的讀寫特性,可以很好的發(fā)揮SSD的性能優(yōu)勢。

責任編輯:武曉燕 來源: 存儲之道
相關推薦

2015-04-17 10:21:37

云存儲附加存儲

2022-09-26 08:00:00

存儲Apache Pul數(shù)據(jù)

2018-06-21 14:20:24

Linuxfindfd

2018-03-07 10:35:45

云計算存儲系統(tǒng)

2018-07-18 08:59:32

Redis存儲模式

2018-01-31 08:44:20

數(shù)據(jù)存儲存儲設備存儲系統(tǒng)

2021-03-22 10:30:15

存儲技術容器

2021-06-18 06:00:31

存儲系統(tǒng)

2017-07-05 14:09:04

系統(tǒng)設計與架構java云計算

2018-09-29 14:08:04

存儲系統(tǒng)分布式

2023-05-11 07:30:10

KV存儲GC優(yōu)化

2024-07-05 11:05:47

2023-07-03 19:40:21

系統(tǒng)設計模式

2009-04-11 15:12:24

2023-06-28 09:53:13

數(shù)據(jù)中心NVMe

2021-03-19 11:32:20

TCPNVMeSSD

2023-09-17 23:16:46

緩存數(shù)據(jù)庫

2009-07-01 18:39:17

JSP表單

2022-03-03 09:51:11

RedisCouchbase數(shù)據(jù)存儲

2024-01-15 16:51:03

Redis數(shù)據(jù)存儲
點贊
收藏

51CTO技術棧公眾號