色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

聊聊如何實現一種閃存緩存設計

SSDFans ? 來源:SSDFans ? 2023-08-29 09:01 ? 次閱讀

01背景

許多web服務需要對數十億個小對象實現快速訪問,而每個小對象只有幾百個字節。為了實現這一點同時考慮實際生產效益,緩存系統必須做到同時低成本,大容量與高性能。DRAM與NVM雖然性能好,但容量小,價格過于高昂。而閃存技術的發展使得閃存兼具性能與成本的優勢。然而,閃存作為小對象緩存也面臨著嚴重的壽命問題,這與閃存的特性有關。閃存讀寫的最小單位是頁面(KB級粒度),而小對象通常不到一百個字節。因此,閃存緩存系統的簡單部署勢必會導致嚴重的寫放大現象,加劇磨損問題,降低固態硬盤的使用壽命。

02問題

1.傳統的緩存策略

a)Log-structure cache:該策略將數據順序批量寫到閃存上,可以有效減小寫放大現象。為了記錄對象在閃存中的位置,每個對象需要在內存中保留一個索引。對于一個比較大的工作集,數十億個對象索引的內存開銷巨大。

b) Set-associative cache:該策略根據對象的鍵值將對象存放到不同的set中,就像CPU的cache,利用對象的鍵值來確定對象的實際存放位置,消除了內存索引的開銷。但是該策略會將多余的字節寫入閃存,每個對象的修改都需要重寫整個閃存頁面,嚴重增加了閃存的寫入量。

2. 閃存緩存的寫放大

a) Device-level write amplification:設備級寫放大發生在閃存轉換層(FTL),即閃存內部的寫入量超過主機端的寫入量。當閃存內部空閑空間不足時,FTL除了應對主機端的寫入,還需要執行垃圾回收來把部分有效頁面遷移到新的塊內。

b) Application-level write amplification:應用級寫放大是指應用程序需要重寫一些已經存在的數據。當一個頁面中的部分對象需要更新時,閃存需要讀出整個頁面,修改后再進行重新寫操作。

小對象使得閃存緩存系統極具挑戰性,在存儲設備中需要單獨記錄數十億個小對象,可能需要巨大的元數據索引結構,消耗大量的內存資源;如果索引位于閃存上,又會引入額外的寫放大現象。先前的工作沒有解決如何以低成本在閃存中緩存小對象的問題,log-structured cache需要過多的DRAM,而set-associative cache 會帶來嚴重寫放大問題。

03設計

Kangaroo是一種閃存緩存設計,其針對數十億個小對象的場景進行了優化。它的設計目的是最大限度地提高命中率,同時最大限度地減DRAM 的使用和閃存寫入。Kangaroo 采用分層設計,跨內存和閃存,將log-structured cache與set-associative cache結合。為了減少閃存的寫放大,Kangaroo利用Klog組件去緩存最近寫入的對象;為了減少DRAM的索引開銷,Kangaroo 利用Kset組件來緩存絕大多數對象。同時再Klog向Kset的轉化過程中,kangaroo利用了哈希沖突的特點,當大量的對象被映射到同一個Kset時,這些對象會批量寫入Kset,既提升了性能又減小了閃存的寫放大現象。

af018a2e-45fc-11ee-a2ef-92fbcf53809c.png

圖一:kangaroo概覽

Kangaroo主要通過以下三個策略來減少閃存寫入,減小內存開銷,提高緩存命中率。

1. Partitioned Klog:Klog內部結構為多個分區,每個分區有自己獨立的日志結構和DRAM索引結構。同一個Set的所有對象都會位于同一個分區表。利用hash沖突的特點,每個對象索引的next指針指向同一個set的下一個對象索引。采用拉鏈法解決哈希沖突使得Kangaroo可以高效的遍歷位于同一個set的對象,從而實現批量的寫入,減小寫放大。

af1fbd78-45fc-11ee-a2ef-92fbcf53809c.png

圖二:KLog

2. KlogàKset:當數據從Klog向Kset遷移時,Kangaroo利用準入策略對對象進行篩選。當每次待寫入的對象數量少于閾值時,Kangaroo會丟棄該數據,多于閾值時才允許對象從Klog遷移到 Kset中。采用一個合適的準入閾值可以使得該策略有效減小應用級寫放大現象。此外,熱點數據如果沒有發生哈希沖突,可能會被剔除。Kangaroo為了解決這一問題,會使得熱點數據重新進入DRAM buffer,等待哈希沖突,提高緩存的命中率。

af53f188-45fc-11ee-a2ef-92fbcf53809c.png

圖三:準入閾值對寫放大的影響

3. RRIParoo:Kangaroo會對Kset中的對象進行管理,決定需要剔除的數據。傳統的驅逐策略通常有較多的DRAM開銷,而RRIParoo給每個對象分配1bit,當對象最近被訪問過,該位置為0;同時結合經典的RRIP緩存替換策略來智能選擇需要驅逐的數據。

最后,簡單介紹下Kangaroo的基本操作流程,如圖四。

1. 查找

首先在DRAMcache中查找對象,若命中則返回,若缺失則進入Klog中查找;若命中則返回,若缺失則查找Kset的布隆過濾器;若存在則查找Kset,若找到則返回,若缺失或假陽性則從底層數據庫中獲取數據。

2. 插入

首先數據寫入到DRAMcache中,其有一定的概率會直接丟棄,或進入Klog;若進入Klog,則可能發生Klog到Kset的遷移。若未達到準入的閾值,則數據被丟棄,若達到準入閾值,則修改布隆過濾器標志位,并把數據寫入到Kset中。

af84b750-45fc-11ee-a2ef-92fbcf53809c.png

圖四:Kangaroo操作流程

04實驗效果

論文作者團隊中將 Kangaroo 實現為CacheLib 中的一個模塊,并用真實的設備,Facebook和Twitter的真實負載進行了性能測試。實驗中Kangaroo的基本配置參數如下表。

afabcc8c-45fc-11ee-a2ef-92fbcf53809c.png

表一:kangaroo實驗配置

實驗人員首先限制了DRAM的使用,從圖五中我們可以發現,LS策略由于需要大內存來存放索引,因而隨著內存的增加,緩存缺失率下降;而SA策略基本不需要DRAM資源,性能隨著內存容量的影響不大;而Kangaroo能以以極小的內存開銷實現了較低的緩存缺失率。

afcd067c-45fc-11ee-a2ef-92fbcf53809c.png

圖五:限制內存使用場景下的緩存缺失率

下圖顯示了三種策略在Facebook連續7天的負載下的表現,實驗人員在這組實驗中限制了閃存的最大寫入速度。Kangaroo的緩存缺失率與 SA 相比減少了 29%,與 LS相比減少了 56%。這是因為 Kangaroo有效地利用了有限的DRAM ,減少了閃存寫入。

aff84076-45fc-11ee-a2ef-92fbcf53809c.png

圖六:三種策略連續7天內的緩存缺失率

05總結

Kangaroo結合了Log-structured cache與Set-associative cache的優點,減少了小對象閃存緩存系統的DRAM開銷與閃存寫入量,降低了緩存系統的成本,提升了生產系統的性能。






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 轉換器
    +關注

    關注

    27

    文章

    8715

    瀏覽量

    147339
  • DRAM芯片
    +關注

    關注

    1

    文章

    84

    瀏覽量

    18024
  • NVM
    NVM
    +關注

    關注

    1

    文章

    41

    瀏覽量

    19134
  • 緩存器
    +關注

    關注

    0

    文章

    63

    瀏覽量

    11672
  • 過濾器
    +關注

    關注

    1

    文章

    430

    瀏覽量

    19630

原文標題:聊聊閃存緩存設計

文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    一種針對存儲系統設計的應用級緩存回收策略

    【作者】:孟曉烜;司成祥;那文武;許魯;【來源】:《小型微型計算機系統》2010年03期【摘要】:針對存儲系統中的緩存管理單元設計一種區分應用優先級的緩存回收策略,簡稱PARP.該策略基于分區
    發表于 04-24 09:43

    linux的DNS緩存清空方法

    Linux下DNS緩存實現通常有兩方式:一種是用DNS緩存程序NSCD(name service cache daemon)負責管理DNS
    發表于 07-25 07:53

    請問怎樣去設計一種閃存設備IO軟件?

    閃存設備管理技術的現狀及存在的問題是什么?閃存設備I/O軟件的分層結構是怎樣的?怎樣去設計一種閃存設備IO軟件?
    發表于 04-26 07:04

    一種基于AT89C51SNDlC單片機和閃存實現的MP3公交車報站器

    本文介紹一種基于AT89C51SNDlC單片機和閃存實現的MP3公交車報站器,可通過鍵盤和播放列表文件實現高品質語音信息的播放。
    發表于 05-14 06:16

    分享一種基于閃存的藍牙低功耗無線電系統單芯片

    本文將與大家分享一種基于閃存的藍牙低功耗無線電系統單芯片。
    發表于 06-16 06:50

    怎樣去實現一種基于DSP和ADC技術高速緩存和海量緩存

    構成高速緩存的方案有哪幾種?如何去實現一種海量緩存的設計?怎樣去實現一種基于DSP和ADC技術高
    發表于 06-26 07:50

    聊聊環形緩存在單片機程序中的使用

    片頭因為環形緩存在單片機程序中的使用是非常有效的,非常有用的,關于這個話題在此專門開文章來聊聊這個話題。環形緩存的用途主要是來緩存數據,而
    發表于 12-06 08:29

    一種基于P2P協作的代理緩存流媒體調度算法

    該文根據流媒體系統中緩存空間不足及服務延遲的問題,提出一種基于P2P 協作的代理緩存流媒體調度算法PCSPC(Proxy-Caching Scheduler based on P2P Cooperation)。首先按照流行度高的
    發表于 02-10 15:04 ?4次下載

    一種高能效的結構不對稱指令緩存

    在現代微處理器中,指令緩存的Tag讀取、比較消耗了指令緩存較大比例的能耗。提出一種基于推斷的低能耗指令緩存:不對稱指令緩存。根據跳轉指令比例
    發表于 11-22 10:52 ?2次下載
    <b class='flag-5'>一種</b>高能效的結構不對稱指令<b class='flag-5'>緩存</b>

    一種新型閃存緩存管理方法PRLRU

    時會頻繁引發非覆蓋寫和垃圾回收操作。針對此問題,提岀了一種叫作 PRLRU的新型閃存緩存管理方法,通過頁面重構機制以及數據溫度識別機制來管理緩存區。頁面重構機制把即將回寫的有效數據未滿
    發表于 04-02 15:47 ?16次下載
    <b class='flag-5'>一種</b>新型<b class='flag-5'>閃存</b><b class='flag-5'>緩存</b>管理方法PRLRU

    一種基于緩存塊重用信息的動態旁路策略

    非易失性存儲器具有能耗低、可擴展性強和存儲密度大等優勢,可替代傳統靜態隨機存取存儲器作為片上緩存,但其寫操作的能耗及延遲較高,在大規模應用前需優化寫性能。提出一種基于緩存塊重用信息的動態旁路策略用于
    發表于 04-29 15:48 ?4次下載
    <b class='flag-5'>一種</b>基于<b class='flag-5'>緩存</b>塊重用信息的動態旁路策略

    SSD緩存有3 千萬別買錯!

    緩存,這不是增加成本嗎?本期DIY從入門到放棄我們就來聊聊固態硬盤的緩存。 固態硬盤的工作方式其實很簡單,主控負責數據管理,由它來進行數據讀寫的控制和分配;緩存芯片用來
    的頭像 發表于 10-25 18:09 ?2054次閱讀
    SSD<b class='flag-5'>緩存</b>有3<b class='flag-5'>種</b> 千萬別買錯!

    聊聊緩存數據庫致性

    在云服務中,緩存是極其重要的點。所謂緩存,其實是個高速數據存儲層。當緩存存在后,日后再次請求該數據就會直接訪問
    的頭像 發表于 01-30 17:41 ?797次閱讀

    聊聊本地緩存和分布式緩存

    本地緩存 :應用中的緩存組件,緩存組件和應用在同進程中,緩存的讀寫非常快,沒有網絡開銷。但各應用或集群的各節點都需要維護自己的單獨
    發表于 06-11 15:12 ?839次閱讀
    <b class='flag-5'>聊聊</b>本地<b class='flag-5'>緩存</b>和分布式<b class='flag-5'>緩存</b>

    mybatis緩存和二級緩存的原理

    MyBatis是一種輕量級的持久化框架,它提供了緩存和二級緩存的機制來優化數據庫操作性能。緩存
    的頭像 發表于 12-03 11:55 ?1185次閱讀
    主站蜘蛛池模板: 亚洲午夜久久久精品影院| 亚洲不卡视频在线| 国产一区二区内射最近更新| 国产精一品亚洲二区在线播放| 国产亚洲精品精华液| 精品亚洲大全| 人妻洗澡被强公日日澡| 午夜亚洲动漫精品AV网站| 亚洲精品AV一区午夜福利| 98久久人妻无码精品系列蜜桃| 高h乱np甄宓| 九九久久精品国产| 漂亮的av女演员| 亚洲AV成人无码999WWW| 最新国自产拍天天更新| 高hnp全肉| 深夜释放自己污在线看| 在线观看亚洲免费人成网址 | 免费看a毛片| 新妺妺窝人体色WWW| 一级毛片美国| 国产成人欧美日韩在线电影| 久久精品手机观看| 色欲AV精品人妻一区二区三区| 樱桃视频高清免费观看在线播放| 闺蜜扒开我尿口使劲揉| 暖暖 视频 在线 观看 高清 | 受坐在攻腿上H道具PLAY| 国产超嫩一线天在线播放| 性感尼姑风流寺| 久久久黄色片| jiucao在线观看精品| 久久精品免费观看久久| 88福利视频| 久久只精品99品免费久| 消息称老熟妇乱视频一区二区 | 亚洲人成影院在线播放| 国产二区自拍| 日韩欧美中文字幕在线二视频| 综合亚洲桃色第一影院| 欧美性XXXXX极品娇小|