Leases: An Efficient Fault-Tolerant Mechanism for Distributed File Cache Consistency --- Gray and Cheriton, 1989. - with large caches, the traffic required to maintain consistency can be the dominant factor in cache performance; - leases are proposed as a consistency protocol that handles host and communication failures using physical clocks; - from V system measurements, it is shown that short-term leases provide near optimal efficiency; * a lease is a contract that gives its holder specified rights over * property for a limited period of time. In the context of caches, a * lease grants control over writes to the covered datum during the * term of the lease; * the server must obtain the approval of the leaseholder before the * datum may be written; - when a datum is fetched from the server, the server also returns a lease; - multiple uses of the cached file during the term of the lease are executed with no further communication with the server; * 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; * if some host holding a lease for a file is unreachable, writes have * to wait until the lease expires; this is one of the advantages of * short leases; they also minimize false write-sharing; - false sharing occurs when a client writes to a file which is covered by a lease held by an inactive client; in this case, leases add the overhead of executing a callback to the leaseholder; - long-term leases are good for files that are accessed repeatedly and show little write-sharing; - given: - R (rate of reads); - W (rate of writes); - S (number of caches); - alpha (lease benefit factor); we have: alpha = 2R/SW - a sufficient long lease term will reduce server load whenever alpha is greater than one. Large values for R and alpha imply better performance for short terms; - most of the benefit of a non-zero lease term is gained by a term of just a few seconds; - the analytic model agrees with the V data set; - leases in the order of 10 seconds show low server load and low added delay due to consistency; - larger propagation delay between clients and servers means that the impact of lease extensions and invalidations on response time is greater; - they increase the avg RTT to 100 miliseconds and conclude that leases in the range 10-30 seconds still appear to be adequate; - increased numbers of clients and servers have no effect unless it increases the level of write-sharing; - leases depend on well-behaved and loosely-synchronized clocks;