Yuchong Hu1, Henry C. H. Chen1, Patrick P. C. Lee1, Yang Tang2

Slides:



Advertisements
Similar presentations
Analysis and Construction of Functional Regenerating Codes with Uncoded Repair for Distributed Storage Systems Yuchong Hu, Patrick P. C. Lee, Kenneth.
Advertisements

current hadoop architecture
Alex Dimakis based on collaborations with Dimitris Papailiopoulos Arash Saber Tehrani USC Network Coding for Distributed Storage.
Henry C. H. Chen and Patrick P. C. Lee
1 NCFS: On the Practicality and Extensibility of a Network-Coding-Based Distributed File System Yuchong Hu 1, Chiu-Man Yu 2, Yan-Kit Li 2 Patrick P. C.
BASIC Regenerating Codes for Distributed Storage Systems Kenneth Shum (Joint work with Minghua Chen, Hanxu Hou and Hui Li)
Coding and Algorithms for Memories Lecture 12 1.
Simple Regenerating Codes: Network Coding for Cloud Storage Dimitris S. Papailiopoulos, Jianqiang Luo, Alexandros G. Dimakis, Cheng Huang, and Jin Li University.
1 Degraded-First Scheduling for MapReduce in Erasure-Coded Storage Clusters Runhui Li, Patrick P. C. Lee, Yuchong Hu The Chinese University of Hong Kong.
Abstract HyFS: A Highly Available Distributed File System Jianqiang Luo, Mochan Shrestha, Lihao Xu Department of Computer Science, Wayne State University.
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.
Availability in Globally Distributed Storage Systems
CSE 486/586 CSE 486/586 Distributed Systems Case Study: Facebook f4 Steve Ko Computer Sciences and Engineering University at Buffalo.
Beyond the MDS Bound in Distributed Cloud Storage
Typhoon: An Ultra-Available Archive and Backup System Utilizing Linear-Time Erasure Codes.
1 Data Persistence in Large-scale Sensor Networks with Decentralized Fountain Codes Yunfeng Lin, Ben Liang, Baochun Li INFOCOM 2007.
Network Coding for Large Scale Content Distribution Christos Gkantsidis Georgia Institute of Technology Pablo Rodriguez Microsoft Research IEEE INFOCOM.
Improving ISP Locality in BitTorrent Traffic via Biased Neighbor Selection Ruchir Bindal, Pei Cao, William Chan Stanford University Jan Medved, George.
A Hybrid Approach of Failed Disk Recovery Using RAID-6 Codes: Algorithms and Performance Evaluation Yinlong Xu University of Science and Technology of.
Efficient Content Location Using Interest-based Locality in Peer-to-Peer Systems Presented by: Lin Wing Kai.
Redundant Data Update in Server-less Video-on-Demand Systems Presented by Ho Tsz Kin.
Cooperative regenerating codes for distributed storage systems Kenneth Shum (Joint work with Yuchong Hu) 22nd July 2011.
Toward Optimal Network Fault Correction via End-to-End Inference Patrick P. C. Lee, Vishal Misra, Dan Rubenstein Distributed Network Analysis (DNA) Lab.
1 Exploring Data Reliability Tradeoffs in Replicated Storage Systems NetSysLab The University of British Columbia Abdullah Gharaibeh Matei Ripeanu.
NCCloud: A Network-Coding-Based Storage System in a Cloud-of-Clouds
Network Coding for Distributed Storage Systems IEEE TRANSACTIONS ON INFORMATION THEORY, SEPTEMBER 2010 Alexandros G. Dimakis Brighten Godfrey Yunnan Wu.
Network Coding Distributed Storage Patrick P. C. Lee Department of Computer Science and Engineering The Chinese University of Hong Kong 1.
RACS: A Case for Cloud Storage Diversity Paper by Hussam Abu-LibdehCornell University Lonnie PrincehouseCornell University Hakim Weatherspoon Cornell University.
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.
1 The Google File System Reporter: You-Wei Zhang.
Slicing the Onion: Anonymity Using Unreliable Overlays Sachin Katti Jeffrey Cohen & Dina Katabi.
Repairable Fountain Codes Megasthenis Asteris, Alexandros G. Dimakis IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 32, NO. 5, MAY /5/221.
22/07/ The MDS Scaling Problem for Cloud Storage Yu-chong Hu Institute of Network Coding.
Min Xu1, Yunfeng Zhu2, Patrick P. C. Lee1, Yinlong Xu2
A Survey on Secure Cloud Data Storage ZENG, Xi CAI, Peng
1 Configurable Security for Scavenged Storage Systems NetSysLab The University of British Columbia Abdullah Gharaibeh with: Samer Al-Kiswany, Matei Ripeanu.
1 Hussam Abu-Libdeh, Lonnie Princehouse Hakim Weatherspoon Cornell University.
Mohamed Hefeeda 1 School of Computing Science Simon Fraser University, Canada Video Streaming over Cooperative Wireless Networks Mohamed Hefeeda (Joint.
Degraded-First Scheduling for MapReduce in Erasure-Coded Storage Clusters Runhui Li, Patrick P. C. Lee, Yuchong Hu th Annual IEEE/IFIP International.
Growth Codes: Maximizing Sensor Network Data Persistence abhinav Kamra, Vishal Misra, Jon Feldman, Dan Rubenstein Columbia University, Google Inc. (SIGSOMM’06)
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.
A Cost-based Heterogeneous Recovery Scheme for Distributed Storage Systems with RAID-6 Codes Yunfeng Zhu 1, Patrick P. C. Lee 2, Liping Xiang 1, Yinlong.
Cooperative Recovery of Distributed Storage Systems from Multiple Losses with Network Coding Yuchong Hu, Yinlong Xu, Xiaozhao Wang, Cheng Zhan and Pei.
1 Making MapReduce Scheduling Effective in Erasure-Coded Storage Clusters Runhui Li and Patrick P. C. Lee The Chinese University of Hong Kong LANMAN’15.
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.
1 Enabling Efficient and Reliable Transitions from Replication to Erasure Coding for Clustered File Systems Runhui Li, Yuchong Hu, Patrick P. C. Lee The.
Parity Logging with Reserved Space: Towards Efficient Updates and Recovery in Erasure-coded Clustered Storage Jeremy C. W. Chan*, Qian Ding*, Patrick P.
Exact Regenerating Codes on Hierarchical Codes Ernst Biersack Eurecom France Joint work and Zhen Huang.
20/10/ Cooperative Recovery of Distributed Storage Systems from Multiple Losses with Network Coding Yuchong Hu Institute of Network Coding Please.
A Fast Repair Code Based on Regular Graphs for Distributed Storage Systems Yan Wang, East China Jiao Tong University Xin Wang, Fudan University 1 12/11/2013.
Coding and Algorithms for Memories Lecture 13 1.
Secret Sharing in Distributed Storage Systems Illinois Institute of Technology Nexus of Information and Computation Theories Paris, Feb 2016 Salim El Rouayheb.
Seminar On Rain Technology
Using Deduplicating Storage for Efficient Disk Image Deployment Xing Lin, Mike Hibler, Eric Eide, Robert Ricci University of Utah.
Pouya Ostovari and Jie Wu Computer & Information Sciences
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.
SEMINAR TOPIC ON “RAIN TECHNOLOGY”
A Tale of Two Erasure Codes in HDFS
Double Regenerating Codes for Hierarchical Data Centers
Steve Ko Computer Sciences and Engineering University at Buffalo
Steve Ko Computer Sciences and Engineering University at Buffalo
A Simulation Analysis of Reliability in Erasure-coded Data Centers
Partial-Parallel-Repair (PPR):
Repair Pipelining for Erasure-Coded Storage
Presented by Haoran Wang
Understanding System Characteristics of Online Erasure Coding on Scalable, Distributed and Large-Scale SSD Array Systems Sungjoon Koh, Jie Zhang, Miryeong.
Xiaoyang Zhang1, Yuchong Hu1, Patrick P. C. Lee2, Pan Zhou1
Erasure Correcting Codes for Highly Available Storage
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Xiaolu Li†, Runhui Li†, Patrick P. C. Lee†, and Yuchong Hu‡
Presentation transcript:

NCCloud: Applying Network Coding for the Storage Repair in a Cloud-of-Clouds Yuchong Hu1, Henry C. H. Chen1, Patrick P. C. Lee1, Yang Tang2 1The Chinese University of Hong Kong 2Columbia University FAST’12

Cloud Storage Cloud storage is an emerging service model for remote backup and data synchronization Single-cloud storage raises concerns: Cloud outage Vendor lock-ins [Abu-Libdeh et al., SOCC’10] Costly to switch cloud providers

Multiple-Cloud Storage Solution: multiple-cloud storage Deploy a proxy between users and multiple clouds Stripe data across multiple clouds Proxy Cloud 1 Cloud 2 Cloud 3 Cloud 4 Users file upload download (n,k) MDS code: Any k out of n storage nodes (clouds) can rebuild original file. e.g., RAID-5: k = n – 1; RAID-6: k = n – 2

Repairing a Failed Cloud How to repair: Cloud 1 Cloud 2 Proxy Cloud 3 Cloud 4 Cloud 5 Repair traffic = + + Goal: minimize repair traffic Repair traffic: amount of data read from surviving clouds Hence minimize monetary cost due to data migration

Reed Solomon Codes Conventional repair: Proxy Repair traffic = M File of size M A Node 1 A B Proxy Node 2 B B Node 3 A+B A A A+B Node 4 A+2B n = 4, k = 2 Conventional repair: Repair whole file and reconstruct data in new node

Regenerating Codes Repair in regenerating codes: Proxy [Dimakis et al.’10] Regenerating codes Repair traffic = 0.75M A File of size M Node 1 A B B C D Proxy Node 2 C D A+C C Node 3 B+D A A A+C B B Node 4 A+D A+B+C B+C+D n = 4, k = 2 Repair in regenerating codes: Downloads one chunk from each node (instead of whole file) Repair traffic: save 25% for (n=4,k=2), while same storage size Using network coding: encode chunks in storage nodes

Related Work Theoretical analysis Empirical studies Regenerating codes [Dimakis et al. ’10] exploit the optimal trade-off between storage and repair traffic. Empirical studies e.g., [Gkantsidis & Rodriguez ’05], [Dunimuco & Biersack ’09], [Martalo et al. ’11] Evaluate random linear codes Based on simulations Multiple cloud storage e.g., HAIL [Bowers et al. ’09], RACS [Abu-Libdeh et al. ’10], DEPSKY [Bessani et al. ’11] Based on erasure codes

Challenges Implementation of regenerating codes in multiple cloud storage: Can we eliminate encoding/decoding operations in storage nodes (clouds)? Only standard read/write interfaces would suffice Can we support basic upload/download operations with regenerating codes? Can we support the repair function with regenerating codes?

Our Work Build NCCloud, a proxy-based storage system that applies regenerating codes in multiple-cloud storage Design goals: Propose an implementable design of functional minimum-storage regenerating (F-MSR) code Support basic read/write operations and the repair function Preserve storage overhead as in MDS codes, while reducing repair traffic Implement and evaluate NCCloud in real storage setting focus on double-fault tolerance (k = n-2) focus on single-fault recovery built on FUSE

F-MSR: Key Idea F-MSR codes Repair traffic = 0.75M File of size M A Node 1 P1 B P2 C D Proxy Node 2 P3 P4 P5 P3 Node 3 P6 P1’ P1’ P5 P2’ P2’ Node 4 P7 P7 P8 n = 4, k = 2 Code chunk Pi = linear combination of original data chunks Repair in F-MSR: Download one code chunk from each surviving node Reconstruct new code chunks (via random linear combination) in new node

F-MSR: Key Idea F-MSR: non-systematic With (non-systematic) F-MSR, Doesn’t keep original data as in systematic codes Stores only linearly combined code chunks while maintaining MDS property Suitable for rarely-read long-term archival With (non-systematic) F-MSR, Eliminate need of encoding/decoding in clouds Keep the benefits of network codes in storage repair For k = n-2 (double-fault tolerance) n = 4: repair traffic saved by 25% For very large n: repair traffic saved by almost 50%

NCCloud: Upload Encoding process: Proxy Pi = ECVi × [A,B,C,D]T Storage nodes Proxy n(n-k) chunks P1 P1 k(n-k) chunks P2 P2 File A P3 P3 divide B encode P4 distribute P4 C P5 P5 D P6 P6 P7 P8 P7 P8 n=4, k=2 Encoding process: Pi = ECVi × [A,B,C,D]T ECVi : encoding coefficient vector of Pi Arithmetic operations in GF(28) EM = [ECV1,ECV2,…,ECVn]T EM: encoding matrix is replicated to all nodes as metadata

NCCloud: Download Decoding process: Proxy Storage nodes Proxy P1 P2 download k(n-k) chunks k(n-k) chunks P3 File P1 A P4 decode P2 B merge P5 P3 C P6 P4 D P7 P8 n=4, k=2 Decoding process: [A,B,C,D]T = EM -1× [P1,P2, P3, P4]T Download all the chunks from any k of n clouds Multiply inverted encoding matrix with downloaded chunks

NCCloud: Iterative Repair Repair: generate random linear combinations of chunks How to keep iterative single-failure repairs sustainable? i.e., how to ensure new code chunks don’t break MDS property? Solution: two-phase checking MDS property check Current repair maintains MDS property Repair MDS property check Next repair for any possible failure maintains MDS property Simulations show the importance of two-phase checking over MDS property check only See paper for details

NCCloud: Iterative Repair Proxy Get all the existing ECVs: ECV3, ECV4, ECV5, ECV6, ECV7, ECV8 Storage nodes × P1 Randomly select one ECV from each existing nodes: ECV3, ECV5, ECV7 P2 P3 P4 Randomly generate a repair matrix: RM P5 P6 Obtain ECVs in new node: [ECV’1, ECV’2]= RM × (ECV3, ECV5, ECV7)T P7 P8 n=4, k=2 Construct a new EM’ and test it: EM’ = [ECV’1, ECV’2, ECV3, ECV4, ECV5, ECV6, ECV7, ECV8] Check both MDS and repair MDS property in EM’. fail P1’ Download P3,P5,P7; regenerate (P1’,P2’)= RM × (P3, P5, P7)T P2’

Cost Analysis Repair traffic cost Metadata of F-MSR Monthly price plan as of Sep 2011 Repair traffic cost F-MSR saves 25% (for n = 4) compared to conventional repair Metadata of F-MSR Metadata size = 160B; file size = several MBs Overhead due to GET requests during repair Assuming S3 plan in Sep 2011, n = 4, k = 2, file size = 4MB Conventional repair: 0.427% F-MSR repair: 0.854%

Experiments NCCloud deployment Coding schemes Metric Single machine connected to a cloud-of-clouds n = 4, k = 2 Coding schemes Reed-Solomon-based RAID-6 vs. F-MSR Metric Response time Cloud environments: Local cloud: OpenStack Swift Commercial cloud: multiple containers in Azure

Response time: Local Cloud Response time (s) UPLOAD F-MSR has higher response time due to encoding/decoding overhead F-MSR has slightly less response time in repair, due to less data download File size (MB) Response time (s) DOWNLOAD File size (MB) Response time (s) REPAIR File size (MB)

Response time: Commercial Cloud Response time (s) UPLOAD File size (MB) No distinct response time difference, as network fluctuations play a bigger role in actual response time Response time (s) DOWNLOAD File size (MB) Response time (s) REPAIR File size (MB)

Conclusions Propose an implementable design of F-MSR: Preserve storage cost, but use less repair traffic Build NCCloud, which realizes F-MSR Source code: http://ansrlab.cse.cuhk.edu.hk/software/nccloud/