Counting Problems in Flash Storage Design



Similar documents
Software-Defined Traffic Measurement with OpenSketch

Flash Memory. Jian-Jia Chen (Slides are based on Yuan-Hao Chang) TU Dortmund Informatik 12 Germany 2015 年 01 月 27 日. technische universität dortmund

Scalus Winter School Storage Systems

Data Distribution Algorithms for Reliable. Reliable Parallel Storage on Flash Memories

Flash Memory Basics for SSD Users

File System Management

Big Data & Scripting Part II Streaming Algorithms

hybridfs: Integrating NAND Flash-Based SSD and HDD for Hybrid File System

SSDs and RAID: What s the right strategy. Paul Goodwin VP Product Development Avant Technology

Physical Data Organization

Flash-Friendly File System (F2FS)

Big Data & Scripting Part II Streaming Algorithms

Speeding Up Cloud/Server Applications Using Flash Memory

An Overview of Flash Storage for Databases

EFFICIENT EXTERNAL SORTING ON FLASH MEMORY EMBEDDED DEVICES

Nasir Memon Polytechnic Institute of NYU

Linux flash file systems JFFS2 vs UBIFS

Sitecore Health. Christopher Wojciech. netzkern AG. Sitecore User Group Conference 2015

Cassandra vs MySQL. SQL vs NoSQL database comparison

Deep Dive: Maximizing EC2 & EBS Performance

Extent Mapping Scheme for Flash Memory Devices

CHAPTER 7: The CPU and Memory

MODELING RANDOMNESS IN NETWORK TRAFFIC

Assessing the Security of Hardware-Based vs. Software-Based Encryption on USB Flash Drives

Storage Management for Files of Dynamic Records

FAST 11. Yongseok Oh University of Seoul. Mobile Embedded System Laboratory

Overview of Data Security Methods: Passwords, Encryption, and Erase

Succinct Data Structures for Data Mining

Indexing on Solid State Drives based on Flash Memory

Don t Let RAID Raid the Lifetime of Your SSD Array

File Systems for Flash Memories. Marcela Zuluaga Sebastian Isaza Dante Rodriguez

Using Synology SSD Technology to Enhance System Performance Synology Inc.

Why are state-of-the-art flash-based multi-tiered storage systems performing poorly for HTTP video streaming?

Unit Storage Structures 1. Storage Structures. Unit 4.3

Practical Cassandra. Vitalii

Future Prospects of Scalable Cloud Computing

Binary search tree with SIMD bandwidth optimization using SSE

Creating Synthetic Temporal Document Collections for Web Archive Benchmarking

Lecture 2: Universality

CSCA0102 IT & Business Applications. Foundation in Business Information Technology School of Engineering & Computing Sciences FTMS College Global

Lecture 16: Storage Devices

Memory Management Outline. Background Swapping Contiguous Memory Allocation Paging Segmentation Segmented Paging

Facebook: Cassandra. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation

Indexing Full Packet Capture Data With Flow

Data Structures Fibonacci Heaps, Amortized Analysis

Approximately Detecting Duplicates for Streaming Data using Stable Bloom Filters

90nm e-page Flash for Machine to Machine Applications

DMS Performance Tuning Guide for SQL Server

RFLRU: A Buffer Cache Management Algorithm for Solid State Drive to Improve the Write Performance on Mixed Workload

Common Patterns and Pitfalls for Implementing Algorithms in Spark. Hossein

NAND Flash Memory Reliability in Embedded Computer Systems

Data storage Tree indexes

UBI with Logging. Brijesh Singh Samsung, India Rohit Vijay Dongre Samsung, India

The Pitfalls of Deploying Solid-State Drive RAIDs

Industrial Flash Storage Trends in Software and Security

A Bayesian Approach for on-line max auditing of Dynamic Statistical Databases

Programming NAND devices

Reverse Hashing for High-speed Network Monitoring: Algorithms, Evaluation, and Applications

REAL TIME OPERATING SYSTEM PROGRAMMING-II: II: Windows CE, OSEK and Real time Linux. Lesson-3: Windows and Memory Management

COS 318: Operating Systems. Storage Devices. Kai Li Computer Science Department Princeton University. (

UBIFS file system. Adrian Hunter (Адриан Хантер) Artem Bityutskiy (Битюцкий Артём)

Scalable Machine Learning - or what to do with all that Big Data infrastructure

Monitoring DoubleTake Availability

MIMO CHANNEL CAPACITY

Data Structures for Big Data: Bloom Filter. Vinicius Vielmo Cogo Smalltalks, DI, FC/UL. October 16, 2014.

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory

Big Data Technology Map-Reduce Motivation: Indexing in Search Engines

Disks and RAID. Profs. Bracy and Van Renesse. based on slides by Prof. Sirer

Lab Evaluation of NetApp Hybrid Array with Flash Pool Technology

SSD Write Performance IOPS Confusion Due to Poor Benchmarking Techniques

Candidates should be able to: (i) describe the purpose of RAM in a computer system

SWISSBOX REVISITING THE DATA PROCESSING SOFTWARE STACK

Big Data. Lecture 6: Locality Sensitive Hashing (LSH)

ColdFusion 8. Performance Tuning, Multi-Instance Management and Clustering. Sven Ramuschkat MAX 2008 Milan

Journal of Systems Architecture

In-Memory Databases Algorithms and Data Structures on Modern Hardware. Martin Faust David Schwalb Jens Krüger Jürgen Müller

Algorithms and Methods for Distributed Storage Networks 3. Solid State Disks Christian Schindelhauer

1. The memory address of the first element of an array is called A. floor address B. foundation addressc. first address D.

Zabin Visram Room CS115 CS126 Searching. Binary Search

A PRAM and NAND Flash Hybrid Architecture for High-Performance Embedded Storage Subsystems

Implementation of Buffer Cache Simulator for Hybrid Main Memory and Flash Memory Storages

Cuckoo Filter: Practically Better Than Bloom

A Data De-duplication Access Framework for Solid State Drives

Storage Systems Autumn Chapter 6: Distributed Hash Tables and their Applications André Brinkmann

Statistical Challenges with Big Data in Management Science

Persistent Binary Search Trees

Rethinking SIMD Vectorization for In-Memory Databases

Transcription:

Flash Talk Counting Problems in Flash Storage Design Bongki Moon Department of Computer Science University of Arizona Tucson, AZ 85721, U.S.A. bkmoon@cs.arizona.edu NVRAMOS 09, Jeju, Korea, October 2009-1-

Counting Problems Counting is One of the fundamental problems, found in most applications The study of approximate counting has a long history in computer science Goal of this talk is Bring attention to the issues, provide a new angle to the design of flash storage systems NVRAMOS 09, Jeju, Korea, October 2009-2-

Counting Problems in Flash Wear Leveling Keep track of block erase counts For a 128 GB SSD with 1 million blocks A (sub)word( for each block requires 2~4 MB RAM Garbage Collection Keep track of # of valid pages in blocks For example, FMAX and FAST For a 128 GB SSD with 1 million blocks A byte for each block requires 1 MB RAM NVRAMOS 09, Jeju, Korea, October 2009-3-

Counting Problems in Flash Hot / Cold Data Separation Keep track of update counts for all pages(?) For a 128 GB SSD with 64 million pages A (sub)word( for each page requires 128~256 MB RAM Counting Bloom Filter [Hsieh TOST 06] Approximate update frequencies by storing relative frequencies in a fixed number of fixed-length bit-vectors Aging (divide-by by-2) occurs when any counter overflows Accuracy will be degraded seriously at the presence of a few very hot items, because aging kicks in too often Almost impossible to separate cold data pages from warm ones NVRAMOS 09, Jeju, Korea, October 2009-4-

Approx Counting Numerous approaches Unbiased vs biased Memory use: linear vs. logarithmic Log Count Lossy Couting AMS Sketch NVRAMOS 09, Jeju, Korea, October 2009-5-

Counting Heavy Hitters Manku & Motwani [VLDB 02] Biased estimation of frequencies for heavy hitters For all heavy hitters (f true > τ = sn), without false negatives, the estimated frequency f est is found Always underestimates but with margin εn, that is, f est f true f est + εn N = # of objects seen so far, 0 < ε << s < 1 Sticky Sampling and Lossy Counting LC deems superior to SS, and uses O(log N) memory in the worst case NVRAMOS 09, Jeju, Korea, October 2009-6-

AMS Sketch Alon, Matias and Szegdy [STOC 96] Randomized linear projection of a frequency vector F = (f 1,, f n ) for a set of n objects in stream S ( Dom(S) = n) Randomized linear projection f i denotes the frequency of i in S v i is a four-wise independent binary random variable v i = +1 or -1 with equal probability, i.e., Pr(v i = +1) = Pr(v i = -1) = ½ Pr(4-tuple of v i = 4-tuple of {-1,+1}) = 1/16 NVRAMOS 09, Jeju, Korea, October 2009-7-

Unbiased Estimation by AMS To compute the sketch X Initialize X=0 Add v i to X each time i appears in S X = f i v i To estimate f q (the frequency of q) E(X v q ) = E((f 1 v 1 + + f n v n ) v q ) = E(f q v q2 ) = f q Linearity of expectation E(v i2 ) = 1, because v i2 is either (-1) 2 or (+1) 2 E(v i v j ) = 0 for i j, because Pr(v i v j = +1)= Pr(v i v j = -1)= ½ Thus, X v q is an unbiased estimator of f q NVRAMOS 09, Jeju, Korea, October 2009-8-

How Accurate? Not so accurate Var(X v q ) SJ(S) = f i 2 To improve the accuracy Maintain s 1 s 2 independent and identically distributed instances of X, say X ij Compute s 2 (column-wise) averages of X ij v q Y j = avg(x 1j v q + + X s1,j v q )/s 1 Then, take the median of them as an estimate NVRAMOS 09, Jeju, Korea, October 2009-9-

Memory Usage by AMS s 1 controls accuracy, and s 2 controls confidence The values of s 1 and s 2 are determined by target error bound and confidence level Still, the total memory use is O(log S + log n) NVRAMOS 09, Jeju, Korea, October 2009-10-

Approx Counting for Wear Leveling AMS sketch adopted for wear leveling Store synopsis of block erase counts instead of actual counts, consuming much less memory Patent KR 10-0817204 [Min & Moon, March 2008] NVRAMOS 09, Jeju, Korea, October 2009-11-

Problem Solved? Far from it! AMS returns an approximate count for a query But it keeps neither a hot list nor a cold list Dynamic wear leveling Select a youngest block from a free list AMS may work well if the free list is short By submitting each block in the free list as a query Static wear leveling Need find blocks storing cold data AMS will be extremely slow! By submitting ALL blocks as a query NVRAMOS 09, Jeju, Korea, October 2009-12-

SW Leveler Chang et al. [DAC 2007] Use a bit vector (BET) to mark blocks erased during a certain period; BET is just a set of Boolean flags Space-efficient For an SSD of 128GB (1 M blocks), the size of BET is just 128KB/2 k (for k 0) However, serious drawbacks Any block un-erased during the period can be randomly chosen as a cold data block; very inaccurate Memoryless, because BET is reset between the periods No long-term information on block erasures is accumulated NVRAMOS 09, Jeju, Korea, October 2009-13-

Hot Separation by AMS Hot data blocks can be identified by AMS easily AMS can handle deletions Heavy hitters can be managed in a heap separately NVRAMOS 09, Jeju, Korea, October 2009-14-

Hot Separation by AMS For low frequency items Accuracy of approximation improves without heavy hitters NVRAMOS 09, Jeju, Korea, October 2009-15-

Static Wear Leveling Still, a big question remains for Static WL Identify cold data blocks, not only the hot ones Biased (or underestimating) approximations are useless AMS + BET? When a triggering condition is satisfied, look for unerased blocks from BET Inquire the AMS Sketch for the approximate erase count of each un-erased block Quickly find cold data blocks if the number of un-erased blocks is small; further evaluation is in order NVRAMOS 09, Jeju, Korea, October 2009-16-

Concluding remarks TB-scale flash storage devices are on the horizon Scalable and economical designs are must Algorithmic innovations will make a difference That s where real competitiveness comes from! NVRAMOS 09, Jeju, Korea, October 2009-17-