CS425 / CSE424 / ECE428 — Distributed Systems — Fall 2011 Some material derived from slides by Prashant Shenoy (Umass) & courses.washington.edu/css434/students/Coda.ppt.

Slides:



Advertisements
Similar presentations
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed File Systems.
Advertisements

Replication Management. Motivations for Replication Performance enhancement Increased availability Fault tolerance.
Ch 9 – Distributed Filesystem Reading Assignment – Summary due 10/18 (CODA paper) Goals –Network Transparency – you don’t know where in the system the.
CODA/AFS (Constant Data Availability)
Overview of Mobile Computing (3): File System. File System for Mobile Computing Issues for file system design in wireless and mobile environments Design.
G Robert Grimm New York University Disconnected Operation in the Coda File System.
Disconnected Operation in the Coda File System James J. Kistler and M. Satyanarayanan Carnegie Mellon University Presented by Deepak Mehtani.
Disconnected Operation in the Coda File System James J. Kistler and M. Satyanarayanan Carnegie Mellon University Presented by Cong.
Coda file system: Disconnected operation By Wallis Chau May 7, 2003.
Computer Science Lecture 21, page 1 CS677: Distributed OS Today: Coda, xFS Case Study: Coda File System Brief overview of other recent file systems –xFS.
Toolkits for Building Mobile Systems 3/28/2002 Michael Ferguson
Disconnected Operation In The Coda File System James J Kistler & M Satyanarayanan Carnegie Mellon University Presented By Prashanth L Anmol N M Yulong.
Concurrency Control & Caching Consistency Issues and Survey Dingshan He November 18, 2002.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Jeff Chheng Jun Du.  Distributed file system  Designed for scalability, security, and high availability  Descendant of version 2 of Andrew File System.
Distributed File System: Data Storage for Networks Large and Small Pei Cao Cisco Systems, Inc.
Mobility Presented by: Mohamed Elhawary. Mobility Distributed file systems increase availability Remote failures may cause serious troubles Server replication.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
Client-Server Computing in Mobile Environments
SubVersioN – the new Central Service at DESY by Marian Gawron.
NovaBACKUP 10 xSP Technical Training By: Nathan Fouarge
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
Distributed Systems Principles and Paradigms Chapter 10 Distributed File Systems 01 Introduction 02 Communication 03 Processes 04 Naming 05 Synchronization.
Mobility in Distributed Computing With Special Emphasis on Data Mobility.
Replication ( ) by Ramya Balakumar
Distributed File Systems Case Studies: Sprite Coda.
Version Control Systems academy.zariba.com 1. Lecture Content 1.What is Software Configuration Management? 2.Version Control Systems (VCS) 3.Basic Git.
Git workflow and basic commands By: Anuj Sharma. Why git? Git is a distributed revision control system with an emphasis on speed, data integrity, and.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Replication March 16, Replication What is Replication?  A technique for increasing availability, fault tolerance and sometimes, performance 
Distributed File Systems Overview  A file system is an abstract data type – an abstraction of a storage device.  A distributed file system is available.
Computer Science and Engineering The Ohio State University  Widely used, especially in the opensource community, to track all changes to a project and.
Introduction to Version Control with Git CSC/ECE 517, Fall 2014 A joint project of the CSC/ECE 517 staff, including Titus Barik, Gaurav Tungatkar, Govind.
DISCONNECTED OPERATION IN THE CODA FILE SYSTEM J. J. Kistler M. Sataynarayanan Carnegie-Mellon University.
CS 525M – Mobile and Ubiquitous Computing Seminar Bradley Momberger.
CODA: A HIGHLY AVAILABLE FILE SYSTEM FOR A DISTRIBUTED WORKSTATION ENVIRONMENT M. Satyanarayanan, J. J. Kistler, P. Kumar, M. E. Okasaki, E. H. Siegel,
IM NTU Distributed Information Systems 2004 Replication Management -- 1 Replication Management Yih-Kuen Tsay Dept. of Information Management National Taiwan.
Mobile File System Byung Chul Tak. AFS  Andrew File System Distributed computing environment developed at CMU provides transparent access to remote shared.
Mobile Data Access1 Replication, Caching, Prefetching and Hoarding for Mobile Computing.
Distributed File Systems
Information/File Access and Sharing Coda: A Case Study J. Kistler, M. Satyanarayanan. Disconnected operation in the Coda File System. ACM Transaction on.
GIT.
Write Conflicts in Optimistic Replication Problem: replicas may accept conflicting writes. How to detect/resolve the conflicts? client B client A replica.
Version Control System
Outline for Today’s Lecture Administrative: Objective: –Disconnection in file systems –Energy management.
Introduction to Distributed Databases Yiwei Wu. Introduction A distributed database is a database in which portions of the database are stored on multiple.
Version Control and SVN ECE 297. Why Do We Need Version Control?
11.6 Distributed File Systems Consistency and Replication Xiaolong Wu Instructor: Dr Yanqing Zhang Advanced Operating System.
Highly Available Services and Transactions with Replicated Data Jason Lenthe.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last class: Distributed File Systems Issues in distributed file systems Sun’s Network File System.
THE EVOLUTION OF CODA M. Satyanarayanan Carnegie-Mellon University.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Feb 22, 2001CSCI {4,6}900: Ubiquitous Computing1 Announcements Send today with people in your project group. People seem to be dropping off and I.
Mobility Victoria Krafft CS /25/05. General Idea People and their machines move around Machines want to share data Networks and machines fail Network.
Git workflows: using multiple branches for parallel development SE-2800 Dr. Mark L. Hornick 1.
DISTRIBUTED FILE SYSTEM- ENHANCEMENT AND FURTHER DEVELOPMENT BY:- PALLAWI(10BIT0033)
Mobile File Systems.
Information Systems and Network Engineering Laboratory II
Coda / AFS Thomas Brown Albert Ng.
Nomadic File Systems Uri Moszkowicz 05/02/02.
Chapter 25: Advanced Data Types and New Applications
Disconnected Operation in the Coda File System
Version Control System
Akshay Narayan git up to speed with RCS Akshay Narayan
Presented By Abhishek Khaitan Adhip Joshi
Today: Coda, xFS Case Study: Coda File System
Git GitHub.
System-Level Support CIS 640.
Presentation transcript:

CS425 / CSE424 / ECE428 — Distributed Systems — Fall 2011 Some material derived from slides by Prashant Shenoy (Umass) & courses.washington.edu/css434/students/Coda.ppt Nikita Borisov - UIUC1

CODA Distributed revision control Nikita Borisov - UIUC2

 Assumptions  Clients have disks  Read/write & write/write conflicts are rare  Techniques  Whole-file long-term caching  Leases / promises to operate w/o server contact for 15 minutes CODA idea: extend to longer than 15 minutes Nikita Borisov - UIUC3

 Many replicas  Servers: 1 st class replicas ▪ Unlike AFS, more than one, even with read/write  Clients: 2 nd class replicas  Each volume has a volume server group (VSG)  Available VSG (AVSG): reachable members of VSG  AVSG = VSG (Normal operation)  AVSG ⊊ VSG (Partition)  AVSG = ∅ (Disconnected operation) Nikita Borisov - UIUC4

 Three states:  Hoarding: cache files aggressively  Emulation: operate in disconnected mode, satisfy read/write requests from cache  Reintegration: propagate local changes back to servers Nikita Borisov - UIUC5

 Occurs during normal, connected operation  Add to cache:  Files that are accessed  Files in Hoard Database (HDB) – user specified  Maintain leases (promises) on cached files  On lease break:  Immediately fetch new file?  Wait until next reference? Nikita Borisov - UIUC6

 Periodically (every 10 minutes)  Walk cache & hoard database  Refresh any invalidated files ▪ If not refreshed on demand  Restore equilibrium in cache  Priorities  HDB specifies hard-coded priorities  Recently access files obtain (decaying) priority  Equilibrium: pri(file in cache) > pri(file not in cache) Nikita Borisov - UIUC7

 Callback break only after close Nikita Borisov - UIUC

 Local cache emulates server  Serves files from cache ▪ Cache miss = error  Performs access checks  Stores writes in replay log  Replay log  Stored in Recoverable Virtual Memory (stable storage)  History of directory operations  Last write to a file (remember, whole file update semantics) Nikita Borisov - UIUC9

 Replay changes stored in log  Merge directory operations  Execute (last) file storage operation  Update cached files based on server version  Conflicts (write/write only)  Abort reintegration  Send log for user for manual resolution  “Future thoughts”  Automatic conflict resolvers  Unit of integration < volume Nikita Borisov - UIUC10

 A successful open means:  The file received is the latest version.  Or there was 1+ lost callbacks and the file received is the latest version within the t seconds of a Venus server probe.  Or the client is disconnected but the file is cached  A failed open means:  There is a conflict that must be manually resolved  Or the client is disconnected and the file is not cached Nikita Borisov - UIUC11

 A successful Close means:  All members of the AVSG have received the latest version of the file.  Or the client is disconnected.  A failed Close means:  There is a conflict in the AVSG that must be manually resolved ▪ Because the file originally received was not current ▪ Or because the AVSG expanded and gained a modifed version of the file  A Close will always succeed if the client is disconnected Nikita Borisov - UIUC12

 Consistency strategy:  Read one/write all  Available copies replication  For reads: preferred server (based on latency, load, etc.)  For writes: all servers in AVSG Nikita Borisov - UIUC13

 Each file has a Coda Version Vector (CVV)  Incremented by each server at each update  E.g., initial value: [1,1,1]  Write to servers 1,2: [2,2,1]  Write to server 3 [1,1,2]  At reconnection:  [1,1,2] and [2,2,1] => conflict  Manual resolution! Nikita Borisov - UIUC14

 Enable disconnected operation & handle partitions  Use optimistic cache consistency  Manual conflict resolution  Assumption (validated): write/write conflicts are rare  What if they aren’t? Nikita Borisov - UIUC15

 Used for managing large software projects  Properties:  Many developers: frequent write/write conflicts  Changes both fix & introduce bugs ▪ Useful to “unroll” changes ▪ Useful to keep history of files Nikita Borisov - UIUC16

 Revision Control System (RCS)  Pessimistic sharing workflow  co file [locks copy]  [edit file]  ci file [commits changes, unlocks copy]  Unit of control: single file  Storage: single filesystem Nikita Borisov - UIUC17

 Based on RCS, but more “advanced”  Unit of control: directory  Client-server architecture  Optimistic sharing workflow:  Checkout [no lock, done once]  Update [receive latest version]  Edit  Commit  If conflict  Edit  Commit => conflict  Update – merge changes  Commit Nikita Borisov - UIUC18

 Mostly automated  Maintain diffs / patches between versions  Record context of edits  Replay edits if context can be identifies  Conflicts still exist  But more rare  To be resolved manually Nikita Borisov - UIUC19

 Every copy is a full repository  Peer-to-peer architecture  Revisions committed to local copy  “Replay log” maintained locally  Bi-directional exchange of changes  Between any two repositories  Complex workflow possible Nikita Borisov - UIUC20

 Obtain local copy:  git clone repository-url  Make local edits  edit  git commit  edit  git commit  Update local copy  git pull repository  Merge any remote and local changes  Update remote copy  git push repository Nikita Borisov - UIUC21

 Branching  Rebasing  Tags  … Nikita Borisov - UIUC22