DISCONNECTED OPERATION IN THE CODA FILE SYSTEM - PowerPoint PPT Presentation

About This Presentation
Title:

DISCONNECTED OPERATION IN THE CODA FILE SYSTEM

Description:

DISCONNECTED OPERATION IN THE CODA FILE SYSTEM J. J. Kistler M. Sataynarayanan Carnegie-Mellon University Paper Highlights An overview of Coda How Coda deals with ... – PowerPoint PPT presentation

Number of Views:157
Avg rating:3.0/5.0
Slides: 40
Provided by: par7157
Learn more at: https://www2.cs.uh.edu
Category:

less

Transcript and Presenter's Notes

Title: DISCONNECTED OPERATION IN THE CODA FILE SYSTEM


1
DISCONNECTED OPERATION IN THE CODA FILE SYSTEM
  • J. J. KistlerM. Sataynarayanan
  • Carnegie-Mellon University

2
Paper Highlights
  • An overview of Coda
  • How Coda deals with disconnected operation
  • File hoarding
  • The paper mentions but does not discuss
  • Callbacks (covered in my presentation)
  • Weakly connected operation

3
CODA
  • Successor of the very successful Andrew File
    System (AFS)
  • First DFS aimed at a campus-sized user community
  • Key ideas include
  • open-to-close consistency
  • callbacks

4
General Organization (I)
  • Coda is tailored to access patterns typical of
    academic and research environments
  • Little sharing
  • Not intended for applications exhibiting highly
    concurrent file granularity data access

This lack of sharing is typical of UNIX file
systemaccess patterns
5
General Organization (II)
  • Clients view Coda as a single location-transparent
    shared Unix file system
  • Complements local file system
  • Coda namespace is mapped to individual file
    servers at the granularity of subtrees called
    volumes
  • Each client has a cache manager (VICE)

6
General Organization (III)
  • High availability is achieved through
  • Server replication
  • Set of replicas of a volume is VSG(Volume
    Storage Group)
  • At any time, client can access AVSG (Available
    Volume Storage Group)
  • Disconnected Operation
  • When AVSG is empty

7
Design Rationale
  • CODA major objectives were
  • Using off-the-shelf hardware
  • Preserving transparency
  • Other considerations included
  • Need for scalability
  • Advent of portable workstations
  • Hardware model being considered
  • Balance between availability and consistency

8
Scalability
  • AFS was scalable because
  • Clients cache entire files on their local disks
  • Cache coherence is maintained by the use of
    callbacks, which reduce server involvement art
    open time
  • Clients do most of the work
  • Coda adds replication

9
Portable Workstations
  • Laptops of the late 80s had very small disk
    drives
  • Users were manually caching the files they
    planned to use while being disconnected
  • Coda has a single mechanism to handle
  • Voluntary disconnections
  • Involuntary disconnections

10
Hardware Model
  • CODA and AFS assume that client workstations are
    personal computers controlled by their user/owner
  • Fully autonomous
  • Cannot be trusted
  • CODA allows owners of laptops to operate them in
    disconnected mode
  • Opposite of ubiquitous connectivity

11
Other Models
  • Plan 9 and Amoeba
  • Computing is done by pool of servers
  • Workstations are just display units
  • NFS and XFS
  • Clients are trusted and always connected
  • Farsite
  • Untrusted clients double as servers(much more
    recent)

12
Accessibility
  • Must handle two types of failures
  • Server failures
  • Data servers are replicated
  • Communication failures and voluntary
    disconnections
  • Coda uses optimistic replication and file
    hoarding

13
What about Consistency?
  • Pessimistic replication control protocols
    guarantee the consistency of replicated in the
    presence of any non-Byzantine failures
  • Typically require a quorum of replicas to allow
    access to the replicated data
  • Would not support disconnected mode

14
Example
  • Majority consensus voting
  • Every update must involve a majority of replicas
  • Every majority contains at least one replica that
    was involved in the previous update

2
15
Pessimistic Replica Control
  • Would require client to acquire exclusive (RW)
    or shared (R) control of cached objects before
    accessing them in disconnected mode
  • Acceptable solution for voluntary disconnections
  • Does not work for involuntary disconnections
  • What if the laptop remains disconnected for a
    long time?

16
Leases
  • We could grant exclusive/shared control of the
    cached objects for a limited amount of time
  • Works very well in connected mode
  • Reduces server workload
  • Server can keep leases in volatile storage as
    long as their duration is shorter than boot time
  • Would only work for very short disconnection
    periods

17
Optimistic Replica Control (I)
  • Optimistic replica control allows access in every
    disconnected mode
  • Tolerates temporary inconsistencies
  • Promises to detect them later
  • Provides much higher data availability

18
Optimistic Replica Control (II)
  • Defines an accessible universe set of replicas
    that the user can access
  • Accessible universe varies over time
  • At any time, user
  • Will read from the latest replica(s) in his
    accessible universe
  • Will update all replicas in his accessible
    universe

19
IMPLEMENTATION
  • Client structure
  • Venus states
  • Hoarding
  • Prioritized cache management
  • Hoard walk
  • Persistence
  • Reintegration

20
Client Structure
Application
Venus (connects with Coda servers)
System call interface
Vnode interface
Coda MiniCache(handles local accesses)
21
Venus States (I)
  • HoardingNormal operation mode
  • EmulatingDisconnected operation mode
  • ReintegratingPropagates changes and detects
    inconsistencies

22
Venus States (II)
Hoarding
Emulating
Recovering
23
Prioritized Cache Management
  • Coda maintains a per-client hoard database (HDB)
    specifying files to be cached on client
    workstation
  • Client can modify HDB and even set up hoard
    profiles
  • Hoard entry may include a hoard priority
  • Actual priority is function of hoard priority
    and recent usage

24
Hoard Walking
  • Must ensure that no uncached object has a higher
    priority than a cached object
  • Since priorities are function of recent usage,
    they vary over time
  • Venus reevaluates priorities every ten minutes
    (hoard walk)
  • Hoard walk can also be requested by user, say,
    before a voluntary disconnection

25
Emulation
  • In emulation mode
  • Attempts to access files that are not in the
    client caches appear as failures to application
  • All changes are written in a persistent log,the
    client modification log (CML)
  • Venus removes from log all obsolete entries like
    those pertaining to files that have been deleted

26
Persistence
  • Venus keeps its cache and related data structures
    in non-volatile storage
  • All Venus metadata are updated throughatomic
    transactions
  • Using a lightweight recoverable virtual memory
    (RVM) developed for Coda
  • Simplifies Venus design

27
Reintegration
  • When workstation gets reconnected, Coda initiates
    a reintegration process
  • Performed one volume at a time
  • Venus ships replay log to all volumes
  • Each volume performs a log replay algorithm
  • Found later that it required a fast link between
    workstation and servers

28
STATUS AND EVALUATION
  • Reintegration can be time-consuming
  • requires very large data transfers
  • One hundred MB is enough for the cache size
  • Conflicts are infrequent
  • At most 0.75 to have same file updated by two
    different users less than one day apart

29
Future Work
  • Coda added later a weak connectivity mode for
    portable computers linked to the CODA servers
    through slow links (like modems)
  • Allows for slow reintegration

30
SESSION SEMANTICS AND CALLBACKS
  • The paper does not cover the issue of session
    semantics and the role of callbacks
  • Essential part sof AFS design
  • Adopted by Coda

31
UNIX sharing semantics
  • Centralized UNIX file systems provide one-copy
    semantics
  • Every modification to every byte of a file is
    immediately and permanently visible to all
    processes accessing the file
  • AFS uses a open-to-close semantics
  • Coda uses an even laxer model

32
Open-to-Close Semantics (I)
  • First version of AFS
  • Revalidated cached file on each open
  • Propagated modified files when they were closed
  • If two users on two different workstations modify
    the same file at the same time, the users closing
    the file last will overwrite the changes made by
    the other user

33
Open-to-Close Semantics (II)
  • Example

First client
F overwrites F
Time
Second Client
34
Open to Close Semantics (III)
  • Whenever a client opens a file, it always gets
    the latest version of the file known to the
    server
  • Clients do not send any updates to the server
    until they close the file
  • As a result
  • Server is not updated until file is closed
  • Client is not updated until it reopens the file

35
Callbacks (I)
  • AFS-1 required each client to call the server
    every time it was opening an AFS file
  • Most of these calls were unnecessary as user
    files are rarely shared
  • AFS-2 introduces the callback mechanism
  • Do not call the server, it will call you!

36
Callbacks (II)
  • When a client opens an AFS file for the first
    time, server promises to notify it whenever it
    receives a new version of the file from any other
    client
  • Promise is called a callback
  • Relieves the server from having to answer a call
    from the client every time the file is opened
  • Significant reduction of server workload

37
Callbacks (III)
  • Callbacks can be lost!
  • Client will call the server every tau minutes to
    check whether it received all callbacks it should
    have received
  • Cached copy is only guaranteed to reflect the
    state of the server copy up to tau minutes before
    the time the client opened the file for the last
    time

38
Coda semantics
  • Client keeps track of subset s of servers it was
    able to connect the last time it tried
  • Updates s at least every tau seconds
  • At open time, client checks it has the most
    recent copy of file among all servers in s
  • Guarantee weakened by use of callbacks
  • Cached copy can be up to tau minutes behind the
    server copy

39
CONCLUSION
  • Coda
  • Puts scalability and availability beforedata
    consistency
  • Unlike NFS
  • Assumes that inconsistent updates are very
    infrequent
  • Introduced disconnected operation mode and file
    hoarding
Write a Comment
User Comments (0)
About PowerShow.com