Memory –efficient Data Management Policy for Flash-based Key-Value Store Wang Jiangtao 2013-4-12.

Slides:



Advertisements
Similar presentations
SE-292 High Performance Computing
Advertisements

M AINTAINING L ARGE A ND F AST S TREAMING I NDEXES O N F LASH Aditya Akella, UW-Madison First GENI Measurement Workshop Joint work with Ashok Anand, Steven.
SE-292 High Performance Computing Memory Hierarchy R. Govindarajan
SILT: A Memory-Efficient, High-Performance Key-Value Store
Chapter 11: File System Implementation
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第六十二讲 ) 离散数学. 最后,我们构造能识别 A 的 Kleene 闭包 A* 的自动机 M A* =(S A* , I , f A* , s A* , F A* ) , 令 S A* 包括所有的 S A 的状态以及一个 附加的状态 s.
Computer ArchitectureFall 2008 © CS : Computer Architecture Lecture 22 Virtual Memory (1) November 6, 2008 Nael Abu-Ghazaleh.
Memory Management and Paging CSCI 3753 Operating Systems Spring 2005 Prof. Rick Han.
File Systems Implementation
1 为了更好的揭示随机现象的规律性并 利用数学工具描述其规律, 有必要引入随 机变量来描述随机试验的不同结果 例 电话总机某段时间内接到的电话次数, 可用一个变量 X 来描述 例 检测一件产品可能出现的两个结果, 也可以用一个变量来描述 第五章 随机变量及其分布函数.
FAWN: A Fast Array of Wimpy Nodes Presented by: Aditi Bose & Hyma Chilukuri.
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第四十八讲 ) 离散数学. 例 设 S 是一个非空集合, ρ ( s )是 S 的幂集合。 不难证明 :(ρ(S),∩, ∪,ˉ, ,S) 是一个布尔代数。 其中: A∩B 表示 A , B 的交集; A ∪ B 表示 A ,
Recap of Feb 27: Disk-Block Access and Buffer Management Major concepts in Disk-Block Access covered: –Disk-arm Scheduling –Non-volatile write buffers.
1 Operating Systems Chapter 7-File-System File Concept Access Methods Directory Structure Protection File-System Structure Allocation Methods Free-Space.
第二章 随机变量及其分布 第一节 随机变量及其分布函数 一、随机变量 用数量来表示试验的基本事件 定义 1 设试验 的基本空间为 , ,如果对试验 的每一个基 本事件 ,规定一个实数记作 与之对应,这样就得到一个定义在基本空 间 上的一个单值实函数 ,称变量 为随机变量. 随机变量常用字母 、 、 等表示.或用.
第四章 平面 §4-1 平面的表示法 §4-1 平面的表示法 §4-2 各种位置平面的投影特性 §4-2 各种位置平面的投影特性 §4-3 属于平面的点和直线 §4-3 属于平面的点和直线 基本要求 基本要求.
第二章 贝叶斯决策理论 3学时.
在发明中学习 线性代数 概念的引入 李尚志 中国科学技术大学. 随风潜入夜 : 知识的引入 之一、线性方程组的解法 加减消去法  方程的线性组合  原方程组的解是新方程的解 是否有 “ 增根 ” ?  互为线性组合 : 等价变形  初等变换  高斯消去法.
Chapter 4 OPTIMIZED IMPLEMENTATION OF LOGIC FUNCTIONS 优化.
1Bloom Filters Lookup questions: Does item “ x ” exist in a set or multiset? Data set may be very big or expensive to access. Filter lookup questions with.
Photoshop CS4 标准培训教程 第三章第三章 在 Photoshop CS4 中所谓的不规则选区指的是随意性强,不被局限在几何形状内, 他们可以是鼠标任意创建的也可以是通过计算而得到的单个选区或多个选区。在 Photoshop 中可以用来创建不规则选区的工具被分组放置到套索工具组、魔棒工具组.
9的乘法口诀 1 .把口诀说完全。 二八( ) 四六( ) 五八( ) 六八( ) 三七( ) 三八( ) 六七( ) 五七( ) 五六( ) 十六 四十八 四十二 二十四 二十一 三十五 四十 二十四 三十 2 .口算, 并说出用的是哪句口诀。 8×8= 4×6= 7×5= 6×8= 5×8=
最 小 公 倍 数最 小 公 倍 数 最 小 公 倍 数最 小 公 倍 数. 例题 顺次写出 4 的几个倍数和 6 的几个倍数,它们 公有的倍数是哪几个?其中最小的是多少? 4 的倍数有 : 4 , 8 , 12 , 16 , 20 , 24 , 28 , 32 , 36 , … 6 的倍数有 :
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第五十三讲 ) 离散数学. 定义 设 G= ( V , T , S , P ) 是一个语法结构,由 G 产生的语言 (或者说 G 的语言)是由初始状态 S 演绎出来的所有终止符的集合, 记为 L ( G ) ={w  T *
平行线的平行公理与判定 九年制义务教育七年级几何 制作者:赵宁睿. 平行线的平行公理与判定 要点回顾 课堂练习 例题解析 课业小结 平行公理 平行判定.
第二十四讲 相位延时系统 相位超前系统 全通系统. 一、最小与最大相位延时系统、最小 与最大相位超前系统 LSI 系统的系统函数: 频率响应:
1.2.4 平面与平面垂直的判定 二面角的有关概念. 问题提出 1. 空间两个平面有平行、相交两 种位置关系,对于两个平面平行, 我们已作了全面的研究,对于两个 平面相交,我们应从理论上有进一 步的认识.
Hash, Don’t Cache: Fast Packet Forwarding for Enterprise Edge Routers Minlan Yu Princeton University Joint work with Jennifer.
File Systems (1). Readings r Silbershatz et al: 10.1,10.2,
本 的 质 基 性 比 上海市傅雷中学 樊丽华 (1). 分数的基本性质 : 分数的分子和分母同时乘以或 除以相同的数( 0 除外), 分数的大小不变. 填空:
1 CPS216: Advanced Database Systems Notes 04: Operators for Data Access Shivnath Babu.
ICS 321 Fall 2011 Overview of Storage & Indexing (i) Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 11/9/20111Lipyeow.
IT253: Computer Organization
1 、如果 x + 5 > 4 ,那么两边都 可得 x >- 1 2 、在- 3y >- 4 的两边都乘以 7 可得 3 、在不等式 — x≤5 的两边都乘以- 1 可得 4 、将- 7x — 6 < 8 移项可得 。 5 、将 5 + a >- 2 a 移项可得 。 6 、将- 8x < 0.
Physical Storage Organization. Advanced DatabasesPhysical Storage Organization2 Outline Where and How data are stored? –physical level –logical level.
Author : Guangdeng Liao, Heeyeol Yu, Laxmi Bhuyan Publisher : Publisher : DAC'10 Presenter : Jo-Ning Yu Date : 2010/10/06.
名探柯南在侦查一个特大盗窃集团过程 中,获得藏有宝物的密码箱,密码究竟 是什么呢?请看信息: ABCDEF( 每个字 母表示一个数字 ) A :是所有自然数的因数 B :既有因数 5 ,又是 5 的倍数 C :既是偶数又是质数 D :既是奇数又是合数 EF :是 2 、 3 、 5 的最小公倍数.
Cheap and Large CAMs for High Performance Data-Intensive Networked Systems Ashok Anand, Chitra Muthukrishnan, Steven Kappes, and Aditya Akella University.
§10.2 对偶空间 一、对偶空间与对偶基 二、对偶空间的有关结果 三、例题讲析.
力的合成 力的合成 一、力的合成 二、力的平行四边形 上一页下一页 目 录 退 出. 一、力的合成 O. O. 1. 合力与分力 我们常常用 一个力来代替几个力。如果这个 力单独作用在物体上的效果与原 来几个力共同作用在物体上的效 果完全一样,那么,这一个力就 叫做那几个力的合力,而那几个 力就是这个力的分力。
化学反应的限度 化学平衡常数 青岛第一中学 杜春玲. N 2 (g) + 3 H 2 (g) 2NH 3 (g) 利用氮、氢为原料合成氨的工业化生产曾是一个 较难的课题,从第一次实验室研制到工业化投产,约 经历了 150 年的时间。 哈伯的合成氨的设想经历了四年几千次的实验在 1913 年得以实现,在.
Chapter 15 A External Methods. © 2004 Pearson Addison-Wesley. All rights reserved 15 A-2 A Look At External Storage External storage –Exists beyond the.
CHAPTER 9 HASH TABLES, MAPS, AND SKIP LISTS ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN C++,
Storage and File structure COP 4720 Lecture 20 Lecture Notes.
DMBS Internals I February 24 th, What Should a DBMS Do? Store large amounts of data Process queries efficiently Allow multiple users to access the.
Bigtable: A Distributed Storage System for Structured Data
Jiahao Chen, Yuhui Deng, Zhan Huang 1 ICA3PP2015: The 15th International Conference on Algorithms and Architectures for Parallel Processing. zhangjiajie,
© 2006 Pearson Addison-Wesley. All rights reserved15 A-1 Chapter 15 External Methods.
§9. 恒定电流场 第一章 静电场 恒定电流场. 电流强度  电流:电荷的定向移动  正负电荷反方向运动产生的电磁效应相同 ( 霍尔效应 特例 ) 规定正电荷流动的方向为正方向  电流方向:正方向、反方向  电流强度 ( 电流 ) A 安培 标量 单位时间通过某一截面的电荷.
§7.2 估计量的评价标准 上一节我们看到,对于总体 X 的同一个 未知参数,由于采用的估计方法不同,可 能会产生多个不同的估计量.这就提出一 个问题,当总体的一个参数存在不同的估 计量时,究竟采用哪一个好呢?或者说怎 样评价一个估计量的统计性能呢?下面给 出几个常用的评价准则. 一.无偏性.
Module 11: File Structure
CPS216: Data-intensive Computing Systems
Indexing Goals: Store large files Support multiple search keys
Lecture 16: Data Storage Wednesday, November 6, 2006.
Chapter 11: File System Implementation
Database Management Systems (CS 564)
An Adaptive Data Separation Aware FTL for Improving the Garbage Collection Efficiency of Solid State Drives Wei Xie and Yong Chen Texas Tech University.
Lecture 11: DMBS Internals
Chapter 11: File System Implementation
Andy Wang Operating Systems COP 4610 / CGS 5765
File Systems Implementation
Chapter 11: File System Implementation
Chapter 13: Data Storage Structures
Chapter 11: File System Implementation
LSbM-tree:一个读写兼优的大数据存储结构
Andy Wang Operating Systems COP 4610 / CGS 5765
Chapter 13: Data Storage Structures
Chapter 13: Data Storage Structures
Sarah Diesburg Operating Systems COP 4610
Virtual Memory 1 1.
Presentation transcript:

Memory –efficient Data Management Policy for Flash-based Key-Value Store Wang Jiangtao

Outline Introduction Related work Two works – BloomStore[MSST2012] – TBF[ICDE2013] Summary

Key-Value Store 3 KV store efficiently supports simple operations: Key lookup & KV pair insertion – Online Multi-player Gaming – Data deduplication – Internet services

Overview of Key-Value Store KV store system should provide high access throughput (> 10,000 key lookups/sec) Replaces traditional relational DBs for its superior scalability & performance. – prefer to use KV store for its simplicity and better scalability Popular management (index + storage) solution for large volume of records – often implemented through an index structure, mapping Key-> Value

Challenge To meet high throughput demand, the performance of index access and KV pair (data) access is critical – index access : search the KV pair associated with a given “key” – KV pair access: get/put the actual KV pair Available memory space limits the maximum number of stored KV pairs Using in-RAM index structure can only address index access performance demand

DRAM must be Used Efficiently 6 Per Key-value pair size (bytes) Index size(GB) 32 B( Data deduplication) => 125 GB! 168 B(Tweet) => 24 GB 1 KB(Small image) => 4 GB 1 TB of data 4 bytes of DRAM for key-value pair

Existing Approach to Speed up Index & KV pair Accesses Maintain the index structure in RAM to map each key to its KV pair on SSD – RAM size can not scale up linearly to flash size Keep the minimum index structure in RAM, while storing the rest of the index structure in SSD – On-flash index structure should be designed carefully  Space is precious  random writes are slow and bad for flash life (wear out)

Outline Introduction Related work Two works – BloomStore[MSST2012] – TBF[ICDE2013] Summary

Bloom Filter Bloom Filter 利用位数组表示一个集合,并判断一个元素是否属于这 个集合。初始状态时, m 位的位数组的每一位都置为 0 , Bloom Filter 使 用 k 个相互独立的哈希函数,它们分别将集合中的每个元素映射到 {1,…,m} 的范围中。对任意一个元素 x ,第 i 个哈希函数映射的位置 h i (x) 就会被置为 1 ( 1≤i≤k )。注意,如果一个位置多次被置为 1 ,那么只有 第一次会起作用,后面几次将没有任何效果。 错误率 Bloom Filter 参数选择 – 哈希函数的个数 k 、位数组大小 m 、元素的个数 n – 降低错误率

FlashStore[ VLDB2010 ] Flash as a cache Components – Write buffer – Read cache – Recency bit vector – Disk-presence bloom filter – Hash table index Cons – 6 bytes of RAM per key-value pair

SkimpyStash[ SIGMOD2011 ] Components – Write buffer – Hash table  Bloom filter  using linked list  a pointer to the beginning of the linked list of flash Storing the linked lists on flash – Each pair have a pointer to earlier keys in the log Cons – Multiple flash page reads for a key lookup – High garbage collection cost

Outline Introduction Related work Two works – BloomStore[MSST2012] – TBF[ICDE2013] Summary

MSST2012

Introduction Key lookup throughput is the bottleneck for data application Keep an in-RAM large-sized hash table Move index structure to secondary storage(SSD) – Expensive random write – High garbage collection cost – Bigger storage space

BloomStore Componets – KV Pair write buffer – Active bloom filter  a flash page for write buffer – Bloom filter chain  many flash pages – Key-range partition  a flash “block” BloomStore architecture BloomStore Design – An extremely low amortized RAM overhead – Provide high key lookup/insertion throughput

KV Store Operations Key Lookup – Active Bloom filter – Bloom filter chain – Lookup cost

Parallel lookup h 1 (e i )... Bit-wise AND Bloom filters in parallel Key Lookup – Read the entire BF chain – Bit-wise AND resultant row – High read throughput e i is found

KV Store Operations KV pair Insertion KV pair Update – Append a new key-value pair KV pair Deletion – Insert a null value for the key

Experimental Evaluation Experiment setup – 1TB SSD(PCIe)/32GB(SATA) Workload

Experimental Evaluation Effectiveness of prefilter – Per KV pair is 1.2 bytes Linux Workload V x Workload

Experimental Evaluation Lookup Throughput – Linux Workload  H=96(BF chain length)  m=128(the size of a BF) – V x Workload  H=96(BF chain length)  m=64(the size of a BF)  A prefilter

ICDE2013

Motivation Using flash as a extension cache is cost-effective The desired size of RAM-cache is too large – Caching policy is memory-efficient Replacement algorithm achieves comparable performance with existing policies Caching policy is agnostic to the organization of data on SSD

Defects of the existing policy Recency-based caching algotithm – Clock or LRU – Access data structure and index

Defects of the existing policy Recency-based caching algotithm – Clock or LRU – Access data structure and index

System view DRAM buffer – An in-memory data structure to maintain access information (BF) – No special index to locate key- value pair Key-value store – Provide a iterator operation to traverse – Write through Key-Value cache prototype architecture BF

Bloom Filter with deletion(BFD) BFD – Removing a key from SSD – A bloom filter with deletion – Resetting the bits at the corresponding hash-value in a subset of the hash functions X1X Delete X 1

Flow chart Tracking recency information Cons – False positive  polluting the cache – False negative  Poor hit ratio Bloom Filter with deletion(BFD)

Two Bloom sub-Filters(TBF) Flow chart Dropping many elements in bulk Flip the filter periodically Cons – Keeping rarely-accessed objects  polluting the cache – traversal length per eviction

Traversal cost Key-Value Store Traversal – unmarked on insertion – marked on insertion  longer stretches of marked objects  False positive

Experiment setup – two 1 TB 7200 RPM SATA disks in RAID-0 – 80 GB FusionioDrive PCIE X4 – a mixture of 95% read operations and 5% update – Key-value pairs:200 million(256B) Bloom filter – 4 bits per marked object – a byte per object in TBF – hash function:3 Evaluation

Outline Introduction Related work Two works – BloomStore[MSST2012] – TBF[ICDE2013] Summary

KV store is particularly suitable for some special applications Flash will improve the performance of KV store due to its faster access Some index structure need to be redesign to minimize the RAM size Don’t just treat flash as disk replacement 33

Thank You!