1 / 22

Efficient Fault-Tolerant Leases in Distributed File Consistency

This paper highlights the best mechanism for maintaining consistency in distributed systems through leases, granting control over data writes. Leases tolerate failures and network partitions, used in systems like Ceph and GFS. The write-through scheme ensures consistency and presents various variants post-Leases implementation. Utilizing leases ensures data integrity, with benefits including little overhead for non-shared files. However, their use may not suit scenarios prioritizing availability. Infinite leases or "callbacks" allow disconnected clients to keep operating, though this may introduce inconsistencies. Leases require synchronized clocks and reasonable transmission delays, obtained per item collections. Analytic models assess performance, with implications on read and write overhead. Leases, when communicating for approval or breaking, impact system messages and consistency. Concluding, leases prove optimal for client cache management, balancing consistency and availability in distributed file systems.

gloriaw
Download Presentation

Efficient Fault-Tolerant Leases in Distributed File Consistency

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LEASES:AN EFFICIENT FAULT-TOLERANT MECHANISM FOR DISTRIBUTED FILE CACHE CONSISTENCY Cary G. Gray David R. Cheriton Stanford University

  2. Paper highlights • Best mechanism for maintain consistency in distributed systems • Tolerates failures and network partitions • Used in many distributed systems • Ceph, GFS, … • Paper presents a write-though scheme • Many variants have appeared since

  3. Leases (I) “A lease is a contract that gives its holder specified rights over property for a limited period of time.” “ A lease grants to its holder control over writes to the covered datum during the term of the lease, such that the server must obtain the approval of the leaseholder before the datum may be written.”

  4. Leases “When a leaseholder grants approval for a write, it invalidates its local copy of the datum. … “When a client writes a datum, the server must defer the request until each leaseholder has granted approval or the term of its lease has expired.”

  5. Time An example (I) Server Grants a lease Requests alease Duration of lease Alice controls the file Must now renew it Alice

  6. Time An example (II) Server Also requestsa lease Got alease Bob Alice

  7. Time An example(III) Server Also requestsa lease Got alease Try to breakthe lease Bob Alice

  8. Time First case: Server can reach Alice Server Also requestsa lease Got alease Try to breakthe lease Bob Alice The lease is brokenAlice invalidates her cache Bob gets a lease

  9. Time Second case: server cannot reach Alice Server Also requestsa lease Got alease Bobmustwait Try to breakthe lease Bob Alice Bob’s lease

  10. Big advantages of leases • Both more rigorous and cheaper then NFS solution • Consistency is guaranteed • Little or no overhead as long as the file is not shared • Solution is not stateless • No problem as long as lease durations are shorter than minimum server reboot time

  11. When not to use leases • When availability is more important than consistency • Want to let client keep operating when disconnected • “Infinite leases” • Clients do not have to renew leases • If server receives a request for leased item from another client • It attempts to notify the leaseholder • Breaks unilaterally the “infinite lease” • Not true leases, better to call them “callbacks”

  12. Discussion • Leases are short • Require well synchronized clocks andreasonable transmission delays • Can require/obtain leases for collections of items • A directory and all its files.

  13. An example • When server receives Bob's request, • It will try to contact Alice and break the lease • Alice will then flush all the blocks she had updated and invalidate the contents of her cache • If Alice does not answer, server must wait until Alice's lease expires

  14. Analytic Model (I) at serverat each client • Server and N clients • Reads and writes are exponentially distributed with rates R and W • Message processing time is same for everyone • So is message transmission time • Total message transmission time is • Can multicastmessages • Roundtrip time is

  15. Analytic Model (II) • Can multicastmessages • Roundtrip time is • at server • at each client • Effective term of lease with nominal term duration • t

  16. Read overhead (I) • Without leases, server would process requests per time unit • messages • With leases of duration , each lease request allows reads to be performed locally • Server now processes messages per time unit

  17. Read overhead (II) • A leases request takes time units • Average resulting delay per request is

  18. Write overhead • Assume file is shared by clients • When a client wants to perform a write • Server multicasts request to all other clients holding a lease() • Request can include implicit approval • Total of messages including original request • Time to get approval is • for

  19. Combining both • We assume unless • For and , • Server sends and receives consistency-related messages per unit time • Average overhead is

  20. Infinite “leases” • Clients do not need to renew them • Can still access the data in disconnected mode • When the server tries to break a lease and the client does not answer, the server breaks the lease anyways • Can—and will—result in inconsistencies • Solution privileges availability in the presence of partitions over data consistency • Was used by AFS and Coda

  21. Conclusions • Leases are the best mechanism for managing client caches in distributed file systems • Low overhead • Guarantee data consistency • Multiple variants have been proposed and implemented • Have read leases and write leases • …-

More Related