today coda xfs n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Today: Coda, xFS PowerPoint Presentation
Download Presentation
Today: Coda, xFS

Loading in 2 Seconds...

play fullscreen
1 / 17

Today: Coda, xFS - PowerPoint PPT Presentation


  • 117 Views
  • Uploaded on

Today: Coda, xFS. Case Study: Coda File System Brief overview of other recent file systems xFS Log structured file systems. Coda. Coda: descendent of the Andrew file system at CMU Andrew designed to serve a large (global community) Salient features: Support for disconnected operations

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Today: Coda, xFS' - floriane


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
today coda xfs
Today: Coda, xFS
  • Case Study: Coda File System
  • Brief overview of other recent file systems
    • xFS
    • Log structured file systems

CS677: Distributed OS

slide2
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

CS677: Distributed OS

overview of coda
Overview of Coda
  • Centrally administered Vice file servers
  • Large number of virtue clients

CS677: Distributed OS

virtue coda clients
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

CS677: Distributed OS

communication in coda
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

CS677: Distributed OS

communication invalidations
Communication: Invalidations
  • Sending an invalidation message one at a time.
  • Sending invalidation messages in parallel.

Can use MultiRPCs [Parallel RPCs] or use Multicast

- Fully transparent to the caller and callee [looks like normal RPC]

CS677: Distributed OS

naming
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

CS677: Distributed OS

file identifiers
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

CS677: Distributed OS

sharing files in coda
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

CS677: Distributed OS

transactional semantics
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

CS677: Distributed OS

client caching
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

CS677: Distributed OS

server replication
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

CS677: Distributed OS

disconnected operation
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

CS677: Distributed OS

overview of xfs
Overview of xFS.
  • Key Idea: fully distributed file system [serverless file system]
  • xFS: x in “xFS” => no server
  • Designed for high-speed LAN environments

CS677: Distributed OS

processes in xfs
Processes in xFS
  • The principle of log-based striping in xFS
    • Combines striping and logging

CS677: Distributed OS

reading a file block
Reading a File Block
  • Reading a block of data in xFS.

CS677: Distributed OS

xfs naming
xFS Naming
  • Main data structures used in xFS.

CS677: Distributed OS