Computer Science Lecture 19, page 1 CS677: Distributed OS Last class: Distributed File Systems Issues in distributed file systems Sun’s Network File System.

Slides:



Advertisements
Similar presentations
DISTRIBUTED FILE SYSTEMS Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2013.
Advertisements

Computer Science Lecture 20, page 1 CS677: Distributed OS Today: Coda, xFS Case Study: Coda File System Brief overview of other recent file systems –xFS.
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.
1 Network File System (NFS) a)The remote access model. b)The upload/download model.
Computer Science Lecture 20, page 1 CS677: Distributed OS Today: Distributed File Systems Issues in distributed file systems Sun’s Network File System.
G Robert Grimm New York University Disconnected Operation in the Coda File System.
Distributed File Systems Chapter 11
Disconnected Operation in the Coda File System James J. Kistler and M. Satyanarayanan Carnegie Mellon University Presented by Deepak Mehtani.
Coda file system: Disconnected operation By Wallis Chau May 7, 2003.
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.
1 CS 194: Distributed Systems Distributed File Systems Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and.
Distributed File Systems Chapter 10. NFS Architecture (1) a)The remote access model. b)The upload/download model.
Distributed File System: Design Comparisons II Pei Cao Cisco Systems, Inc.
Concurrency Control & Caching Consistency Issues and Survey Dingshan He November 18, 2002.
Distributed Systems CS Distributed File Systems- Part II Lecture 20, Nov 16, 2011 Majd F. Sakr, Mohammad Hammoud andVinay Kolar 1.
Jeff Chheng Jun Du.  Distributed file system  Designed for scalability, security, and high availability  Descendant of version 2 of Andrew File System.
Sun NFS Distributed File System Presentation by Jeff Graham and David Larsen.
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.
Coda Descendant of AFS Developed by Mahadev Satyanarayanan and coworkers at Carnegie-Mellon University since 1987 Open Source advanced caching schemes.
Distributed Systems Principles and Paradigms Chapter 10 Distributed File Systems 01 Introduction 02 Communication 03 Processes 04 Naming 05 Synchronization.
Networked File System CS Introduction to Operating Systems.
Distributed Systems. Interprocess Communication (IPC) Processes are either independent or cooperating – Threads provide a gray area – Cooperating processes.
Distributed File Systems
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.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Introduction to DFS. Distributed File Systems A file system whose clients, servers and storage devices are dispersed among the machines of a distributed.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
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,
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
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.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last Class: Fault tolerance Reliable communication –One-one communication –One-many communication.
CS425 / CSE424 / ECE428 — Distributed Systems — Fall 2011 Some material derived from slides by Prashant Shenoy (Umass) & courses.washington.edu/css434/students/Coda.ppt.
Distributed File Systems Chapter 10. NFS Architecture (1) a)The remote access model. b)The upload/download model Advantages or disadvantages?
Distributed File Systems Group A5 Amit Sharma Dhaval Sanghvi Ali Abbas.
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.
Synchronization in Distributed File Systems Advanced Operating System Zhuoli Lin Professor Zhang.
THE EVOLUTION OF CODA M. Satyanarayanan Carnegie-Mellon University.
Chapter Five Distributed file systems. 2 Contents Distributed file system design Distributed file system implementation Trends in distributed file systems.
Distributed Systems: Distributed File Systems Ghada Ahmed, PhD. Assistant Prof., Computer Science Dept. Web:
Computer Science Lecture 20, page 1 CS677: Distributed OS Today: Distributed File Systems Issues in distributed file systems Sun’s Network File System.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last Class: Fault tolerance Reliable communication –One-one communication –One-many communication.
Truly Distributed File Systems Paul Timmins CS 535.
Mobility Victoria Krafft CS /25/05. General Idea People and their machines move around Machines want to share data Networks and machines fail Network.
Nomadic File Systems Uri Moszkowicz 05/02/02.
Distributed File Systems
Synchronization in Distributed File System
NFS and AFS Adapted from slides by Ed Lazowska, Hank Levy, Andrea and Remzi Arpaci-Dussea, Michael Swift.
Distributed Systems CS
Distributed Systems CS
Today: Coda, xFS Case Study: Coda File System
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Distributed File Systems
Distributed File Systems
Outline Announcements Lab2 Distributed File Systems 1/17/2019 COP5611.
Distributed File Systems
Today: Distributed File Systems
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Outline Review of Quiz #1 Distributed File Systems 4/20/2019 COP5611.
Distributed File Systems
Distributed File Systems
Distributed File Systems
Presentation transcript:

Computer Science Lecture 19, page 1 CS677: Distributed OS Last class: Distributed File Systems Issues in distributed file systems Sun’s Network File System case study

Computer Science Lecture 19, page 2 CS677: Distributed OS Today: NFS, Coda Case Study: NFS (continued) Case Study: Coda File System

Computer Science Lecture 19, page 3 CS677: Distributed OS Semantics of File Sharing a)On a single processor, when a read follows a write, the value returned by the read is the value just written. b)In a distributed system with caching, obsolete values may be returned.

Computer Science Lecture 19, page 4 CS677: Distributed OS Semantics of File Sharing Four ways of dealing with the shared files in a distributed system. –NFS implements session semantics Can use remote/access model for providing UNIX semantics (expensive) Most implementations use local caches for performance and provide session semantics MethodComment UNIX semanticsEvery operation on a file is instantly visible to all processes Session semanticsNo changes are visible to other processes until the file is closed Immutable filesNo updates are possible; simplifies sharing and replication TransactionAll changes occur atomically

Computer Science Lecture 19, page 5 CS677: Distributed OS File Locking in NFS NFS supports file locking Applications can use locks to ensure consistency Locking was not part of NFS until version 3 NFS v4 supports locking as part of the protocol (see above table) OperationDescription LockCreates a lock for a range of bytes (non-blocking_ LocktTest whether a conflicting lock has been granted LockuRemove a lock from a range of bytes RenewRenew the lease on a specified lock

Computer Science Lecture 19, page 6 CS677: Distributed OS File Locking: Share Reservations The result of an open operation with share reservations in NFS. a)When the client requests shared access given the current denial state. b)When the client requests a denial state given the current file access state. Current file denial state NONEREADWRITEBOTH READSucceedFailSucceedFail WRITESucceed Fail BOTHSucceedFail (a) Requested file denial state NONEREADWRITEBOTH READSucceedFailSucceedFail WRITESucceed Fail BOTHSucceedFail (b) Request access Current access state

Computer Science Lecture 19, page 7 CS677: Distributed OS Client Caching Client-side caching is left to the implementation (NFS does not prohibit it) –Different implementation use different caching policies Sun: allow cache data to be stale for up to 30 seconds

Computer Science Lecture 19, page 8 CS677: Distributed OS Client Caching: Delegation NFS V4 supports open delegation –Server delegates local open and close requests to the NFS client –Uses a callback mechanism to recall file delegation.

Computer Science Lecture 19, page 9 CS677: Distributed OS RPC Failures Three situations for handling retransmissions: use a duplicate request cache a)The request is still in progress b)The reply has just been returned c)The reply has been some time ago, but was lost. Use a duplicate-request cache: transaction Ids on RPCs, results cached

Computer Science Lecture 19, page 10 CS677: Distributed OS Security The NFS security architecture. –Simplest case: user ID, group ID authentication only

Computer Science Lecture 19, page 11 CS677: Distributed OS Secure RPCs Secure RPC in NFS version 4.

Computer Science Lecture 19, page 12 CS677: Distributed OS Replica Servers NFS ver 4 supports replications Entire file systems must be replicated FS_LOCATION attribute for each file Replicated servers: implementation specific

Computer Science Lecture 19, page 13 CS677: Distributed OS Coda Coda: descendent of the Andrew file system at CMU –Andrew designed to serve a large (global community) Salient features: –Support for disconnected operations Desirable for mobile users –Support for a large number of users

Computer Science Lecture 19, page 14 CS677: Distributed OS Overview of Coda Centrally administered Vice file servers Large number of virtue clients

Computer Science Lecture 19, page 15 CS677: Distributed OS Virtue: Coda Clients The internal organization of a Virtue workstation. –Designed to allow access to files even if server is unavailable –Uses VFS and appears like a traditional Unix file system

Computer Science Lecture 19, page 16 CS677: Distributed OS Communication in Coda Coda uses RPC2: a sophisticated reliable RPC system –Start a new thread for each request, server periodically informs client it is still working on the request RPC2 supports side-effects: application-specific protocols –Useful for video streaming [where RPCs are less useful] RPC2 also has multicast support

Computer Science Lecture 19, page 17 CS677: Distributed OS Communication: Invalidations a)Sending an invalidation message one at a time. b)Sending invalidation messages in parallel. Can use MultiRPCs [Parallel RPCs] or use Multicast - Fully transparent to the caller and callee [looks like normal RPC]

Computer Science Lecture 19, page 18 CS677: Distributed OS Naming Clients in Coda have access to a single shared name space Files are grouped into volumes [partial subtree in the directory structure] –Volume is the basic unit of mounting –Namespace: /afs/filesrv.cs.umass.edu [same namespace on all client; different from NFS] –Name lookup can cross mount points: support for detecting crossing and automounts

Computer Science Lecture 19, page 19 CS677: Distributed OS File Identifiers Each file in Coda belongs to exactly one volume –Volume may be replicated across several servers –Multiple logical (replicated) volumes map to the same physical volume –96 bit file identifier = 32 bit RVID + 64 bit file handle

Computer Science Lecture 19, page 20 CS677: Distributed OS Sharing Files in Coda Transactional behavior for sharing files: similar to share reservations in NFS –File open: transfer entire file to client machine [similar to delegation] –Uses session semantics: each session is like a transaction Updates are sent back to the server only when the file is closed

Computer Science Lecture 19, page 21 CS677: Distributed OS Transactional Semantics Network partition: part of network isolated from rest –Allow conflicting operations on replicas across file partitions –Reconcile upon reconnection –Transactional semantics => operations must be serializable Ensure that operations were serializable after thay have executed –Conflict => force manual reconciliation File-associated dataRead?Modified? File identifierYesNo Access rightsYesNo Last modification timeYes File lengthYes File contentsYes

Computer Science Lecture 19, page 22 CS677: Distributed OS Client Caching Cache consistency maintained using callbacks –Server tracks all clients that have a copy of the file [provide callback promise] –Upon modification: send invalidate to clients

Computer Science Lecture 19, page 23 CS677: Distributed OS Server Replication Use replicated writes: read-once write-all –Writes are sent to all AVSG (all accessible replicas) How to handle network partitions? –Use optimistic strategy for replication –Detect conflicts using a Coda version vector –Example: [2,2,1] and [1,1,2] is a conflict => manual reconciliation

Computer Science Lecture 19, page 24 CS677: Distributed OS Disconnected Operation The state-transition diagram of a Coda client with respect to a volume. Use hoarding to provide file access during disconnection –Prefetch all files that may be accessed and cache (hoard) locally –If AVSG=0, go to emulation mode and reintegrate upon reconnection