Module 7 File Systems & Replication CS755! 7-1!

Similar documents
Distributed File Systems. File Systems

Chapter 12 Distributed File Systems. Copyright 2015 Prof. Amr El-Kadi

Introduction. Distributed file system. File system modules. UNIX file system operations. File attribute record structure

Module 7 - Replication

DFS Case Studies, Part 1

Chapter 8: Distributed File Systems. Introduction File Service Architecture Sun Network File System The Andrew File System Recent advances Summary

Introduction. Chapter 8: Distributed File Systems

Chapter 8 Distributed File Systems

Distributed File Systems

Distributed File Systems. CS432: Distributed Systems Spring 2017

Distributed File Systems

UNIT V Distributed File System

殷亚凤. Consistency and Replication. Distributed Systems [7]

Distributed Systems (5DV147)

SOFTWARE ARCHITECTURE 11. DISTRIBUTED FILE SYSTEM.

Distributed Systems Distributed Objects and Distributed File Systems

Lecture 7: Distributed File Systems

Chapter 7 Consistency And Replication

Chapter 17: Distributed-File Systems. Operating System Concepts 8 th Edition,

NFS: Naming indirection, abstraction. Abstraction, abstraction, abstraction! Network File Systems: Naming, cache control, consistency

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 7 Consistency And Replication

Today: Distributed File Systems. File System Basics

Today: Distributed File Systems

Lecture 14: Distributed File Systems. Contents. Basic File Service Architecture. CDK: Chapter 8 TVS: Chapter 11

Distributed File Systems

Distributed File Systems. Distributed Computing Systems. Outline. Concepts of Distributed File System. Concurrent Updates. Transparency 2/12/2016

Replication in Distributed Systems

Consistency and Replication

Network File Systems

Ch. 7 Distributed File Systems

Advanced Operating Systems

DISTRIBUTED COMPUTER SYSTEMS

Chapter 4: Distributed Systems: Replication and Consistency. Fall 2013 Jussi Kangasharju

Module 8 Fault Tolerance CS655! 8-1!

Introduction to Distributed Computing

Lecture 19. NFS: Big Picture. File Lookup. File Positioning. Stateful Approach. Version 4. NFS March 4, 2005

Chapter 11 DISTRIBUTED FILE SYSTEMS

Replication. Consistency models. Replica placement Distribution protocols

Distributed File Systems. Distributed Systems IT332

Consistency and Replication. Some slides are from Prof. Jalal Y. Kawash at Univ. of Calgary

Distributed Systems. Hajussüsteemid MTAT Distributed File Systems. (slides: adopted from Meelis Roos DS12 course) 1/25

Distributed File Systems

Distributed file systems

Replication and Consistency

Lecture 6 Consistency and Replication

Consistency and Replication (part b)

Consistency and Replication

Replication and Consistency. Fall 2010 Jussi Kangasharju

Consistency and Replication

C 1. Recap. CSE 486/586 Distributed Systems Distributed File Systems. Traditional Distributed File Systems. Local File Systems.

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9b: Distributed File Systems INTRODUCTION. Transparency: Flexibility: Slide 1. Slide 3.

Consistency and Replication. Why replicate?

CS 425 / ECE 428 Distributed Systems Fall Indranil Gupta (Indy) Nov 28, 2017 Lecture 25: Distributed File Systems All slides IG

Important Lessons. A Distributed Algorithm (2) Today's Lecture - Replication

Distributed File Systems I

CSE 5306 Distributed Systems. Consistency and Replication

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Distributed File Systems. Jonathan Walpole CSE515 Distributed Computing Systems

Eventual Consistency. Eventual Consistency

Consistency & Replication

Module 8 - Fault Tolerance

Last Class: Web Caching. Today: More on Consistency

DISTRIBUTED FILE SYSTEMS & NFS

Computing Parable. The Archery Teacher. Courtesy: S. Keshav, U. Waterloo. Computer Science. Lecture 16, page 1

Introduction to Cloud Computing

CS6601 DISTRIBUTED SYSTEM / 2 MARK

Distributed Systems Principles and Paradigms. Chapter 07: Consistency & Replication

MYE017 Distributed Systems. Kostas Magoutis

Transactions with Replicated Data. Distributed Software Systems

Consistency and Replication 1/62

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Filesystems Lecture 13

416 Distributed Systems. Distributed File Systems 1: NFS Sep 18, 2018

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

Background. 20: Distributed File Systems. DFS Structure. Naming and Transparency. Naming Structures. Naming Schemes Three Main Approaches

Today CSCI Coda. Naming: Volumes. Coda GFS PAST. Instructor: Abhishek Chandra. Main Goals: Volume is a subtree in the naming space

CSE 5306 Distributed Systems

Today s Objec2ves. AWS/MR Review Final Projects Distributed File Systems. Nov 3, 2017 Sprenkle - CSCI325

Frequently asked questions from the previous class survey

Filesystems Lecture 11

COS 318: Operating Systems. NSF, Snapshot, Dedup and Review

Replication & Consistency Part II. CS403/534 Distributed Systems Erkay Savas Sabanci University

Distributed Systems: Consistency and Replication

Important Lessons. Today's Lecture. Two Views of Distributed Systems

CLOUD-SCALE FILE SYSTEMS

Cloud Computing CS

CPS 512 midterm exam #1, 10/7/2016

DISTRIBUTED SYSTEMS. Second Edition. Andrew S. Tanenbaum Maarten Van Steen. Vrije Universiteit Amsterdam, 7'he Netherlands PEARSON.

System that permanently stores data Usually layered on top of a lower-level physical storage medium Divided into logical units called files

Distributed Transaction Management

Distributed File Systems. CS 537 Lecture 15. Distributed File Systems. Transfer Model. Naming transparency 3/27/09

EI 338: Computer Systems Engineering (Operating Systems & Computer Architecture)

CSE 486/586: Distributed Systems

Distributed File Systems. Case Studies: Sprite Coda

Consistency & Replication in Distributed Systems

Large Systems: Design + Implementation: Communication Coordination Replication. Image (c) Facebook

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

416 Distributed Systems. Distributed File Systems 2 Jan 20, 2016

Consistency and Replication 1/65

Remote Procedure Call (RPC) and Transparency

Transcription:

Module 7 File Systems & Replication CS755! 7-1!

Distributed File Systems CS755! 7-2!

File Systems File system! Operating System interface to disk storage! File system attributes (Metadata)! File length! Creation timestamp! Read timestamp! Write timestamp! Attribute timestamp! Reference count! Owner! File type! Access control list! From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3 rd ed. CS755! Addison-Wesley Publishers 2000 7-3!

Operations on Unix File System filedes = open(name, mode) filedes = creat(name, mode) status = close(filedes) count = read(filedes, buffer, n) count = write(filedes, buffer, n) pos = lseek(filedes, offset, whence) status = unlink(name) status = link(name1, name2) status = stat(name, buffer) Opens an existing file with the given name. Creates a new file with the given name. Both operations deliver a file descriptor referencing the open file. The mode is read, write or both. Closes the open file filedes. Transfers n bytes from the file referenced by filedes to buffer. Transfers n bytes to the file referenced by filedes from buffer. Both operations deliver the number of bytes actually transferred and advance the read-write pointer. Moves the read-write pointer to offset (relative or absolute, depending on whence). Removes the file name from the directory structure. If the file has no other names, it is deleted. Adds a new name (name2) for a file (name1). Gets the file attributes for file name into buffer. From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3 rd ed. CS755! Addison-Wesley Publishers 2000 7-4!

Distributed File System File system emulating non-distributed file system behaviour on a physically distributed set of files, usually within an intranet.! Requirements! Transparency! Access transparency! Location transparency! Mobility transparency! Performance transparency! Scaling transparency! Allow concurrent access! Allow file replication! Tolerate hardware and operating system heterogeneity! Security! Access control! User authentication! CS755! 7-5!

Requirements (2) Fault tolerance: continue to provide correct service in the presence of communication or server faults! At-most-once semantics for file operations! At-least-once semantics with a server protocol designed in terms of idempotent file operations! Replication (stateless, so that servers can be restarted after failure)! Consistency! One-copy update semantics! Efficiency! all clients see contents of file identically as if only one copy of file existed! if caching is used: after an update operation, no program can observe a discrepancy between data in cache and stored data! Latency of file accesses! Scalability (e.g., with increase of number of concurrent users)! CS755! 7-6!

Architecture Client computer! Application! program! Application! program! Client module! Server computer! Directory service! Flat file service! Flat File Service! Performs file operations! Uses unique file identifiers (UFIDs) to refer to files! Flat file service interface! RPC-based interface for performing file operations! Not normally used by application level programs! From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3 rd ed. CS755! Addison-Wesley Publishers 2000 7-7!

Architecture (2) Client computer! Application! program! Application! program! Client module! Server computer! Directory service! Flat file service! Directory Service! Mapping of UFIDs to text file names, and vice versa! Client Module! Provides API for file operations available to application program! From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3 rd ed. CS755! Addison-Wesley Publishers 2000 7-8!

Distributed File Access Alternatives Remote access model! Download/upload model! From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms, 2 nd edition CS755! Prentice-Hall, Inc. 2007 7-9!

Sun Network File System Client computer Server computer UNIX system calls UNIX kernel Application program Virtual file system Local Remote UNIX file system Application program Other" file system NFS client NFS protocol UNIX kernel Virtual file system NFS server UNIX file system From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3 rd ed. CS755! Addison-Wesley Publishers 2000 7-10!

Architecture of NFS V.3 Access transparency! No distinction between local and remote files! Virtual file system keeps track of locally and remotely available file systems! File identifiers: file handles! File system identifier (unique number allocated at creation time)! i-node number! i-node generation number (because i- node- numbers are reused)! CS755! 7-11!

Selected NFS Operations lookup(dirfh, name) -> fh, attr create(dirfh, name, attr) -> newfh, attr remove(dirfh, name) status getattr(fh) -> attr setattr(fh, attr) -> attr read(fh, offset, count) -> attr, data write(fh, offset, count, data) -> attr rename(dirfh, name, todirfh, toname) -> status link(newdirfh, newname, dirfh, name) -> status Returns file handle and attributes for the file name in the directory dirfh. Creates a new file name in directory dirfh with attributes attr and returns the new file handle and attributes. Removes file name from directory dirfh. Returns file attributes of file fh. (Similar to the UNIX stat system call.) Sets the attributes (mode, user id, group id, size, access time and modify time of a file). Setting the size to 0 truncates the file. Returns up to count bytes of data from a file starting at offset. Also returns the latest attributes of the file. Writes count bytes of data to a file starting at offset. Returns the attributes of the file after the write has taken place. Changes the name of file name in directory dirfh to toname in directory to todirfh. Creates an entry newname in the directory newdirfh which refers to file name in the directory dirfh. From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3 rd ed. CS755! Addison-Wesley Publishers 2000 7-12!

Selected NFS operations (2) symlink(newdirfh, newname, string) -> status readlink(fh) -> string mkdir(dirfh, name, attr) -> newfh, attr rmdir(dirfh, name) -> status readdir(dirfh, cookie, count) -> entries statfs(fh) -> fsstats Creates an entry newname in the directory newdirfh of type symbolic link with the value string. The server does not interpret the string but makes a symbolic link file to hold it. Returns the string that is associated with the symbolic link file identified by fh. Creates a new directory name with attributes attr and returns the new file handle and attributes. Removes the empty directory name from the parent directory dirfh. Fails if the directory is not empty. Returns up to count bytes of directory entries from the directory dirfh. Each entry contains a file name, a file handle, and an opaque pointer to the next directory entry, called a cookie. The cookie is used in subsequent readdir calls to start reading from the following entry. If the value of cookie is 0, reads from the first entry in the directory. Returns file system information (such as block size, number of free blocks and so on) for the file system containing a file fh. From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3 rd ed. CS755! Addison-Wesley Publishers 2000 7-13!

Communication a) Reading data from a file in NFS version 3.! b) Reading data using a compound procedure in version 4.! From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms, 2 nd edition CS755! Prentice-Hall, Inc. 2007 7-14!

Mounting of File Systems Making remote file systems available to a local client, specifying remote host name and pathname! Mount protocol (RPC-based)! Returns file handle for directory name given in request! Location (IP address and port number) and file handle are passed to Virtual File System and NFS client! Hard-mounted (mostly used in practice)! User-level process suspended until operation completed! Application may not terminate gracefully in failure situations! Soft-mounted! Error message returned by NFS client module to user-level process after small number of retries! CS755! 7-15!

Mounting Example Server 1! (root)! Client! Server 2! (root)! (root)! export!...! vmunix! usr! nfs! people! Remote! mount! students! x! staff! Remote! mount! users! big! jon! bob!...! jim! ann! jane!joe! The file system mounted at /usr/students in the client is actually the sub-tree located at / export/people in Server 1; the file system mounted at /usr/staff in the client is actually the subtree located at /nfs/users in Server 2.! From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3 rd ed. CS755! Addison-Wesley Publishers 2000 7-16!

Naming (1) Mounting (part of) a remote file system in NFS.! From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms, 2 nd edition CS755! Prentice-Hall, Inc. 2007 7-17!

Naming (2) Mounting nested directories from multiple servers in NFS.! From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms, 2 nd edition CS755! Prentice-Hall, Inc. 2007 7-18!

Automounting (1) A simple automounter for NFS. From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms, 2 nd edition CS755! Prentice-Hall, Inc. 2007 7-19!

Automounting (2) Using symbolic links with automounting. From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms, 2 nd edition CS755! Prentice-Hall, Inc. 2007 7-20!

Semantics of File Sharing (1) 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.! From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms, 2 nd edition CS755! Prentice-Hall, Inc. 2007 7-21!

Semantics of File Sharing (2) Method UNIX semantics Session semantics Immutable files Transaction Comment Every operation on a file is instantly visible to all processes No changes are visible to other processes until the file is closed No updates are possible; simplifies sharing and replication All changes occur atomically Four ways of dealing with the shared files in a distributed system.! From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms, 2 nd edition CS755! Prentice-Hall, Inc. 2007 7-22!

File Locking in NFS (1) Operation Lock Lockt Locku Renew Description Creates a lock for a range of bytes Test whether a conflicting lock has been granted Remove a lock from a range of bytes Renew the leas on a specified lock NFS version 4 operations related to file locking.! From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms, 2 nd edition CS755! Prentice-Hall, Inc. 2007 7-23!

File Locking in NFS (2) 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. From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms, 2 nd edition CS755! Prentice-Hall, Inc. 2007 7-24!

Replication CS755! 7-25!

Replication Why replicate?! Reliability! Avoid single points of failure! Performance! Scalability in numbers and geographic area! Why not replicate?! Replication transparency! Consistency issues! Updates are costly! Availability may suffer if not careful!! CS755! 7-26!

Logical vs Physical Objects There are physical copies of logical objects in the system.! Operations are specified on logical objects, but translated to operate on physical objects.! T write(x) x 1 x 2 x 3 write(x 1 ) write(x 2 ) write(x 3 ) From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3 rd ed. CS755! Addison-Wesley Publishers 2000 7-27!

Replication Architecture Requests and replies C FE RM RM Clients Front ends Service C FE RM Replica managers From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3 rd ed. CS755! Addison-Wesley Publishers 2000 7-28!

Issues Consistency models - How do we reason about the consistency of the global state?! Data-centric consistency! Strict consistency! Linearizability! Sequential consistency! Client-centric consistency! Eventual consistency! Update propagation - How does an update to one copy of an item get propagated to other copies?! Replication protocols - What is the algorithm that takes one update propagation method and enforces a given consistency model?! CS755! 7-29!

Strict Consistency Any read(x) returns a value corresponding to the result of the most recent write(x).! Machine 1! Machine 2! R(x)! t 1! W 2 (x)b! t 2! R(x,b)! WRONG!! Relies on absolute global time; all writes are instantaneously visible to all processes and an absolute global time order is maintained. Cannot be implemented in a distributed system From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms CS755! Prentice-Hall, Inc. 2002 7-30!

Sequential Consistency Similar to linearizability, but no requirement on timestamp order.! The result of execution should satisfy the following criteria:! Read and write operations by all processes on the data store were executed in some sequential order;! Operations of each individual process appear in this sequence in the order specified by its program.! These mean that all processes see the same interleaving of operations similar to serializability.! From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms, 2 nd edition CS755! Prentice-Hall, Inc. 2007 7-31!

Sequential Consistency Process 1! Process 2! Process 3! R 1 (x)! W 1 (y)! W 1 (z)! R 1 (a)! R 2 (x)! W 2 (z)! R 2 (x)! W 2 (a)! W 3 (x)! W 3 (y)! R 3 (x)! R 3 (a)! Order between ops! from Process i is! preserved! Switch! Merged! Operations! Interleaving between ops! between different! processes is arbitrary! CS755! 7-32!

Transactional Replica Consistency Efficient implementation of sequential consistency requires transactions.! One-copy equivalence! The effect of transactions performed by clients on replicated objects should be the same as if they had been performed on a single set of objects.! One-copy serializability! The effect of transactions performed by clients on replicated objects should be the same as if they had been performed one at-a-time on a single set of objects.! This is done within transactional boundaries.! CS755! 7-33!

Client-Centric Consistency More relaxed form of consistency only concerned with replicas being eventually consistent (eventual consistency).! In the absence of any further updates, all replicas converge to identical copies of each other only requires guarantees that updates will be propagated.! Easy if a user always accesses the same replica; problematic if the user accesses different replicas.! Client-centric consistency: guarantees for a single client the consistency of access to a data store.! From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms, 2 nd edition CS755! Prentice-Hall, Inc. 2007 7-34!

Client-Centric Consistency (2) Monotonic reads! If a process reads the value of a data item x, any successive read operation on x by that process will always return that same value or a more recent value.! Monotonic writes! A write operation by a process on a data item x is completed before any successive write operation on x by the same process.! Read your writes! The effect of a write operation by a process on data item x will always be seen by a successive read operation on x by the same process.! Writes follow reads! A write operation by a process on a data item x following a previous read operation on x by the same process is guaranteed to take place on the same or more recent value of x that was read.! CS755! 7-35!

Replica Placement Alternatives Permanent replicas! Put a number of replicas at specific locations! Mirroring! Server-initiated replicas! Server decides where and when to place replicas! Push caches! Client-initiated replicas! Client caches! From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms, 2 nd edition CS755! Prentice-Hall, Inc. 2007 7-36!

Update Propagation What to propagate?! Propagate only a notification! Invalidation! Propagate updated data! Possibly only logs! Propagate the update operation! Active replication! Who propagates?! Server: push approach! Client: pull approach! Epidemic protocols! Update propagation in eventual-consistency data stores.! CS755! 7-37!

Pull versus Push Protocols Issue Push-based Pull-based State of server List of client replicas and caches None Messages sent Update (and possibly fetch update later) Poll and update Response time at client Immediate (or fetch-update time) Fetch-update time From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms, 2 nd edition CS755! Prentice-Hall, Inc. 2007 7-38!

Replication Protocols We focus on those that enforce sequential consistency.! Primary-based protocols! Remote-Write protocols! Local-Write protocols! Replicated Write protocols! Active replication! Quorum-based protocols! Read-one-Write-All (ROWA)! CS755! 7-39!

Primary Copy Remote-Write Protocol From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms, 2n edition CS755! Prentice-Hall, Inc. 2007 7-40!

Primary Copy Local-Write Protocol From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms, 2 nd edition CS755! Prentice-Hall, Inc. 2007 7-41!

Quorum-Based Protocol Assign a vote to each copy of a replicated object (say V i ) such that # i V i = V! Each operation has to obtain a read quorum (V r ) to read and a write quorum (V w ) to write an object! Then the following rules have to be obeyed in determining the quorums:! V r + V w > V!an object is not read and written by two!!!!!transactions concurrently! V w > V/2!!two write operations from two transactions cannot!!!!!occur concurrently on the same object! CS755! 7-42!

Quorum Example Three examples of the voting algorithm: a) A correct choice of read and write set b) A choice that may lead to write-write conflicts c) ROWA From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms, 2 nd edition CS755! Prentice-Hall, Inc. 2007 7-43!