一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

多流技術(shù):不同壽命數(shù)據(jù)存在SSD的不同塊

SSDFans ? 來源:SSDFans ? 2025-03-17 14:52 ? 次閱讀

【概要】

根據(jù)數(shù)據(jù)的壽命將數(shù)據(jù)存放在SSD的不同塊內(nèi)可以顯著提高SSD的GC效率、減少WAF、提高SSD的壽命和性能。多流技術(shù)(Multi-stream technology)可以設(shè)置數(shù)據(jù)放置策略從而減少WAF和數(shù)據(jù)碎片。本文提出了FileStream,利用聚類算法學(xué)習(xí)文件特征從而給文件分配數(shù)據(jù)流,使得相似壽命的數(shù)據(jù)存放在SSD的同一塊內(nèi)。最后作者測試了六個不同的benchmark,和baseline和兩個自動流管理技術(shù)相比,分別平均減少了寫放大34.5%和21.6%。

【背景與相關(guān)工作】

1. 多流技術(shù)

用戶可以在寫請求中傳遞一個hint(流ID,Stream ID),流ID不同的數(shù)據(jù)會被放在SSD的不同的地方(如不同的塊內(nèi))。所以當(dāng)主機根據(jù)數(shù)據(jù)的壽命分配不同的流ID時,壽命不同的數(shù)據(jù)將被分開存放,從而提高GC效率。

目前,NVMe已經(jīng)添加了多流技術(shù),而Linux 4.13內(nèi)核也增加了“write lifetime hints”來攜帶流ID。同時,多流技術(shù)不僅僅可以用于多流SSD,還可以用于其他設(shè)備如OpenChannel SSD、Zoned Namespace SSD。

2. 流ID分配的相關(guān)工作

手動分流

在應(yīng)用的代碼中實現(xiàn)一個固定的流分配策略(基于文件類型和一些內(nèi)部的機制)。缺點是無法適應(yīng)多樣的工作集和應(yīng)對工作集的特征的改變。同時,把這些策略應(yīng)用在生產(chǎn)中成本略高,因為需要修改應(yīng)用代碼或者內(nèi)核代碼。

表1 手動分流的相關(guān)論文

b1f13a38-ff9e-11ef-9310-92fbcf53809c.png

自動分流

不依賴于具體應(yīng)用進行流分配。如下表,現(xiàn)存的自動分流策略無法直接用在某些通用的工作集中,而且比不過手動分流。

表2 各種自動分流策略一覽

b210ca10-ff9e-11ef-9310-92fbcf53809c.png

表3 自動分流的相關(guān)論文

b22ac528-ff9e-11ef-9310-92fbcf53809c.png

FileStream——基于文件特征實現(xiàn)自動分流

1)動態(tài)適應(yīng)多樣的工作集

2)在Linux用戶態(tài)實現(xiàn),除了傳遞stream ID之外,不會影響應(yīng)用和內(nèi)核。

文件特征分析

只附加寫的文件(Append-only File)

這類文件只會順序?qū)懭?,不允許修改舊數(shù)據(jù),更新的數(shù)據(jù)會寫入一個新文件,如日志結(jié)構(gòu)的文件(例如RocksDB和Cassandra的寫前日志和數(shù)據(jù)文件,它們使用LSM樹進行管理)。

文件中的數(shù)據(jù)壽命很難通過LBA的訪問次數(shù)得出。一個文件的數(shù)據(jù)的LBA可能不連續(xù),而且數(shù)據(jù)可能被其他文件覆寫。

文件中的數(shù)據(jù)的壽命和文件的類型有關(guān),如下圖,數(shù)據(jù)文件有多個等級(L0~L3),低等級的文件在合并入高等級文件后會被刪除,所以它們的壽命更短。然而,文件的等級只能通過修改應(yīng)用代碼獲得,所以這種分流思路只能適用于手動分流。

不過,從圖中可以得到兩個信息:

① 這類文件從創(chuàng)建到結(jié)束寫入的時間很短,而且同時正寫入的文件很少,而同一文件的數(shù)據(jù)的壽命通常類似。同時,根據(jù)經(jīng)驗,不同時間使用同一流ID寫入SSD的數(shù)據(jù)通常不會寫入同一塊。

② 寫前日志的壽命比數(shù)據(jù)文件短,不同類型文件的壽命不同。

綜上,可以通過文件類型區(qū)分文件中的數(shù)據(jù)壽命。

b23fa704-ff9e-11ef-9310-92fbcf53809c.png

圖1 RocksDB 文件的操作

就地更新的文件(In-place Update File)

這類文件允許隨機寫,允許文件內(nèi)更新數(shù)據(jù),如關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)文件(例如MySQL和PostgreSQL中的表文件)。這類文件的存在時間通常比較長,它們隨著表的創(chuàng)建和刪除而創(chuàng)建或刪除。

若對一個LBA的寫很頻繁,意味著大部分寫入這個LBA的數(shù)據(jù)壽命較短。下圖顯示了同一個表文件中LBA的訪問頻率相似,而不同表文件中LBA的訪問頻率不同。為了從文件的角度看待LBA的訪問頻率,作者提出USM(unit-size-modification)——文件被修改的次數(shù)比上文件的大小。對于這類文件,可以通過USM區(qū)分文件中的數(shù)據(jù)壽命。

b257421a-ff9e-11ef-9310-92fbcf53809c.png

圖2 在MySQL和PostgreSQL中的數(shù)據(jù)寫入

【方法】

1. Mapper:初分流

因為append-only文件從打開到結(jié)束寫入的時間很短,所以有必要在文件一打開就決定文件中數(shù)據(jù)的流ID,而此時我們并沒有很多文件的修改信息。FileStream的設(shè)計思路為,最小化同一流內(nèi)不同壽命的文件的寫入量。設(shè)具有同一個父路徑和擴展的文件為同類文件。

對于選定時刻的選定流內(nèi)的選定文件fi將來要寫入的數(shù)據(jù)量的計算方式如下:

設(shè)m(fi)是fi每秒的修改量,cd(fi)是fi的當(dāng)前已持續(xù)寫入的時間,wd(fi)是fi這類文件平均寫持續(xù)時間,amount(fi)是fi將來要寫入的數(shù)據(jù)量。則:

b2740300-ff9e-11ef-9310-92fbcf53809c.png

對于fi和新打開的文件fo之間的壽命差異計算如下:

設(shè)Fi是和fi同類型的文件,Ni是這類文件的數(shù)量,l(fa)是Fi中的文件的壽命。Fo、No和l(fb)的定義同理。dif(fi,fo)是fi和fo的壽命差異(最大值為1)。則:

b2885bac-ff9e-11ef-9310-92fbcf53809c.png

綜上,設(shè)Fs為流s中正在寫入的文件集,對某一流s的評分如下:

b29e43f4-ff9e-11ef-9310-92fbcf53809c.png

在分配時選擇評分低的s分配給fo。其中,流編號為1到d。

2. Remapper:再分流

如果一個文件打開了T秒,則啟動remapper來根據(jù)文件的訪問情況分配新的流ID。此時可以認(rèn)為該文件是就地更新的文件,文件中的數(shù)據(jù)壽命可以根據(jù)USM決定。

作者每T秒啟動一個聚類算法(Kmeans++),為這類文件分配編號為d+1到N的流。(N是SSD允許的最大流編號)

3. Devider:決定mapper和remapper映射的流ID區(qū)間

divider每T秒調(diào)節(jié)d的大小。若mapper中處理的文件較多、更新較頻繁,則d更大。調(diào)節(jié)方式如下:

設(shè)FNm和FNr分別表示mapper和remapper管理的文件數(shù)量,MNm和MNr分別表示它們的文件修改總次數(shù)。首先計算一個系數(shù)proportion:

b2b12c44-ff9e-11ef-9310-92fbcf53809c.png

隨后計算d為:

b2c71dec-ff9e-11ef-9310-92fbcf53809c.png

【實驗】

1.實驗設(shè)置

本文在真實的多流SSD——SAMSUNG PM963 SSD(支持8流)上進行了測試。內(nèi)核4.13不支持傳入流ID信息,所以作者在內(nèi)核上打了補丁。

實驗測試了6個工作集,具體信息如下表:

b2de6682-ff9e-11ef-9310-92fbcf53809c.png

實驗比較了FileStream和四個方案的性能差異:

①baseline:沒有多流技術(shù)

②AutoStream:根據(jù)LBA的訪問情況(連續(xù)性、更新頻次、時間)自動分流

③LKStream:通過相關(guān)的數(shù)據(jù)集的特點(I/O大小、I/O數(shù)目和帶寬),預(yù)測數(shù)據(jù)的溫度來進行分流

④ManualStream:手動分流。數(shù)據(jù)先根據(jù)文件類型區(qū)分,然后對于數(shù)據(jù)文件,根據(jù)文件的等級(對于RocksDB和Cassandra)或者更新頻次(對于MySQL、PostgreSQL和MongoDB)分流。

T被設(shè)置為60s。

2.結(jié)果分析

WAF

b2f9c24c-ff9e-11ef-9310-92fbcf53809c.png

在幾乎所有策略中,F(xiàn)ileStream表現(xiàn)最好,甚至比手動分流還要好。和baseline、AutoStream和LKStream相比,F(xiàn)ileStream平均減少了WAF34.5%、22.3%和20.8%。Docker是一個混合了多類工作集的復(fù)雜工作集,F(xiàn)ileStream可以很好地區(qū)分不同的數(shù)據(jù)壽命,所以它的表現(xiàn)比其他策略更好。

Throughput

b324daae-ff9e-11ef-9310-92fbcf53809c.png

注:對于MySQL和PostgreSQL,使用每分鐘的事務(wù)數(shù)表示帶寬;對于RocksDB、Cassandra、MongoDB,使用每秒鐘操作數(shù)表示帶寬;對于Docker,使用IOPS表示帶寬。

FileStream和其他策略相比,帶寬明顯更高。和AutoStream和LKStream相比,帶寬分別平均提高了21.9%和25.8%。因為mapper把append-only文件的數(shù)據(jù)分到不同的流中,比手動分流分得更加徹底,所以FileStream的帶寬更好。

不同模塊的分析

b33d9346-ff9e-11ef-9310-92fbcf53809c.png

圖中mapper+remapper表示mapper和remapper平均分配N流,從圖中可以看出來,此時并不能達到最優(yōu),所以divider是很有必要的。

T的分析

b3552632-ff9e-11ef-9310-92fbcf53809c.png

從圖可知,60s并沒有達到最優(yōu),后續(xù)或許可以進行動態(tài)調(diào)整。然而,WAF對T的變化并不敏感。

資源消耗分析

b37c2ec6-ff9e-11ef-9310-92fbcf53809c.png

因為聚類只使用USM,所以對CPU的占用只有微弱的提升。同時內(nèi)存消耗不會超過50MB。

【總結(jié)與未來的工作】

FileStream總結(jié)

(1)使用mapper,基于流的使用情況和文件類型把新打開的文件分到不同的流中

(2)使用remapper,利用Kmeans++聚類,把文件分到不同類中

實驗顯示FileStream可以減少WAF、提高帶寬。

未來工作

(1)將FileStream擴展到更多的設(shè)備上,如Zoned Namespace SSD。

(2)當(dāng)文件內(nèi)的數(shù)據(jù)壽命不一致時,結(jié)合文件信息和LBA相關(guān)的信息進行進一步?jīng)Q策。

致謝

感謝本次論文解讀者,來自華東師范大學(xué)的碩士生俞丁翠,主要研究方向為智能存儲。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7233

    瀏覽量

    90734
  • SSD
    SSD
    +關(guān)注

    關(guān)注

    21

    文章

    2934

    瀏覽量

    118934
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    577

    瀏覽量

    25125
  • nvme
    +關(guān)注

    關(guān)注

    0

    文章

    233

    瀏覽量

    23027

原文標(biāo)題:多流技術(shù):不同壽命數(shù)據(jù)存在SSD的不同塊

文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    服務(wù)器+SSD之間的物理反應(yīng)

    用戶望而卻步,但是從2010年以來,隨著新的芯片技術(shù)的發(fā)展,產(chǎn)業(yè)鏈的成熟和各硬盤廠商產(chǎn)能的持續(xù)擴大,目前的SSD硬盤的價格,已經(jīng)去到非常親民的程度,從曾經(jīng)高高在上的幾萬元一SSD
    發(fā)表于 01-25 10:57

    C-RIO中板卡的FPGA到RT的程序如何傳遞板卡的數(shù)據(jù)

    板卡可以通過FIFO傳遞數(shù)據(jù),請問板卡在一個FPGA里,它是通過什么傳遞數(shù)據(jù)給RT的,并且RT是如何讀取
    發(fā)表于 06-05 11:07

    這些ssd的頁面大小和擦除大小是?

    你好,在DC S3510 SSD 120GB和80GB以及SSD510系列120GB中激活HPA是一個好主意嗎?有誰知道這些ssd的頁面大小和擦除大???坦克短劍以上來自于谷歌翻譯以下
    發(fā)表于 11-15 11:03

    SSD固態(tài)硬盤壽命短?平衡算法如何進行挽救

    固態(tài)硬盤壽命一般都很短,如何彌補SSD閃存的壽命缺陷、延續(xù)SSD壽命。業(yè)界為此引進了一種平衡算法來續(xù)命,盡量使閃存磨損度保持相同。
    發(fā)表于 12-08 15:37 ?4593次閱讀

    SSD盒目標(biāo)檢測技術(shù)的直觀解釋

    Towards Data Science博主Eddie Forson直觀地解釋了SSD盒目標(biāo)檢測技術(shù)。
    的頭像 發(fā)表于 04-06 13:04 ?8400次閱讀

    基于生命數(shù)據(jù)的大健康公鏈生命之花FOLI介紹

    生命之花(Flower of Life)是基于生命數(shù)據(jù)的大健康公鏈,利用一主鏈三側(cè)鏈(永久存儲鏈、臨時存儲鏈、計算鏈)的四鏈結(jié)構(gòu)解決生命數(shù)據(jù)的存儲、分析、預(yù)警、交易問題。FOLI 核心功能有健康數(shù)據(jù)存儲、疾病分析、基于大
    發(fā)表于 11-09 11:34 ?1311次閱讀

    三星FIP故障定位技術(shù),讓SSD壽命提升

    三星最近開發(fā)了一種可以檢測NAND芯片故障的技術(shù),該技術(shù)可以提升SSD壽命和可靠性,并且宣布將在即將發(fā)布的PCIe 4.0 SSD產(chǎn)品中使
    的頭像 發(fā)表于 11-18 15:53 ?3565次閱讀

    西數(shù)推出企業(yè)級TLC SSD 壽命和可靠性都是頂級的存在

    西部數(shù)據(jù)今天發(fā)布了新款企業(yè)級SSD UltraStar DCSS540,雖然使用的是TLC NAND閃存,但是壽命和可靠性都是頂級的存在,被外媒贊為“坦克級”。
    發(fā)表于 11-28 16:57 ?1890次閱讀

    SSD固態(tài)硬盤使用壽命解讀 為什么會有如此限制

    隨著技術(shù)的發(fā)展,我們使用的存儲器也各種各樣,雖然都基于芯片顆粒,但表現(xiàn)截然不同,比如說讀寫次數(shù)限制,或者叫壽命SSD固態(tài)硬盤就有限制,DRAM內(nèi)存卻沒有。
    的頭像 發(fā)表于 02-06 15:18 ?5847次閱讀

    如何衡量SSD壽命水平?關(guān)于SSD的可用年數(shù)

    是常說的寫入數(shù)據(jù)量。今天長江存儲旗下的自有品牌致鈦科技今天科普了TBW的知識,大家可以再重新了解下。 TBW指的是Terabyte Writteb寫入的兆兆字節(jié),也有定義為Total Bytes Written,說的都是SSD使用壽命
    的頭像 發(fā)表于 11-27 15:18 ?2852次閱讀

    如何衡量SSD壽命水平?SSD硬盤多久才能寫死?

    是常說的寫入數(shù)據(jù)量。今天長江存儲旗下的自有品牌致鈦科技今天科普了TBW的知識,大家可以再重新了解下。 TBW指的是Terabyte Writteb寫入的兆兆字節(jié),也有定義為Total Bytes Written,說的都是SSD使用壽命
    的頭像 發(fā)表于 11-27 15:54 ?6706次閱讀

    磨損均衡及其對SSD預(yù)期壽命的影響

      閃存中的數(shù)據(jù)按單元格、頁面和的層次結(jié)構(gòu)排列,數(shù)據(jù)一次寫入一頁。NAND閃存架構(gòu)使得擦除只能在級別發(fā)生。此外,對固態(tài)硬盤 (SSD
    的頭像 發(fā)表于 10-24 15:45 ?2601次閱讀

    磨損均衡及其對SSD預(yù)期壽命的影響

      閃存中的數(shù)據(jù)按單元、頁面和的層次結(jié)構(gòu)排列,數(shù)據(jù)一次寫入一頁。NAND閃存架構(gòu)使得擦除只能在級別進行。此外,對固態(tài)驅(qū)動器 (SSD
    的頭像 發(fā)表于 11-23 16:19 ?1602次閱讀

    命數(shù)據(jù)鏈路監(jiān)視器開源項目

    電子發(fā)燒友網(wǎng)站提供《生命數(shù)據(jù)鏈路監(jiān)視器開源項目.zip》資料免費下載
    發(fā)表于 11-28 11:20 ?0次下載
    生<b class='flag-5'>命數(shù)據(jù)</b>鏈路監(jiān)視器開源項目

    MVTRF:視圖特征預(yù)測SSD故障

    固態(tài)硬盤( Solid State Drive,SSD )在大型數(shù)據(jù)中心中發(fā)揮著重要作用。SSD故障會影響存儲系統(tǒng)的穩(wěn)定性,造成額外的維護開銷。為了提前預(yù)測和處理SSD故障,本文提出了
    的頭像 發(fā)表于 12-30 11:04 ?399次閱讀
    MVTRF:<b class='flag-5'>多</b>視圖特征預(yù)測<b class='flag-5'>SSD</b>故障