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

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

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

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

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

存儲界 ? 2018-01-22 13:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

圖1 SILT存儲結(jié)構(gòu)

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

當(dāng)LogStore中存儲飽和之后,LogStore將轉(zhuǎn)換成固定不變的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)鍵到相應(yīng)log文件中位置的映射(如圖 2所示)。

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

圖2 LogStore設(shè)計方案

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

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

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

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

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

圖3 LogStore轉(zhuǎn)換為HashStore

SortedStore是一個靜態(tài)的鍵值存儲結(jié)構(gòu)。其存儲按照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的構(gòu)建速度成為SILT整體性能的一個重要的因素。

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

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

    關(guān)注

    10

    文章

    1678

    瀏覽量

    151766
  • 存儲系統(tǒng)
    +關(guān)注

    關(guān)注

    2

    文章

    423

    瀏覽量

    41365

原文標(biāo)題:淺析存儲系統(tǒng)SILT的基本結(jié)構(gòu)

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

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

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

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

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

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

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

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

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

    存儲系統(tǒng)的層次結(jié)構(gòu)

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

    存儲系統(tǒng)的層次結(jié)構(gòu)是怎樣的?

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

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

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

    基于EVMS的帶外虛擬存儲系統(tǒng)結(jié)構(gòu)

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

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

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

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

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

    NetApp_E5600_存儲系統(tǒng)

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

    NetApp_E2700_存儲系統(tǒng)

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

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

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

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

    Memory),再到輔助存儲器(Auxiliary Memory),每一層都有其特定的功能和特點。以下是對計算機存儲系統(tǒng)構(gòu)成的詳細解析。
    的頭像 發(fā)表于 09-26 15:25 ?2527次閱讀

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

    在當(dāng)今數(shù)據(jù)爆炸的時代,企業(yè)對存儲系統(tǒng)的需求日益增長,傳統(tǒng)的集中式存儲已經(jīng)無法滿足大規(guī)模數(shù)據(jù)處理的要求。分布式存儲系統(tǒng)應(yīng)運而生,而Ceph作為開源分布式存儲系統(tǒng)的佼佼者,以其高可用性、高
    的頭像 發(fā)表于 07-14 11:15 ?153次閱讀