1 Live Deduplication Storage of Virtual Machine Images in an Open-Source Cloud Chun-Ho Ng, Mingcao Ma, Tsz-Yeung Wong, Patrick P. C. Lee, John C. S. Lui.

Slides:



Advertisements
Similar presentations
Henry C. H. Chen and Patrick P. C. Lee
Advertisements

Operating Systems Lecture 10 Issues in Paging and Virtual Memory Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing.
Difference Engine: Harnessing Memory Redundancy in Virtual Machines by Diwaker Gupta et al. presented by Jonathan Berkhahn.
Fast and Safe Performance Recovery on OS Reboot Kenichi Kourai Kyushu Institute of Technology.
Yuchong Hu1, Henry C. H. Chen1, Patrick P. C. Lee1, Yang Tang2
File Systems.
Segmentation and Paging Considerations
1 NETE4631 Cloud deployment models and migration Lecture Notes #4.
1 STAIR Codes: A General Family of Erasure Codes for Tolerating Device and Sector Failures in Practical Storage Systems Mingqiang Li and Patrick P. C.
File Systems Examples.
Low-Cost Data Deduplication for Virtual Machine Backup in Cloud Storage Wei Zhang, Tao Yang, Gautham Narayanasamy University of California at Santa Barbara.
Chapter 11: File System Implementation
CS 153 Design of Operating Systems Spring 2015
G Robert Grimm New York University Sprite LFS or Let’s Log Everything.
Memory Management and Paging CSCI 3753 Operating Systems Spring 2005 Prof. Rick Han.
File System Implementation CSCI 444/544 Operating Systems Fall 2008.
File Systems Implementation
CS 333 Introduction to Operating Systems Class 18 - File System Performance Jonathan Walpole Computer Science Portland State University.
An Intelligent Cache System with Hardware Prefetching for High Performance Jung-Hoon Lee; Seh-woong Jeong; Shin-Dug Kim; Weems, C.C. IEEE Transactions.
File Systems. Main Points File layout Directory layout.
Multi-level Selective Deduplication for VM Snapshots in Cloud Storage Wei Zhang*, Hong Tang †, Hao Jiang †, Tao Yang*, Xiaogang Li †, Yue Zeng † * University.
An Evaluation of Using Deduplication in Swappers Weiyan Wang, Chen Zeng.
1 Convergent Dispersal: Toward Storage-Efficient Security in a Cloud-of-Clouds Mingqiang Li 1, Chuan Qin 1, Patrick P. C. Lee 1, Jin Li 2 1 The Chinese.
Redundant Array of Independent Disks
Chapter 3 Memory Management: Virtual Memory
1 File Systems Chapter Files 6.2 Directories 6.3 File system implementation 6.4 Example file systems.
DATA DEDUPLICATION By: Lily Contreras April 15, 2010.
1 Configurable Security for Scavenged Storage Systems NetSysLab The University of British Columbia Abdullah Gharaibeh with: Samer Al-Kiswany, Matei Ripeanu.
1 Moshe Shadmon ScaleDB Scaling MySQL in the Cloud.
Disk Fragmentation 1. Contents What is Disk Fragmentation Solution For Disk Fragmentation Key features of NTFS Comparing Between NTFS and FAT 2.
Improving Content Addressable Storage For Databases Conference on Reliable Awesome Projects (no acronyms please) Advanced Operating Systems (CS736) Brandon.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming  To allocate scarce memory resources.
The Design and Implementation of Log-Structure File System M. Rosenblum and J. Ousterhout.
1 CloudVS: Enabling Version Control for Virtual Machines in an Open- Source Cloud under Commodity Settings Chung-Pan Tang, Tsz-Yeung Wong, Patrick P. C.
CPSC 404, Laks V.S. Lakshmanan1 External Sorting Chapter 13: Ramakrishnan & Gherke and Chapter 2.3: Garcia-Molina et al.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 12: File System Implementation File System Structure File System Implementation.
File Systems Security File Systems Implementation.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
A Low-bandwidth Network File System Athicha Muthitacharoen et al. Presented by Matt Miller September 12, 2002.
Virtual Memory 1 1.
Computer Systems Week 14: Memory Management Amanda Oddie.
RevDedup: A Reverse Deduplication Storage System Optimized for Reads to Latest Backups Chun-Ho Ng, Patrick P. C. Lee The Chinese University of Hong Kong.
CS333 Intro to Operating Systems Jonathan Walpole.
HADOOP DISTRIBUTED FILE SYSTEM HDFS Reliability Based on “The Hadoop Distributed File System” K. Shvachko et al., MSST 2010 Michael Tsitrin 26/05/13.
1 MSRBot Web Crawler Dennis Fetterly Microsoft Research Silicon Valley Lab © Microsoft Corporation.
Physical Database Design Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create.
11.1 Silberschatz, Galvin and Gagne ©2005 Operating System Principles 11.5 Free-Space Management Bit vector (n blocks) … 012n-1 bit[i] =  1  block[i]
CHAPTER 3-3: PAGE MAPPING MEMORY MANAGEMENT. VIRTUAL MEMORY Key Idea Disassociate addresses referenced in a running process from addresses available in.
GPFS: A Shared-Disk File System for Large Computing Clusters Frank Schmuck & Roger Haskin IBM Almaden Research Center.
File Systems.  Issues for OS  Organize files  Directories structure  File types based on different accesses  Sequential, indexed sequential, indexed.
W4118 Operating Systems Instructor: Junfeng Yang.
Using Deduplicating Storage for Efficient Disk Image Deployment Xing Lin, Mike Hibler, Eric Eide, Robert Ricci University of Utah.
Presenter: Yue Zhu, Linghan Zhang A Novel Approach to Improving the Efficiency of Storing and Accessing Small Files on Hadoop: a Case Study by PowerPoint.
File-System Management
Memory Management Virtual Memory.
Jonathan Walpole Computer Science Portland State University
Chapter 11: File System Implementation
FileSystems.
Main Memory Management
External Sorting The slides for this text are organized into chapters. This lecture covers Chapter 11. Chapter 1: Introduction to Database Systems Chapter.
KISS-Tree: Smart Latch-Free In-Memory Indexing on Modern Architectures
Lecture 29: Virtual Memory-Address Translation
Lecture 15 Reading: Bacon 7.6, 7.7
CSE 451: Operating Systems Autumn 2005 Memory Management
CSE 451: Operating Systems Autumn 2003 Lecture 9 Memory Management
CSE 451: Operating Systems Autumn 2003 Lecture 9 Memory Management
CS703 - Advanced Operating Systems
Fan Ni Xing Lin Song Jiang
Virtual Memory 1 1.
Efficient Migration of Large-memory VMs Using Private Virtual Memory
Presentation transcript:

1 Live Deduplication Storage of Virtual Machine Images in an Open-Source Cloud Chun-Ho Ng, Mingcao Ma, Tsz-Yeung Wong, Patrick P. C. Lee, John C. S. Lui The Chinese University of Hong Kong Middleware’11

Using Cloud Computing  Cloud computing is real…  But many companies still hesitate to use public clouds e.g., security concerns  Open-source cloud platforms Self-manageable with cloud-centric features Extensible with new functionalities Deployable with low-cost commodity hardware Examples: Eucalyptus, OpenStack 2

Hosting VM Images on the Cloud  A private cloud should host a variety of virtual machine (VM) images for different needs Common for commercial clouds 3 Example: Amazon EC2

Private Cloud Deployment 4  Huge storage space needed to host all VM image files Each VM image has few GB of storage  Question: How to scale up storage with low-cost commodity hardware? One option: deduplication VM Image Storage Pool of Compute Nodes

What is Deduplication? 5 Traditional File system copy Deduplication copy Idea. Eliminate storage of data with same content No new blocks! User’s point of view

What is Deduplication?  Block-level deduplication 6 Example: storage space reduced by 5/12 = 42%!

Challenges  Deployment issues of deduplication in VM image storage in an open-source cloud: Can we preserve the performance of VM operations? e.g., inserting VM images, VM startup Can we support general file system operations? e.g., read, write, modify, delete Can we deploy deduplication on low-cost commodity systems? e.g., a few GB of RAM, 32/64-bit CPU, standard OS 7

Related Work  Deduplication backup systems e.g., Venti [Quinlan & Dorward ’02], Data Domain [Zhu et al. ’08], Foundation [Rhea et al. ’08] Assume data is not modified or deleted  Deduplication file systems e.g., OpenSolaris ZFS, OpenDedup SDFS Consume significant memory space, not for commodity systems  VM image storage e.g., Lithium [Hansen & Jul ’10], mainly on fault tolerance, but not on deduplication 8

Our Work 9  Design goals of LiveDFS: Target open-source clouds deployed on low-cost commodity hardware and OSs Support basic file system operations, while allowing inline (on-the-fly) deduplication while data being written LiveDFS: a live deduplication file system tailored for VM image storage LiveDFS: a live deduplication file system tailored for VM image storage

Our Work  Design features of LiveDFS: Spatial locality: store partial metadata in memory, while storing full metadata on disk with respect to file system layout Prefetching metadata: store metadata of same block group into page cache Journaling: enable crash recovery and combine block writes in batch Kernel-space design: built on Ext3, and follow Linux file system layout 10

Our Work  Deploy LiveDFS on OpenStack testbed LiveDFS serves as a storage layer between compute nodes and VM image storage  Evaluate the performance of VM operations and compare with Ext3 11 VM Image Storage Pool of Compute Nodes LiveDFS

Basics: Layout  LiveDFS uses a block-level design Organizes data into fixed-size blocks Blocks are organized into block groups, as in Linux file system 12 … … metadata block pointers Super block Inode bitmap Block bitmap Inode Layout of an inode Group 0 Group 2 Group 1 Layout of a block group Layout of a partition File system layout of LiveDFS

Basics: Layout  Deduplication operates on fixed-size blocks Saves one copy if two fixed-size blocks have the same content  For VM image storage, deduplication efficiencies similar for fixed-size blocks and variable-size blocks [Jin & Miller, ’09] 13

Basics: Fingerprints  How to compare blocks?  Solution: Use cryptographic hashes (or fingerprints) 14 New block MD5 or SHA-1 4K Bytes MD5 16 Bytes SHA-1 20 Bytes  Hash-based comparisons Same content  same hash Different content  different hashes with high probability  Pros: block comparison reduced to hash comparison  Cons: collision may occur, but with negligible probability [Quinlan & Dorward, ’02]

Basics: Reference Counts  How to know if a block is deleted?  Solution: Keep a reference count for each block. Zero means the block is no longer referenced New block 3

Inline Deduplication  How to check if a block being written and can be deduplicated with existing blocks?  Solution: maintain an index structure Keep track of fingerprints of existing blocks  Goal: design of index structure must be efficient in space and speed  Two options of keeping an index structure: Putting whole index structure in RAM Putting whole index structure on disk 16

Option 1: Index Structure in RAM  How about putting whole index structure in RAM? Used in existing dedup file systems (e.g., ZFS, OpenDedup)  Challenge: need large amount of RAM  Example: per 1TB of disk content 17 Block Size4KB Using MD5 checksum16 bytes per block Size of Index1TB / 4KB x 16 bytes = 4GB.

Option 2: Index Structure on Disk  How about putting whole index structure on disk?  Challenge: updating each data block and its index keeps the disk head moving, which hurts performance. 18 Search for duplicated block. Indexing Structure Remaining File System If not found, write to file system. For each write request…

LiveDFS Design  Store partial fingerprints in memory Infer if same block exists, and where it is “potentially” located 19 Checksum of incoming block Partial hash N Bits Partial hash 0Block # Partial hash 1Block # Partial hash nBlock # matching Current Implementation N=43, error rate = i.e., on average every 128MB of data, one partial hash mapped to two block locations. Per 1TB of disk, reduce memory usage from previous 4GB to 1.6GB Incoming write request Fingerprint filter

LiveDFS Design  Store full fingerprints on disk, with spatial locality Verify whether the same block is actually located 20  Partition index structure according to block groups Each block group has a fingerprint store Each fingerprint store keeps fingerprints and reference counts for the respective data blocks in the same block group  Writing with close proximity incurs minimal seeks INDEXINDEX Data INDEXINDEX INDEXINDEX INDEXINDEX Data Full checksumReference Count

LiveDFS Design  Take-away: LiveDFS arranges fingerprints in memory and on disk according to underlying file system layout on disk  Other features: Prefetching of fingerprint store: load entire fingerprint store of same block group into page cache subsequent writes updates fingerprint store directly in page cache. Journaling: follow Linux file system journaling design enable crash recovery and enhance write performance by combining block writes in batch  Details in the paper 21

Experiments  OpenStack Deployment 1 compute node 1 storage node Gigabit switch connection  Datasets 42 VM images of diff. dists (e.g., Fedora, Ubuntu) compliant with Amazon EC2 Each VM image is of size 2GB  VM operations via euca2tools : Inserting VM images Launch VM instances 22 VM Image Storage

Space Usage 23  LiveDFS saves 40% storage over Ext3

Space Usage  Space saving ranges from 33% to 60% from each Linux distribution 24

Inserting VM Images  LiveDFS uses less insertion time than Ext3, mainly because it doesn’t write duplicate blocks 25

VM Startup  Tradeoff: LiveDFS uses 30% more startup time  Main reason: internal fragmentation due to deduplication (read may access duplicate blocks in different locations) 26

VM Startup  Overhead remains at the same percentage even when multiple instances started in parallel 27

Summary of Results  LiveDFS saves 40% storage via deduplication  LiveDFS uses less VM insertion time, with a tradeoff of more VM startup time  Microbenchmark experiments to study impact of each design features See details in paper 28

Future Work  Reduce read time due to fragmentation introduced by deduplication? e.g., read cache to cache duplicate blocks  Compare LiveDFS with other deduplication file systems (e.g., ZFS, OpenDedup SDFS)?  Explore other storage applications 29

Conclusions  Deploy live (inline) deduplication in an open- source cloud platform with commodity settings  Propose LiveDFS, a kernel-space file system Spatial locality of fingerprint management Prefetching of fingerprints into page cache Journaling to enable crash recovery and combine writes in batch  Source code: 30