Distributed File Systems Case Studies: Sprite Coda.

Slides:



Advertisements
Similar presentations
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Lecture 23: Distributed-File Systems (Chapter 17)
Advertisements

Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed File Systems.
Ch 9 – Distributed Filesystem Reading Assignment – Summary due 10/18 (CODA paper) Goals –Network Transparency – you don’t know where in the system the.
CS-550: Distributed File Systems [SiS]1 Resource Management in Distributed Systems: Distributed File Systems.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
CODA/AFS (Constant Data Availability)
Distributed File Systems CS 3100 Distributed File Systems1.
G Robert Grimm New York University Disconnected Operation in the Coda File System.
Copyright © Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE CS582: Distributed Systems Lecture 13, 14 -
Distributed File Systems Chapter 11
Distributed Systems 2006 Styles of Client/Server Computing.
Coda file system: Disconnected operation By Wallis Chau May 7, 2003.
Other File Systems: LFS and NFS. 2 Log-Structured File Systems The trend: CPUs are faster, RAM & caches are bigger –So, a lot of reads do not require.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Other File Systems: AFS, Napster. 2 Recap NFS: –Server exposes one or more directories Client accesses them by mounting the directories –Stateless server.
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.
Chapter 17: Distributed-File Systems Part Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 17 Distributed-File Systems Chapter.
1 CS 194: Distributed Systems Distributed File Systems Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and.
Disconnected Operation In The Coda File System James J Kistler & M Satyanarayanan Carnegie Mellon University Presented By Prashanth L Anmol N M Yulong.
G Robert Grimm New York University Scale and Performance in Distributed File Systems: AFS and SpriteFS.
Concurrency Control & Caching Consistency Issues and Survey Dingshan He November 18, 2002.
Jeff Chheng Jun Du.  Distributed file system  Designed for scalability, security, and high availability  Descendant of version 2 of Andrew File System.
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
University of Pennsylvania 11/21/00CSE 3801 Distributed File Systems CSE 380 Lecture Note 14 Insup Lee.
Lecture 23 The Andrew File System. NFS Architecture client File Server Local FS RPC.
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google∗
Distributed File Systems Concepts & Overview. Goals and Criteria Goal: present to a user a coherent, efficient, and manageable system for long-term data.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Distributed File Systems Steve Ko Computer Sciences and Engineering University at Buffalo.
Distributed System.
Distributed Systems Principles and Paradigms Chapter 10 Distributed File Systems 01 Introduction 02 Communication 03 Processes 04 Naming 05 Synchronization.
Distributed File Systems 1 CS502 Spring 2006 Distributed Files Systems CS-502 Operating Systems Spring 2006.
Advanced Operating Systems - Spring 2009 Lecture 21 – Monday April 6 st, 2009 Dan C. Marinescu Office: HEC 439 B. Office.
Distributed File Systems
1 10/2/2015 Chapter 16 Distributed-File Systems 此章不作上课内容 l Background l Naming and Transparency l Remote File Access l Stateful versus Stateless Service.
Replication ( ) by Ramya Balakumar
Distributed File Systems Distributed file system (DFS) – a distributed implementation of the classical time-sharing model of a file system, where multiple.
Distributed File Systems Overview  A file system is an abstract data type – an abstraction of a storage device.  A distributed file system is available.
Chapter 20 Distributed File Systems Copyright © 2008.
What is a Distributed File System?? Allows transparent access to remote files over a network. Examples: Network File System (NFS) by Sun Microsystems.
Introduction to DFS. Distributed File Systems A file system whose clients, servers and storage devices are dispersed among the machines of a distributed.
DISCONNECTED OPERATION IN THE CODA FILE SYSTEM J. J. Kistler M. Sataynarayanan Carnegie-Mellon University.
CODA: A HIGHLY AVAILABLE FILE SYSTEM FOR A DISTRIBUTED WORKSTATION ENVIRONMENT M. Satyanarayanan, J. J. Kistler, P. Kumar, M. E. Okasaki, E. H. Siegel,
Mobile File System Byung Chul Tak. AFS  Andrew File System Distributed computing environment developed at CMU provides transparent access to remote shared.
Presented By: Samreen Tahir Coda is a network file system and a descendent of the Andrew File System 2. It was designed to be: Highly Highly secure Available.
Jinyong Yoon,  Andrew File System  The Prototype  Changes for Performance  Effect of Changes for Performance  Comparison with A Remote-Open.
CS425 / CSE424 / ECE428 — Distributed Systems — Fall 2011 Some material derived from slides by Prashant Shenoy (Umass) & courses.washington.edu/css434/students/Coda.ppt.
Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Advanced Operating Systems Lecture.
Caching in the Sprite Network File System Scale and Performance in a Distributed File System COMP 520 September 21, 2004.
Distributed File Systems
ENERGY-EFFICIENCY AND STORAGE FLEXIBILITY IN THE BLUE FILE SYSTEM E. B. Nightingale and J. Flinn University of Michigan.
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
Distributed File Systems Group A5 Amit Sharma Dhaval Sanghvi Ali Abbas.
11.6 Distributed File Systems Consistency and Replication Xiaolong Wu Instructor: Dr Yanqing Zhang Advanced Operating System.
Distributed File Systems Questions answered in this lecture: Why are distributed file systems useful? What is difficult about distributed file systems?
Highly Available Services and Transactions with Replicated Data Jason Lenthe.
THE EVOLUTION OF CODA M. Satyanarayanan Carnegie-Mellon University.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 16 Distributed-File Systems Background Naming and Transparency Remote File.
Mobility Victoria Krafft CS /25/05. General Idea People and their machines move around Machines want to share data Networks and machines fail Network.
DISTRIBUTED FILE SYSTEM- ENHANCEMENT AND FURTHER DEVELOPMENT BY:- PALLAWI(10BIT0033)
Coda / AFS Thomas Brown Albert Ng.
Andrew File System (AFS)
Advanced Operating Systems Chapter 11 Distributed File systems 11
Today: Coda, xFS Case Study: Coda File System
Distributed File Systems
Distributed File Systems
CSE 451: Operating Systems Spring Module 21 Distributed File Systems
Distributed File Systems
University of Southern California Information Sciences Institute
Distributed File Systems
Distributed File Systems
Presentation transcript:

Distributed File Systems Case Studies: Sprite Coda

Sprite (SFS) Provides identical file hierarchy to all users Location transparency Pathname lookup using a prefix table –Lookup simpler and more efficient –Allows dynamic reconfiguration Caching –Client-caching in main memory –Delayed write policy

Name Lookup in Sprite Remote link (Server, Domain) m n (Y, D 4 ) / abc g hi ( X, D 1 ) jk ( Z, D 3 ) ( X, D 2 ) def PrefixServerToken /XD1D1 /aXD2D2 /c/iZD3D3 /c/i/jYD4D4 Prefix Table A specially marked file containing its own name.

Constructing the Prefix Tables PrefixServerToken /XD1D1 open /c/i/k ( open, /c/i/k, D 1 ) X ( /c/i, remote link) ( find-prefix, /c/I ) broadcast (/c/i, Z, D3) PrefixServerToken /XD1D1 /c/iZ D3D3 Z ( open, k, D 3 ) (file-designator) update find client

Prefix Table Advantages Efficient name lookup (in comparison to component-at-a- time lookup as in NFS) Added fault tolerance (once an entry for a domain is loaded in the prefix table of a client, that client can access files in the domain regardless of failures to other servers) Allows dynamic reconfiguration (if a known server stops responding, broadcast the path again to find its new location) Permits private domains (a client adds to its prefix table the path to the root of the private subtree and refuses to respond to broadcast requests for that path name)

Caching in Sprite Client memory cache of accessed disk blocks Empirical observations –20-30% of new data is deleted within 30 s –75% of files are open for less than 0.5 s –90% of all files are open for less than 10 s Delayed write policy –Check by daemon every 5 s –Changed blocks not accessed for 30 s are written back to server (or if ejected from cache by LRU policy) –Transfer from server cache to server disk in 30 s to 60 s

Cache Consistency Server-initiated invalidation Concurrent write sharing –Detected at open of second write –Server notifies client with write access to flush all modified blocks to server –Server notifies all clients that the file is no longer cachable Sequential write sharing –Each file has a version number incremented at each open for write access –Version number allows client to detect outdated blocks –Server maintains identify of last client with write access –When file is opened, last writer is asked to flush to the server any modified blocks

CODA Derived from Andrew File System (AFS) Single location-transparent UNIX file system Scalability in CODA –Small set of trusted servers used for file storage/management –Caching; cache coherence through callbacks –Whole-file philosophy Entire file is transfered to client on open Entire file is cached in client Infrequent updating of shared files Working set of typical user fits into cache Additional CODA goals –Support for disconnected operations –Greater reliability/availability vs. AFS –Relaxed emulation of UNIX semantics

CODA Architecture local file system virtual file system User program Venus RPC stub Vice RPC Stub

Opening a File User process issues open(FileName, mode) call UNIX kernel passes request to Venus. Venus check if file is in cache. If not, or no valid callback promise, retrieve file from Vice Vice copies file to Venus, with a callback promise. Logs callback promise. Venus places copy of file in local cache. Unix kernel opens file and returns file descriptor to application.

Volumes and Replication Volume –Directory sub-tree –Unit of replication –Volume storage group (VSG) – set of servers hosting a given volume –Accessible VSG (AVSG) – currently accessible subset of VSG –Expansion/contraction of AVSG detected by periodic probes –The AVSG for each cached file is recorded by client File identifier –Unique internal identifier for each file/directory –FID = (volume#, vnode#, uniquifier) –Does not contain location information –Replicas of a file have the same file identifier –Directory entry: Volume location database –Replicated on each server –Used to locate volumes/files

Replication and Caching Actions on a cache-miss –Retrieve data from a preferred server (PS) in AVSG –Collect status/version information from all servers in AVSG –If replicas are in conflict – abort –If some replicas are stale – notify AVSG asynchronously –If PS is stale – select new PS When file is returned –Cache file on client –Cache location information –Establish callback on server On close after modification –Transfer file to all members of AVSG

Replica Management A storeid = is associated with each file modification that the client performs on a server Each server conceptually maintains an update history of storeids The most recent storeid is the lastest storeid (LSID) Replicas on A and B are: –Equal: if LSID A = LSID B –A dominates B: LSID’s are different and LSID B is in A’s history –A is submissive to B: LSID’s are different and LSID A is in B’s history –A and B are inconsistent, otherwise

History Approximation It is impractical to maintain the entire history The history of each replica is represented by the history’s length Each replica maintains a vector (CVV – coda version vector) recording the length of each replica’s history Two replicas are compared as follows: –Strong equality: LSID A = LSID B and CVV A = CVV B –Weak equality: LSID A = LSID B and CVV A != CVV B –Dominance/submission: LSID A != LSID B and CVV A >= CVV B –Inconsistent: otherwise