Wingu A Synchronization Layer For Safe Concurrent Access to Cloud Storage Craig Chasseur and Allie Terrell December 20, 2010.

Slides:



Advertisements
Similar presentations
Relaxed Consistency Models. Outline Lazy Release Consistency TreadMarks DSM system.
Advertisements

SUNDR: Secure Untrusted Data Repository
The Zebra Striped Network Filesystem. Approach Increase throughput, reliability by striping file data across multiple servers Data from each client is.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Ceph: A Scalable, High-Performance Distributed File System
Module 20 Troubleshooting Common SQL Server 2008 R2 Administrative Issues.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
1 Principles of Reliable Distributed Systems Tutorial 12: Frangipani Spring 2009 Alex Shraer.
Distributed Systems 2006 Styles of Client/Server Computing.
Signature Based Concurrency Control Thomas Schwarz, S.J. JoAnne Holliday Santa Clara University Santa Clara, CA 95053
Data Sharing in OSD Environment Dingshan He September 30, 2002.
Distributed File System: Design Comparisons II Pei Cao Cisco Systems, Inc.
Seafile - Scalable Cloud Storage System
University of Pennsylvania 11/21/00CSE 3801 Distributed File Systems CSE 380 Lecture Note 14 Insup Lee.
MetaSync File Synchronization Across Multiple Untrusted Storage Services Seungyeop Han Haichen Shen, Taesoo Kim*, Arvind Krishnamurthy,
File Systems (2). Readings r Silbershatz et al: 11.8.
PNUTS: YAHOO!’S HOSTED DATA SERVING PLATFORM FENGLI ZHANG.
Sun NFS Distributed File System Presentation by Jeff Graham and David Larsen.
Presented by: Alvaro Llanos E.  Motivation and Overview  Frangipani Architecture overview  Similar DFS  PETAL: Distributed virtual disks ◦ Overview.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Distributed File Systems Steve Ko Computer Sciences and Engineering University at Buffalo.
Distributed Data Stores – Facebook Presented by Ben Gooding University of Arkansas – April 21, 2015.
Transactions and Reliability. File system components Disk management Naming Reliability  What are the reliability issues in file systems? Security.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
1 The Google File System Reporter: You-Wei Zhang.
Distributed Systems Tutorial 11 – Yahoo! PNUTS written by Alex Libov Based on OSCON 2011 presentation winter semester,
Networked File System CS Introduction to Operating Systems.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Distributed File Systems Overview  A file system is an abstract data type – an abstraction of a storage device.  A distributed file system is available.
CEPH: A SCALABLE, HIGH-PERFORMANCE DISTRIBUTED FILE SYSTEM S. A. Weil, S. A. Brandt, E. L. Miller D. D. E. Long, C. Maltzahn U. C. Santa Cruz OSDI 2006.
Data in the Cloud – I Parallel Databases The Google File System Parallel File Systems.
Introduction to DFS. Distributed File Systems A file system whose clients, servers and storage devices are dispersed among the machines of a distributed.
Ceph: A Scalable, High-Performance Distributed File System
A Low-bandwidth Network File System Athicha Muthitacharoen et al. Presented by Matt Miller September 12, 2002.
CS425 / CSE424 / ECE428 — Distributed Systems — Fall 2011 Some material derived from slides by Prashant Shenoy (Umass) & courses.washington.edu/css434/students/Coda.ppt.
Automated P2P Backup Group 1 Anderson, Bowers, Johnson, Walker.
Caching Consistency and Concurrency Control Contact: Dingshan He
OOPSLA 2001 Choosing Transaction Models for Enterprise Applications Jim Tyhurst, Ph.D. Tyhurst Technology Group LLC.
Write Conflicts in Optimistic Replication Problem: replicas may accept conflicting writes. How to detect/resolve the conflicts? client B client A replica.
22 Copyright © 2008, Oracle. All rights reserved. Multi-User Development.
Distributed File Systems Questions answered in this lecture: Why are distributed file systems useful? What is difficult about distributed file systems?
GPFS: A Shared-Disk File System for Large Computing Clusters Frank Schmuck & Roger Haskin IBM Almaden Research Center.
Module 11 Configuring and Managing Distributed File System.
Self-service, with applications to distributed classifier construction Michael K. Reiter and Asad Samar April 27, 2006 Properties & Related Work Self-Service.
CalvinFS: Consistent WAN Replication and Scalable Metdata Management for Distributed File Systems Thomas Kao.
DISTRIBUTED FILE SYSTEM- ENHANCEMENT AND FURTHER DEVELOPMENT BY:- PALLAWI(10BIT0033)
OceanStore : An Architecture for Global-Scale Persistent Storage Jaewoo Kim, Youngho Yi, Minsik Cho.
Disk Cache Main memory buffer contains most recently accessed disk sectors Cache is organized by blocks, block size = sector’s A hash table is used to.
Slide credits: Thomas Kao
CS 347: Parallel and Distributed Data Management Notes07: Data Replication Hector Garcia-Molina CS 347 Notes07.
Transactions and Reliability
Distributed File Systems
A Simple Introduction to Git: a distributed version-control system
Andrew File System (AFS)
Lecturer : Dr. Pavle Mogin
Google Filesystem Some slides taken from Alan Sussman.
Concurrent Version Control
NFS and AFS Adapted from slides by Ed Lazowska, Hank Levy, Andrea and Remzi Arpaci-Dussea, Michael Swift.
Arrested by the CAP Handling Data in Distributed Systems
Revision Control Daniel Daugherty
A Redundant Global Storage Architecture
Directory Structure A collection of nodes containing information about all files Directory Files F 1 F 2 F 3 F 4 F n Both the directory structure and the.
AWS Cloud Computing Masaki.
DISTRIBUTED FILE SYSTEMS
Distributed Transactions
CS510 - Portland State University
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Sessions about to start – Get your rig on!
System-Level Support CIS 640.
Software Engineering and Architecture
Transactions, Properties of Transactions
Presentation transcript:

Wingu A Synchronization Layer For Safe Concurrent Access to Cloud Storage Craig Chasseur and Allie Terrell December 20, 2010

Why We Love Clouds ● Availability ● Stays up even when whole datacenters go down ● Accessible from anywhere with an Internet connection ● Scalability ● Support many concurrent operations on many items of data ● Support many users sharing

Why We Love Clouds ● Availability ● Stays up even when whole datacenters go down ● Accessible from anywhere with an Internet connection ● Scalability ● Support many concurrent operations on many items of data ● Support many users sharing

Overview ● Background ● Motivation and Goals ● Implementation ● Wrap Up

Overview ● Background ● Motivation and Goals ● Implementation ● Wrap Up

Amazon S3 Bucket obj Region Bucket obj

Consistency in S3 ● Most regions ● Eventual consistency for Object data ● Eventual consistency for Bucket contents ● Northern California ● Read-after-write consistency for Object data ● Eventual consistency for Bucket contents ● Neither model provides synchronization of shared access ● Last writer wins, updates may be lost

Overview ● Background ● Motivation and Goals ● Implementation ● Wrap Up

An Experiment To Measure Latency ● Using PlanetLab, we measured the time it took for a new Object in S3 ● To become readable ● To appear in the Bucket's list of contents ● For each PlanetLab site, we record the earliest and latest possible time that the Object could have become accessible at the site

Bucket List Time To Availability (s)

Design Goals ● Strong consistency guarantees ● A successful commit means changes are globally available ● There is a single canonical directory structure and a single canonical version for every object ● Prevent write conflicts ● Locking – don't assume that updates can commute ● Notify users of potential and actual changes to checked out files and directories

Overview ● Background ● Motivation and Goals ● Implementation ● Wrap Up

Architecture Amazon S3 Client Master Client

S3's Role /foo/bar/file.txt Bucket /tmp.txtconfig

S3's Role /foo/bar/file.txt Bucket /tmp.txtconfig Version ID (S3): P6L2hOMowwhpT1mtliXCMjoh0Wfh1FbF Hash (wingu): IlljY7PeQLBvmB+4XYIxLowO1RE= Written By (wingu): craig on wintermute.myisp.net

S3's Role /foo/bar/tmp.txt Bucket /tmp.txtconfig Version: Version: Version: 32323

Client's Role /file1.txt : 'r' /dir : 'r' /dir/file2.bin : 'w'... Map of Paths to LocksMount Point /mnt/s3

Master's Role Directory Tree user1 user2 user3... List of Connected Clients

Master's Role: Checkout For Read Directory TreeList of Connected Clients r rr r user1 user2 user3...

Master's Role: Lock For Write Directory TreeList of Connected Clients w rr r user1 user2 user3...

Master's Role: Lock For Write Directory TreeList of Connected Clients w rr r user1 user2 user3... readerswriter queued writers

Master's Role Directory TreeList of Connected Clients user1 user2 user3...

Master's Role Directory TreeList of Connected Clients user1 user2 user3... cached queuedlocked

Updates ClientMasterS3Readers Ask for write lock Acquire write lock Write Get version ID Update notification Success Visible? Hashes match? Success Notify all readers

Error Handling ● Many errors can be detected by the client using only local knowledge ● Errors or failures detected on the master don't alter the canonical state – the system always remains consistent and synchronized ● Errors detected on the master are reported to the originating client

Design Goals ● Strong consistency guarantees ● A successful commit means changes are globally available ● There is a single canonical directory structure and a single canonical version for every object ● Prevent write conflicts ● Locking – don't assume that updates can commute ● Notify users of potential and actual changes to checked out files and directories

Overview ● Background ● Motivation and Goals ● Implementation ● Wrap Up

Summary ● Amazon S3 consistency is weak ● Wingu provides a consistency management layer ● A single master safely synchronizes all access to a shared S3 Bucket

Conclusions ● Strong consistency can be built on top of weakly consistent systems ● A single master adds little overhead ● Traffic and processing for synchronization is a small fraction of that for actual storage ● Explicit Locking Has Pros and Cons ● Pro: no conflicting writes for any data type ● Con: reduced concurrency if writes can commute

Questions? Presentation made with Open Office Impress

Use Case For Shared Cloud Storage ● Users may check out all or part of a shared directory tree ● No conflicting updates ● User is notified when a checked-out file or directory changes ● Names of objects in S3 match directory structure ● Allows back-door read-only access

Existing Systems ● s3ql – a FUSE module backed by s3 ● Doesn't handle multiple simultaneous users ● Block oriented – doesn't map to a conventional directory structure ● Distributed Version Control (e.g. git, mercurial) ● Optimistic concurrency – updates may commute, but some conflicts require human intervention to resolve ● Can check out only needed subtrees

Read of Object Time To Availability (s)