衡阳派盒市场营销有限公司

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

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

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

基于存儲系統(tǒng)SILT基本結構的詳細解析

存儲界 ? 2018-01-22 13:32 ? 次閱讀

SILT存儲系統(tǒng)通過使用多個基本的鍵值存儲結構,每個針對不同的操作進行相應的優(yōu)化:(1)鍵值的更新操作通過寫優(yōu)化的存儲結構上進行。(2)大多數(shù)鍵值對存儲在存儲高效的結構中。雖然在存儲結構之外的數(shù)據(jù)很少使用高效的存儲索引,但是每個鍵的平均索引的代價是很低的。(3)SILT可以調(diào)整以應對極端情況,即查詢在最后、最近的存儲結構中。SILT通過使用內(nèi)存的過濾器,允許所有的查詢在1+(nbcl)flash讀取時間內(nèi)完成。

SILT的結構和基本存儲結構(LogStore, HashStore, SortedStore)如圖 1所示。

圖1 SILT存儲結構

LogStore對于寫操作有很高的效率,其主要用來進行PUT和DELETE操作。為了達到很高的系統(tǒng)性能,寫數(shù)據(jù)的結果直接添加到flash上log文件的末尾。因為這些記錄是按照相應的時間進行排序的,LogStore通過內(nèi)存中的hash表以鍵和相應在log文件中的偏移對其進行映射。SILT使用cuckoo hash從而在最小內(nèi)存消耗的情況下,達到很高的性能。本文中提出的部分鍵的cuckoo hash在較低的計算代價和內(nèi)存消耗的情況下,占用93%的空間。相比其他兩個只讀的存儲結構,其數(shù)據(jù)存儲緊湊,LogStore必須要存儲4字節(jié)的指針。SILT因此只使用一個LogStore。

當LogStore中存儲飽和之后,LogStore將轉換成固定不變的HashStore。HashStore數(shù)據(jù)以hash表的形式存儲在flash上,其不需要內(nèi)存的索引對記錄或數(shù)據(jù)進行檢索。SILT在將其合并到SortedStore之前可以使用多個HashStore。每個HashStore使用一個高效的內(nèi)存過濾器過濾掉不存在的鍵。

SortedStore在flash上按一個指定的順序維護鍵值對數(shù)據(jù),其使用一個非常簡潔的形式對索引進行變化。因為對于排序的數(shù)據(jù)進行單個更新時,其代價是非常高的,因此SILT周期性的將HashStore表的內(nèi)容合并的到SortedStore中。

LogStore順序講PUT和DELETE操作寫入flash中,從而達到高的寫吞吐量。其內(nèi)存的部分鍵cuckoo hash索引可以高效的實現(xiàn)鍵到相應log文件中位置的映射(如圖 2所示)。

LogStore使用一個基于cuckoo hash的hash表。其使用兩個函數(shù)和實現(xiàn)鍵值到相應的位置的映射。在新的鍵加入hash表中是,如果兩個位置中有一個是空的,則將其加入這個空的位置;否則新的鍵替換兩個位置的一個,被替換的鍵按上述過程進行迭代,直到找到其可選的位置中。

圖2 LogStore設計方案

為了使其盡可能的簡潔,hash表并不存儲整個鍵,而只是存儲鍵的一個tag。只有當查詢于相應的tag符合才繼續(xù)進行后續(xù)操作,這樣可以實現(xiàn)對不存在的鍵進行過濾。

雖然存儲tag可以在一定程度上節(jié)約內(nèi)存的空間,但是同樣出現(xiàn)問題:將鍵移動到其可選的另一個位置需要事先知道其另一個hash值。但是,相應的鍵值存儲在flash中,因此在這種情況下需要進行flash讀取操作。為了解決這個問題,在相應的hash表中將其可選位置的索引作為tag。例如,如果鍵被放在位置,其另一個hash值將作為其tag存儲在位置中,反之亦然。

當LogStore中內(nèi)容達到飽和時,SILT將其轉化成對于內(nèi)存利用率更高的數(shù)據(jù)結構。直接對LogStore進行排序,并將其合并到SortedStore需要重寫大量的數(shù)據(jù)。另外,保留大量的LogStore會造成很高的內(nèi)存消耗。因此,為了解決這個問題,SILT首先將LogStore轉化為一個不可變的HashStore。當HashStore的數(shù)量達到指定數(shù)值時,其被合并到SortedStore中(如圖 3所示)。

HashStore通過修改索引的結構,對于flash上的(key, value)進行按hash順序進行排序,可以節(jié)省大量的內(nèi)存。

HashStore的過濾器非常簡單,只是將LogStore中hash表中的tag復制,并去掉相應的指針。

圖3 LogStore轉換為HashStore

SortedStore是一個靜態(tài)的鍵值存儲結構。其存儲按照flash上key的順序進行排序的鍵值(key, value),使用基于熵編碼的trie樹進行索引,平均每個鍵消耗0.4字節(jié)進行存儲。

此外,SILT使用Flash上的排序數(shù)據(jù)(Using Sorted Data on Flash),將大多數(shù)的鍵值保存在單個的SortedStore,但是其基于熵編碼的trie樹不允許進行插入和刪除。因此,為了將HashStore合并到SortedStore中,SILT必須重新生成SortedStore。因此,SortedStore的構建速度成為SILT整體性能的一個重要的因素。

通過排序可以很快完成的構建工作:(1)排序允許新數(shù)據(jù)的加入:新的數(shù)據(jù)通過排序,按順序合并到已排序的數(shù)據(jù)中。(2)排序的相關技術非常成熟:SILT可以使用高度優(yōu)化的排序系統(tǒng),如Nsort等。

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

    關注

    10

    文章

    1642

    瀏覽量

    148667
  • 存儲系統(tǒng)

    關注

    2

    文章

    414

    瀏覽量

    40938

原文標題:淺析存儲系統(tǒng)SILT的基本結構

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

收藏 人收藏

    評論

    相關推薦

    網(wǎng)絡存儲系統(tǒng)可生存性量化評估

    帶來了新的挑戰(zhàn),從而催生出了對網(wǎng)絡存儲系統(tǒng)的研究,特別是其可生存性研究。研究重點包括生存性基本概念、體系結構系統(tǒng)模型、系統(tǒng)分全文下載
    發(fā)表于 04-24 09:43

    如何利用FPGA的設計微型數(shù)字存儲系統(tǒng)

    針對航天測試系統(tǒng)的應用需求,利用FPGA的設計微型數(shù)字存儲系統(tǒng)勢在必行,那我們具體該怎么做呢?
    發(fā)表于 08-01 08:14

    如何去設計微型數(shù)字存儲系統(tǒng)?求過程

    如何去設計微型數(shù)字存儲系統(tǒng)的硬件部分?如何去設計微型數(shù)字存儲系統(tǒng)的軟件部分?
    發(fā)表于 05-13 07:22

    什么是云存儲?云存儲系統(tǒng)結構是如何構成的?

    到底什么是云存儲?云存儲系統(tǒng)結構是如何構成的?云存儲有哪些技術前提?
    發(fā)表于 06-02 06:27

    存儲系統(tǒng)的層次結構

    文章目錄存儲系統(tǒng)的層次結構技術指標層次結構局部性原理主存儲器讀寫存儲器只讀存儲
    發(fā)表于 07-29 09:47

    存儲系統(tǒng)的層次結構是怎樣的?

    存儲系統(tǒng)的層次結構是怎樣的?怎么解決容量/速度和價格矛盾的問題?
    發(fā)表于 11-02 09:22

    基于FPGA的微型數(shù)字存儲系統(tǒng)設計

    基于FPGA的微型數(shù)字存儲系統(tǒng)設計 1 引言    針對航天測試系統(tǒng)的應用需求,提出一種基于FPGA的微型數(shù)字存儲系統(tǒng)設計方案。該系統(tǒng)是在傳統(tǒng)
    發(fā)表于 11-04 10:46 ?881次閱讀
    基于FPGA的微型數(shù)字<b class='flag-5'>存儲系統(tǒng)</b>設計

    基于EVMS的帶外虛擬存儲系統(tǒng)結構

    分析當前網(wǎng)絡存儲系統(tǒng)存在的問題,給出一種基于企業(yè)卷管理系統(tǒng)技術的帶外虛擬網(wǎng)絡存儲系統(tǒng)基本結構。分別闡述該存儲系統(tǒng)的客戶端、內(nèi)部數(shù)據(jù)的讀/寫操
    發(fā)表于 05-18 18:50 ?38次下載
    基于EVMS的帶外虛擬<b class='flag-5'>存儲系統(tǒng)</b><b class='flag-5'>結構</b>

    高速數(shù)據(jù)采集與存儲系統(tǒng)技術方案

    本內(nèi)容詳細介紹了高速數(shù)據(jù)采集與存儲系統(tǒng)技術方案
    發(fā)表于 07-07 17:43 ?69次下載
    高速數(shù)據(jù)采集與<b class='flag-5'>存儲系統(tǒng)</b>技術方案

    基于閃存的圖像存儲系統(tǒng)設計

    基于閃存的圖像存儲系統(tǒng)設計,又需要的下來看看
    發(fā)表于 09-22 14:08 ?13次下載

    NetApp_E5600_存儲系統(tǒng)

    NetApp_E5600_存儲系統(tǒng)
    發(fā)表于 12-28 09:33 ?0次下載

    NetApp_E5500_存儲系統(tǒng)

    NetApp_E5500_存儲系統(tǒng)
    發(fā)表于 12-28 09:33 ?0次下載

    NetApp_E2700_存儲系統(tǒng)

    NetApp_E2700_存儲系統(tǒng)
    發(fā)表于 12-29 12:01 ?0次下載

    存儲設備類型與存儲系統(tǒng)網(wǎng)絡構架的詳細解析

    的網(wǎng)絡架構。大家常提到的、主流的存儲系統(tǒng)網(wǎng)絡架構有DAS、NAS、SAN三種網(wǎng)絡結構。其中SAN網(wǎng)絡環(huán)境中,因采用存儲設備類型的不同又可以分為FC-SAN(采用光纖通道存儲產(chǎn)品)和IP
    的頭像 發(fā)表于 02-05 13:28 ?1.3w次閱讀

    計算機存儲系統(tǒng)的構成

    Memory),再到輔助存儲器(Auxiliary Memory),每一層都有其特定的功能和特點。以下是對計算機存儲系統(tǒng)構成的詳細解析
    的頭像 發(fā)表于 09-26 15:25 ?1324次閱讀
    大发888娱乐城官网lm0| 全讯网qx1860.com| 青龙| 澳门百家乐官网网站| 沙龙百家乐官网赌场娱乐网规则 | 全讯网网址xb112| 百家乐赌具哪里最好| 大发888娱乐场电话| 风水24龙| 百家乐官网分路单| 易博彩票网| 大发888.comwf| 百家乐庄闲排列| 百家乐官网双人操作分析仪| 太阳城娱乐城下载| 百家乐存1000送| 百家乐2珠路投注法| 成人百家乐官网的玩法技巧和规则| 洪湖市| 百家乐官网站| 百家乐的方法和公式| 百家乐官网计划工具| 缅甸百家乐官网玩假吗| 威尼斯人娱乐城求助| 皇家百家乐出租平台| 巴黎百家乐地址| 百家乐分析博彩正网| 游戏百家乐官网的玩法技巧和规则| 澳门百家乐官网网站bt| 现金网信誉排行| 大发888娱乐城casinolm0| 百家乐法则| 百家乐的打法技巧| 24山家坐向| 大丰收百家乐官网的玩法技巧和规则| 澳门百家乐官网游戏皇冠网| 百家乐官网娱乐城棋牌| 天天百家乐官网游戏| 增城市| 大发888官方6222.com| 波克棋牌赢话费下载|