Ch 9 – Distributed Filesystem Reading Assignment – Summary due 10/18 (CODA paper) Goals –Network Transparency – you don’t know where in the system the.

Slides:



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

Serverless Network File Systems. Network File Systems Allow sharing among independent file systems in a transparent manner Mounting a remote directory.
CS-550: Distributed File Systems [SiS]1 Resource Management in Distributed Systems: Distributed File Systems.
CODA/AFS (Constant Data Availability)
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 -
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.
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.
Distributed Resource Management: Distributed Shared Memory
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.
Jeff Chheng Jun Du.  Distributed file system  Designed for scalability, security, and high availability  Descendant of version 2 of Andrew File System.
PRASHANTHI NARAYAN NETTEM.
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.
Client-Server Computing in Mobile Environments
Multiprocessor Cache Coherency
Case Study - GFS.
Distributed File Systems Sarah Diesburg Operating Systems CS 3430.
Lecture 23 The Andrew File System. NFS Architecture client File Server Local FS RPC.
Distributed File Systems Concepts & Overview. Goals and Criteria Goal: present to a user a coherent, efficient, and manageable system for long-term data.
Distributed Systems Principles and Paradigms Chapter 10 Distributed File Systems 01 Introduction 02 Communication 03 Processes 04 Naming 05 Synchronization.
Advanced Operating Systems - Spring 2009 Lecture 21 – Monday April 6 st, 2009 Dan C. Marinescu Office: HEC 439 B. Office.
Distributed File Systems
Distributed File Systems Case Studies: Sprite Coda.
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.
Introduction to DFS. Distributed File Systems A file system whose clients, servers and storage devices are dispersed among the machines of a distributed.
Serverless Network File Systems Overview by Joseph Thompson.
Ch 10 Shared memory via message passing Problems –Explicit user action needed –Address spaces are distinct –Small Granularity of Transfer Distributed Shared.
CODA: A HIGHLY AVAILABLE FILE SYSTEM FOR A DISTRIBUTED WORKSTATION ENVIRONMENT M. Satyanarayanan, J. J. Kistler, P. Kumar, M. E. Okasaki, E. H. Siegel,
Eduardo Gutarra Velez. Outline Distributed Filesystems Motivation Google Filesystem Architecture The Metadata Consistency Model File Mutation.
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.
Caching in the Sprite Network File System Scale and Performance in a Distributed File System COMP 520 September 21, 2004.
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.
Write Conflicts in Optimistic Replication Problem: replicas may accept conflicting writes. How to detect/resolve the conflicts? client B client A replica.
Lecture 25 The Andrew File System. NFS Architecture client File Server Local FS RPC.
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.
THE EVOLUTION OF CODA M. Satyanarayanan Carnegie-Mellon University.
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.
Nomadic File Systems Uri Moszkowicz 05/02/02.
Distributed File Systems
Andrew File System (AFS)
CSE-291 (Cloud Computing) Fall 2016
Multiprocessor Cache Coherency
NFS and AFS Adapted from slides by Ed Lazowska, Hank Levy, Andrea and Remzi Arpaci-Dussea, Michael Swift.
Outline Midterm results summary Distributed file systems – continued
Advanced Operating Systems Chapter 11 Distributed File systems 11
Today: Coda, xFS Case Study: Coda File System
CSE 451: Operating Systems Winter Module 22 Distributed File Systems
Distributed File Systems
Distributed File Systems
Outline Announcements Lab2 Distributed File Systems 1/17/2019 COP5611.
CSE 451: Operating Systems Spring Module 21 Distributed File Systems
Distributed File Systems
CSE 451: Operating Systems Winter Module 22 Distributed File Systems
University of Southern California Information Sciences Institute
Outline Review of Quiz #1 Distributed File Systems 4/20/2019 COP5611.
Ch 9 – Distributed Filesystem
Distributed File Systems
Distributed Resource Management: Distributed Shared Memory
Distributed File Systems
Presentation transcript:

Ch 9 – Distributed Filesystem Reading Assignment – Summary due 10/18 (CODA paper) Goals –Network Transparency – you don’t know where in the system the file is. –High Availability – Users should get same filesystem irrespective of location, and maintenance/failure should cause graceful degradation.

Overall Architecture –Client, Fileserver, client cache/local storage, server cache, name server, cache manager. Mechanisms –Mounting Binding together different file namespaces to form a single hierarchically structured namespace. –Caching Hints –Bulk transfer –Encryption

Design Issues Naming and Name Resolution Single Namespace ? Location Dependent ? Location Transparent ? –Context as a component of the namespace ? –Name server maps names to stored objects Single centralized server ? Distributed ? – the actual resolution may involve several servers Caches –Disk vs Memory Disk is larger, simpler memory management, portable systems (volatility?) Memory is faster, client and server caching schemes can be similar, allows diskless clients to participate

Cache Writing Policy – when should changes made by a client committed at the server ? Write through ? Delayed Write ? Write on Close ? Cache Consistency –Server Initiated – server informs clients of changes, they can then update or invalidate –Client Initiated – client side cache checks with server before returning data to client. –Both are problematic and expensive. –Caching for concurrent write sharing – don’t cache! –Caching for sequential write sharing Outdated file on client. Written blocks not yet flushed.

Sprite FS –The entire namespace is a tree hierarchy, but is spread over disjoint domains. A server has one or more domains. Each client keeps a prefix table, which maps the topmost directory in a domain(prefix) to the domain and the server it is on. Prefx tables are created dynamically using broadcast, and entries treated as hints. –To lookup a name, the client finds the longest matching prefix in the table, and sends the remaining path along with the domain token to the corresponding server. This server returns a file token(handle) which is used subsequently. CWD’s prefix entry is a part of the state, to make relative filename access faster. What if name sent to remote server again crosses boundary, e.g. on.. or symlinks.

–Caching is done on both client and server side. –Client Cache stores recently accessed blocks indexed by file token Don’t need to map to disk block, less communication with server. Cache block size is 4K Directories are not cached to avoid inconsistency –Server Cache also stores file blocks. –When client requests data, client cache is first checked. Otherwise, request passed to local FS or remote server. Remote Server checks server cache or passes request onto its local FS. No prefetching. –Writes are delayed. Data unchaged for 30 secs or on cache miss (LRU replacement) is written 20-30% data deleted within 30 secs, 75% files open for < 0.5 sec, 90% for < 10 seconds. No write on close. Cache misses 40% read req, 1% write req. Mostly for large files.

–Cache Consistency is server initiated. –Concurrent write sharing is avoided When a concurrent write request is received, server instructs current writer to flush data, commits it, and then declares the file uncachable to *all* clients. All requests now flow through the server, which will serialize them. About 1% traffic overhead –Sequential Write Sharing is overcome by using versions, version number is incremented upon write. Server also keeps track of last client doing write, and requests that client to flush data when it gets the next file open from some other client.

–Virtual Memory and FS cache compete for memory! Cache size is changed in response to memory usage. Cache and VM keep separate pool of free pages, and track time of last access for each block. This is used in negotiation between the systems. Conversion from VM to cache is made difficult by “holding down”. –Double caching of executable programs! –Backing store for VM is the regular filesystem. Process migration is helped Double Caching – avoid by not using client cache for such files.

CODA –Goals Scalability –Clients are loaded to avoid FS bottlenecks. Constant Availability Use with Portable computers –Clients local disk is a cache –Disconnected operation permitted. –Naming/Location Namespace is hierarchical and divided into volumes. Volume is set of files/directories on a server Each volume is identified by a unique 92 bit FID –Vol. No. + Vnode No. + uniquifier Location information is not explicit in name but stored in volume location database mapping file to FID to location

Operational Semantics –Single Copy Unix –AFS-1 Open succeeds if latest (F,S) Close succeeds if updated(F,S) –AFS-2 Open succeeds if latest(F,S,0) OR (latest(F,S,tau) AND lostcallback(S,tau) AND incache(F). –CODA Open succeeds if If some server reachable then AFS2 else if incache Open fails if servers reachable and conflict or not reachable and not in cache Analogously for close

Replication –When a volume is created, the number of replicas and the servers storing them are recorded in volume replication database. This set of servers is the Volume Storage Group (VSG). The subset of these accessible by a clients cache system (VENUS) is called Accessible VSG(AVSG) –Read Once Write All type approach Files are cached on client side on demand. They are obtained from a preferred server in the AVSG. Client verifies with others in AVSG to ensure that Pref. Server has latest data. If not, the server with the latest data is made preferred and AVSG notified about stale data. Callback promises are established between client and preferred server. When notified, a client invalidates data and re-fetches.

–Upon close, a file is transferred in parallel to all servers in AVSG using multicast where available. –Optimistic Replication requires conflict checks on all server operations State is characterized by update history of an object at a server. This consists of storeids of operations at clients. Coda approximates update history by its length and the Latest storeid (LSID). LSID = clientid+monotonically increasing integer. A CVV (coda version vector) is maintained which estimates (conservatively) update length at every other server. –Replicas may have Strong Equality (LSIDs and CVVs are equal) Weak Equality (LSIDs same but not CVVs) Dominance/Submission (LSIDs are different, but CVV of one subsumed by the other) Inconsistency

More CODA replication Replica States may be transformed by –Updates Storing files on closing, creation/deletions etc. 2 Phase protocol: First each site in AVSG checks LSID and CVV of client. If they are equal to or dominate its own LSID and CVV, then it commits the change. Then, CVVs at servers are updated to reflect the clients view of who committed the change. –Forces Server-Server Protocol. Basically replays the changes at the dominant site not done at submissive site already. –Repairs 2 Phase operation to resolve inconsistencies, or to recover from crashes. Automatic vs. User Intervention –Migrates Create a covolume of inconsistent data.

Coda Cache Coherence –Basic Cache operation involves caching file (and directories) on demand! –Due to Optimistic replication, the Cache Manager (VENUS) also has to be aware of: AVSG enlargement : missing members of VSG are contacted once every tau seconds. If AVSG is enlarged, callbacks are dropped and next reference to data causes fresh fetch and callback reestablishment. AVSG shrinkage: AVSG members from which data is cached probed every tau seconds. If prefered server is lost then drop callbacks. Problem – since callback only on prefered server, what if my prefered server is not in other clients AVSG –Solution: when probing, ask for volume CVV, and compare. Drop callbacks as needed.

Disconnected Operation –Operate on cached data. As long as data is cached everything is fine –Cache miss is bad, since there is no way to make it transparent to the user. Avoid! Besides LRU replacement, allow user to tag certain files as “sticky” –Reintegration: Upon reconnection, replay your operations – force for files, more complex for directories. If there are inconsistencies, co-locate the volume and try to fix.

Sundry stuff Please Read section Log Structured File Systems (9.6) –Basic problem – multiple seeks needed to do read/writes, and this costs time –Solution – cache file (directories) in memory. Do all updates in memory. Write once to disk the “log” of all changes, including data and metadata.

NOW/xFS –Designed to work on workstation clusters (fast connections, trusted environment) –Serverless architecture –Uses software RAID, Coperative caching, and LogFS –Manager Maps, imap (index node), Directories(name to index), stripe map –Read: Try local cache, contact manager, try finding someone caching it, else read from disk. –Write: Logging –Cache Consistency: Token based.