<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="generator" content="pdf2htmlEX">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://static.pudn.com/base/css/base.min.css">
<link rel="stylesheet" href="https://static.pudn.com/base/css/fancy.min.css">
<link rel="stylesheet" href="https://static.pudn.com/prod/directory_preview_static/6272fb457ec58a2c01185528/raw.css">
<script src="https://static.pudn.com/base/js/compatibility.min.js"></script>
<script src="https://static.pudn.com/base/js/pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar" style="display: none">
<div id="outline">
</div>
</div>
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/6272fb457ec58a2c01185528/bg1.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">Leases: <span class="ls1 ws1">An <span class="_ _0"> </span><span class="ls2 ws2">Efficient <span class="_ _1"> </span><span class="ls3 ws3">Fault-Tolerant <span class="_ _2"> </span><span class="ls4 ws4">Mechanism </span></span></span></span></div><div class="t m0 x2 h2 y2 ff1 fs0 fc0 sc0 ls5 ws5">for <span class="_ _3"> </span><span class="ls6 ws6">Distributed <span class="_ _4"> </span><span class="ls7 ws7">File <span class="_ _5"> </span><span class="ls8 ws8">Cache <span class="ls9 ws9">Consistency </span></span></span></span></div><div class="t m1 x3 h3 y3 ff1 fs1 fc0 sc0 lsa wsa">Cary <span class="_ _2"> </span><span class="lsb wsb">G. <span class="_ _0"> </span><span class="lsc wsc">Gray <span class="_ _2"> </span><span class="lsd wsd">and <span class="_ _0"> </span><span class="lse wse">David <span class="_ _6"> </span><span class="lsf wsf">R. </span></span></span></span></span></div><div class="t m2 x4 h4 y3 ff1 fs2 fc0 sc0 ls10 ws10">Cheriton </div><div class="t m1 x5 h3 y4 ff1 fs1 fc0 sc0 ls11 ws11">Computer <span class="_ _7"> </span><span class="ls12 ws12">Science <span class="_ _1"> </span><span class="ls13 ws13">Department </span></span></div><div class="t m1 x6 h3 y5 ff1 fs1 fc0 sc0 ls14 ws14">!3tanford <span class="_ _8"> </span><span class="ls15 ws15">University </span></div><div class="t m3 x7 h5 y6 ff1 fs3 fc0 sc0 ls16 ws16">Abstract </div><div class="t m1 x8 h3 y7 ff1 fs1 fc0 sc0 ls17 ws17">Caching <span class="_ _9"></span><span class="ls18 ws18">introduces <span class="_ _a"></span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls1a ws1a">overbead <span class="_ _b"></span><span class="lsd wsd">and <span class="_ _a"></span><span class="ls1b ws1b">complexity <span class="_"> </span><span class="ls1c ws1c">of <span class="_ _c"></span><span class="ls1d ws1d">ensur- </span></span></span></span></span></span></span></div><div class="t m1 x7 h3 y8 ff1 fs1 fc0 sc0 ls1e ws1e">ing <span class="_ _d"> </span><span class="ls1f ws1f">consistency, <span class="_ _9"></span><span class="ls20 ws20">reducing <span class="_ _e"></span><span class="ls21 ws21">some <span class="_ _a"></span><span class="ls1c ws1c">of <span class="_ _f"></span><span class="ls22 ws22">its <span class="_ _10"></span><span class="ls23 ws23">performance <span class="_ _10"></span><span class="ls24 ws24">bene- </span></span></span></span></span></span></span></div><div class="t m1 x7 h3 y9 ff1 fs1 fc0 sc0 ls25 ws25">fits. <span class="_ _11"> </span><span class="ls26 ws26">In <span class="_ _d"> </span><span class="ls27 ws27">a <span class="ls28 ws28">distributed <span class="_ _12"> </span><span class="ls29 ws29">system, <span class="_ _13"></span><span class="ls2a ws2a">caching <span class="_ _f"></span><span class="ls2b ws2b">must <span class="_ _10"></span><span class="ls2c ws2c">deal <span class="_ _f"></span><span class="ls2d ws2d">,wit.h <span class="_ _14"></span><span class="ls19 ws19">the </span></span></span></span></span></span></span></span></span></div><div class="t m1 x7 h3 ya ff1 fs1 fc0 sc0 ls2e ws2e">additional <span class="_ _d"> </span><span class="ls2f ws2f">complications <span class="_ _f"></span><span class="ls1c ws1c">of <span class="ls30 ws30">communication <span class="_ _d"> </span><span class="lsd wsd">and <span class="_ _c"></span><span class="ls2c ws31">host <span class="_ _13"></span><span class="ls31 ws32">fail- </span></span></span></span></span></span></div><div class="t m1 x7 h3 yb ff1 fs1 fc0 sc0 ls32 ws33">ures. </div><div class="t m3 x9 h6 yc ff1 fs4 fc0 sc0 ls33 ws34">Leases </div><div class="t m1 xa h3 yc ff1 fs1 fc0 sc0 ls34 ws35">are <span class="_ _15"></span><span class="ls35 ws36">proposed <span class="_ _13"></span><span class="lsb wsb">as <span class="_ _15"></span><span class="ls27 ws27">a <span class="_ _16"></span><span class="ls36 ws37">time-based <span class="_ _15"></span><span class="ls37 ws38">mechanism <span class="_ _f"></span><span class="ls38 ws39">that </span></span></span></span></span></span></div><div class="t m1 x7 h3 yd ff1 fs1 fc0 sc0 ls39 ws3a">provides <span class="_ _16"></span><span class="ls3a ws3b">efficient <span class="_ _17"> </span><span class="ls3b ws3c">consistent <span class="_ _c"></span><span class="ls3c ws3d">access <span class="_ _14"></span><span class="ls3d ws3e">to <span class="_ _15"></span><span class="ls3e ws3f">cached <span class="_ _c"></span><span class="ls3f ws40">data <span class="_ _c"></span><span class="ls40 ws41">in <span class="_ _e"></span><span class="ls41 ws42">dis- </span></span></span></span></span></span></span></span></div><div class="t m1 x7 h3 ye ff1 fs1 fc0 sc0 ls42 ws43">tributed <span class="_"> </span><span class="ls43 ws44">systems. <span class="_"> </span><span class="ls44 ws45">Non-Byzantine <span class="_ _18"> </span><span class="ls45 ws46">failures <span class="_"> </span><span class="ls46 ws47">affect <span class="_ _16"></span><span class="ls47 ws48">perfor- </span></span></span></span></span></div><div class="t m1 x7 h3 yf ff1 fs1 fc0 sc0 ls48 ws49">mance, <span class="_ _e"></span><span class="ls19 ws19">not <span class="_ _12"> </span><span class="ls49 ws4a">correctness, <span class="ls4a ws4b">with <span class="_ _0"> </span><span class="ls4b ws4c">their <span class="_ _0"> </span><span class="ls46 ws47">effect <span class="_ _e"> </span><span class="ls4c ws4d">minimized <span class="_ _18"> </span><span class="ls4d ws4e">by </span></span></span></span></span></span></span></div><div class="t m1 x7 h3 y10 ff1 fs1 fc0 sc0 ls32 ws33">short <span class="ls4e ws4f">leases. <span class="_ _19"></span><span class="ls4f ws50">An <span class="_ _12"> </span><span class="ls50 ws51">analytic <span class="_ _f"></span><span class="ls51 ws52">model <span class="_ _16"></span><span class="lsd wsd">and <span class="_ _9"></span><span class="ls52 ws53">an <span class="_ _9"></span><span class="ls53 ws54">evaluation <span class="_ _d"> </span><span class="ls54 ws55">for <span class="_ _16"></span><span class="ls55 ws1">file </span></span></span></span></span></span></span></span></span></div><div class="t m1 x8 h3 y11 ff1 fs1 fc0 sc0 ls3c ws3d">access <span class="_ _1a"></span><span class="ls40 ws41">in <span class="_ _12"> </span><span class="ls19 ws19">the <span class="_ _13"></span><span class="ls56 ws56">V <span class="_ _e"></span><span class="ls57 ws57">system <span class="_ _a"></span><span class="ls58 ws58">show <span class="ls38 ws39">that <span class="_ _9"></span><span class="ls34 ws35">leases <span class="_ _1b"></span><span class="ls1c ws1c">of <span class="_ _10"></span><span class="ls32 ws33">short <span class="_ _15"></span><span class="ls59 ws59">duration </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x7 h3 y12 ff1 fs1 fc0 sc0 ls5a ws5a">provide <span class="_ _12"> </span><span class="ls27 ws27">good <span class="_ _9"></span><span class="ls5b ws5b">performance. <span class="_ _12"> </span><span class="ls5c ws5c">The <span class="_ _15"></span><span class="ls5d ws5d">impact <span class="_ _e"> </span><span class="ls1c ws1c">of <span class="_ _15"></span><span class="ls34 ws35">leases <span class="_ _a"></span><span class="ls52 ws53">on <span class="_ _15"></span><span class="ls5e ws5e">per- </span></span></span></span></span></span></span></span></div><div class="t m1 x8 h3 y13 ff1 fs1 fc0 sc0 ls5f ws5f">formance <span class="_ _19"></span><span class="ls60 ws60">grows <span class="_ _19"></span><span class="ls61 ws61">more <span class="_ _a"></span><span class="ls62 ws62">significant <span class="_ _16"></span><span class="ls40 ws41">in <span class="_ _16"></span><span class="ls63 ws63">systems <span class="_ _1c"></span><span class="ls1c ws1c">of <span class="_ _19"></span><span class="ls64 ws64">lar;ger <span class="_ _1a"></span><span class="ls65 ws65">scale </span></span></span></span></span></span></span></span></div><div class="t m1 x8 h3 y14 ff1 fs1 fc0 sc0 lsd wsd">and <span class="_ _19"></span><span class="ls66 ws66">higher <span class="_ _10"></span><span class="ls67 ws67">processor <span class="_ _b"></span><span class="ls5b ws5b">performance. </span></span></span></div><div class="t m3 x8 h5 y15 ff1 fs3 fc0 sc0 ls68 ws68">1 <span class="_ _1d"> </span><span class="ls69 ws69">Introduction </span></div><div class="t m1 x8 h3 y16 ff1 fs1 fc0 sc0 ls17 ws17">Caching <span class="_ _f"></span><span class="ls18 ws18">introduces <span class="_ _15"></span><span class="ls19 ws19">the <span class="_ _15"></span><span class="ls6a ws6a">problem <span class="_ _e"></span><span class="ls1c ws1c">of <span class="_ _16"></span><span class="ls6b ws6b">ensuring <span class="_ _e"></span><span class="ls6c ws6c">consistency </span></span></span></span></span></span></div><div class="t m1 x7 h3 y17 ff1 fs1 fc0 sc0 ls6d ws6d">between <span class="ls19 ws19">the <span class="ls3e ws3f">cached <span class="_ _1b"></span><span class="ls3f ws40">data <span class="lsd wsd">and <span class="_ _c"></span><span class="ls22 ws22">its <span class="_ _15"></span><span class="ls6e ws6e">primary <span class="_"> </span><span class="ls6f ws6f">location <span class="_"> </span><span class="ls1c ws1c">of <span class="ls70 ws70">stor- </span></span></span></span></span></span></span></span></span></div><div class="t m1 x8 h3 y18 ff1 fs1 fc0 sc0 ls3f ws40">age. <span class="_ _12"> </span><span class="ls58 ws71">By </span></div><div class="t m3 xb h6 y18 ff1 fs4 fc0 sc0 ls71 ws72">consistent, </div><div class="t m1 xc h3 y18 ff1 fs1 fc0 sc0 ls72 ws73">we <span class="_ _16"></span><span class="ls73 ws74">mean <span class="ls38 ws39">that <span class="_ _10"></span><span class="ls19 ws19">the <span class="_ _15"></span><span class="ls20 ws20">behavior <span class="_ _12"> </span><span class="ls74 ws28">is <span class="_ _f"></span><span class="ls75 ws75">equiv- </span></span></span></span></span></span></div><div class="t m1 x8 h3 y19 ff1 fs1 fc0 sc0 ls76 ws76">alent <span class="_ _10"></span><span class="ls3d ws3e">to <span class="_ _10"></span><span class="ls77 ws77">there <span class="_ _13"></span><span class="ls78 ws78">being <span class="_ _10"></span><span class="ls79 ws79">only <span class="_"> </span><span class="ls27 ws27">a <span class="_ _9"></span><span class="ls7a ws7a">single <span class="_ _f"></span><span class="ls7b ws7b">(uncached) <span class="_ _10"></span><span class="ls7c ws7c">copy <span class="_ _e"></span><span class="ls1c ws1c">of <span class="_ _10"></span><span class="ls19 ws19">the </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x8 h3 y1a ff1 fs1 fc0 sc0 ls3f ws40">data <span class="_ _b"></span><span class="ls7d ws7d">except <span class="_ _13"></span><span class="ls54 ws55">for <span class="ls19 ws19">the <span class="_ _19"></span><span class="ls23 ws23">performance <span class="_ _19"></span><span class="ls7e ws7e">benefit <span class="ls1c ws1c">of <span class="_ _c"></span><span class="ls19 ws19">the <span class="ls7f ws7f">cache. <span class="_ _c"></span><span class="lsf ws80">With </span></span></span></span></span></span></span></span></span></div><div class="t m1 x7 h3 y1b ff1 fs1 fc0 sc0 ls32 ws33">large <span class="_ _f"></span><span class="ls80 ws81">caches, <span class="_ _a"></span><span class="ls19 ws19">the <span class="ls81 ws82">traffic <span class="_ _e"> </span><span class="ls82 ws83">required <span class="_ _e"></span><span class="ls3d ws3e">to <span class="_ _16"></span><span class="ls83 ws84">maintain <span class="_"> </span><span class="ls6c ws6c">consistency </span></span></span></span></span></span></span></div><div class="t m1 x8 h3 y1c ff1 fs1 fc0 sc0 ls84 ws85">can <span class="_ _13"></span><span class="ls27 ws27">be <span class="_ _19"></span><span class="ls19 ws19">the <span class="_ _13"></span><span class="ls85 ws86">dominant <span class="_ _16"></span><span class="ls86 ws87">factor <span class="ls40 ws41">in <span class="_ _e"></span><span class="ls87 ws88">cache <span class="_ _b"></span><span class="ls5b ws5b">performance. </span></span></span></span></span></span></span></div><div class="t m1 xd h3 y1d ff1 fs1 fc0 sc0 ls88 ws89">Cache <span class="_ _12"> </span><span class="ls6c ws6c">consistency <span class="_ _d"> </span><span class="ls89 ws8a">protocols <span class="_ _0"> </span><span class="ls8a ws8b">have <span class="_ _0"> </span><span class="ls8b ws8c">been <span class="_"> </span><span class="ls8c ws8d">extensively </span></span></span></span></span></div><div class="t m1 x8 h3 y1e ff1 fs1 fc0 sc0 ls8d ws8e">studied <span class="_ _e"></span><span class="ls40 ws41">in <span class="_ _0"> </span><span class="ls19 ws19">the <span class="_ _12"> </span><span class="ls8e ws8f">work <span class="_ _0"> </span><span class="ls52 ws53">on <span class="_"> </span><span class="ls8f ws90">shared <span class="_ _15"></span><span class="ls90 ws91">memory <span class="_ _3"> </span><span class="ls91 ws92">multiprocessor </span></span></span></span></span></span></span></div><div class="t m4 xe h7 y1f ff1 fs5 fc0 sc0 ls92 ws93">This <span class="_ _18"> </span><span class="ls93 ws94">work <span class="_ _1e"> </span><span class="ls94 ws95">was </span></span></div><div class="t m1 xf h3 y1f ff1 fs1 fc0 sc0 ls95 ws96">supported </div><div class="t m4 x10 h7 y1f ff1 fs5 fc0 sc0 ls96 ws97">in <span class="_ _3"> </span><span class="ls97 ws98">part <span class="_ _0"> </span><span class="lsa ws99">by <span class="_ _0"> </span><span class="ls98 ws9a">the <span class="_ _d"> </span><span class="ls99 ws9b">Defense <span class="_ _1e"> </span><span class="ls9a ws9c">Advanced <span class="_ _8"> </span><span class="ls9b ws9d">Re- </span></span></span></span></span></span></div><div class="t m4 x8 h7 y20 ff1 fs5 fc0 sc0 ls9c ws9e">search <span class="_ _12"> </span><span class="ls9d ws9f">Projects <span class="_ _0"> </span><span class="ls9e wsa0">Agency <span class="_ _1e"> </span><span class="ls9f wsa1">under <span class="_"> </span><span class="lsa0 wsa2">contract <span class="_ _0"> </span><span class="lsa1 wsa3">NOO039-84-C-02 <span class="_ _5"> </span><span class="lsa2 wsa4">11, <span class="_ _13"></span><span class="lsa ws99">by <span class="_ _17"> </span><span class="ls98 ws9a">the <span class="_"> </span><span class="ls9b ws9d">Na- </span></span></span></span></span></span></span></span></span></div><div class="t m4 x8 h7 y21 ff1 fs5 fc0 sc0 lsa3 wsa5">tional <span class="_ _5"> </span><span class="lsa4 wsa6">Science <span class="_ _12"> </span><span class="lsa5 wsa7">Foundation <span class="_ _5"> </span><span class="lsa6 ws89">Grant <span class="_ _3"> </span><span class="lsa7 ws49">DCR-83-52048, <span class="_ _6"> </span><span class="lsa8 wsa8">and <span class="_ _16"></span><span class="lsa ws99">by <span class="_"> </span><span class="lsa9 wsa9">Digital <span class="_ _2"> </span><span class="lsaa wsaa">Equip- </span></span></span></span></span></span></span></span></div><div class="t m4 x8 h7 y22 ff1 fs5 fc0 sc0 lsab wsab">ment <span class="_ _12"> </span><span class="ls49 wsac">Corporation. </span></div><div class="t m4 x11 h7 y23 ff1 fs5 fc0 sc0 lsac wsad">Permission <span class="_ _1b"></span><span class="lsad wsae">to <span class="_ _f"> </span><span class="lsa ws99">copy <span class="_ _15"></span><span class="lsae wsaf">without <span class="_ _17"> </span><span class="lsaf wsb0">fee <span class="_ _c"></span><span class="lsb0 wsb1">all <span class="_ _16"></span><span class="lsb1 wsb2">or <span class="_ _f"></span><span class="ls97 ws98">part <span class="_ _10"></span><span class="lsb2 wsb3">of <span class="_ _16"></span><span class="ls96 ws97">this <span class="_ _15"></span><span class="lsb3 wsb4">material <span class="_ _10"></span><span class="lsb4 wsb5">is <span class="_ _9"></span><span class="lsb5 wsb6">granted <span class="lsb6 wsb7">provided </span></span></span></span></span></span></span></span></span></span></span></span></span></div><div class="t m4 x11 h7 y24 ff1 fs5 fc0 sc0 lsb7 wsb8">that <span class="_ _15"></span><span class="ls98 ws9a">the <span class="_ _15"></span><span class="lsb8 wsb9">copies <span class="_ _19"></span><span class="lsb9 wsba">are <span class="ls98 wsbb">not <span class="_ _10"></span><span class="lsba wsbc">made <span class="_ _9"></span><span class="lsb1 wsb2">or <span class="_ _16"></span><span class="lsbb wsbd">distributed <span class="_ _16"></span><span class="lsbc wsbe">for <span class="_ _e"> </span><span class="lsbd wsbf">direct <span class="lsbe wsc0">commercial <span class="_ _10"></span><span class="lsbf wsc1">advantage, </span></span></span></span></span></span></span></span></span></span></span></div><div class="t m4 x11 h7 y25 ff1 fs5 fc0 sc0 ls98 ws9a">the <span class="lsc0 wsc2">ACM <span class="_ _d"> </span><span class="lsc1 ws62">copyright <span class="_ _10"></span><span class="lsc2 wsc3">notice <span class="_ _10"></span><span class="lsa8 wsa8">and </span></span></span></span>the <span class="lsc3 wsc4">title <span class="_ _e"> </span><span class="lsb2 wsb3">of <span class="_ _16"></span></span></span>the <span class="ls21 wsc5">publication <span class="_ _e"> </span><span class="lsa8 wsa8">and <span class="lsc4 wsc6">its <span class="lsc5 wsc">date <span class="lsc6 ws45">appear, </span></span></span></span></span></div><div class="t m4 x11 h7 y26 ff1 fs5 fc0 sc0 lsa8 wsa8">and <span class="lsc2 wsc3">notice <span class="_ _10"></span><span class="lsb4 wsb5">is <span class="_ _9"></span><span class="lsc7 wsc7">given <span class="_ _15"></span><span class="lsb7 wsb8">that <span class="_ _15"></span><span class="ls5d wsc8">copying <span class="lsb4 wsb5">is <span class="_ _13"></span><span class="lsa ws99">by <span class="_ _10"></span><span class="lsc8 wsc9">permission <span class="_ _13"></span><span class="lsb2 wsb3">of <span class="_ _16"></span><span class="ls98 ws9a">the <span class="_ _10"></span><span class="lsc9 wsca">Association <span class="lsbc wsbe">for </span></span></span></span></span></span></span></span></span></span></span></span></div><div class="t m4 x11 h7 y27 ff1 fs5 fc0 sc0 lsca wscb">Computing <span class="_ _f"></span><span class="lscb wscc">Machinery. <span class="_ _f"></span><span class="lscc wscd">To <span class="_ _f"></span><span class="lsa ws99">copy <span class="_ _10"></span><span class="lscd wsce">otherwise, <span class="_ _9"></span><span class="lsb1 wsb2">or <span class="_ _e"> </span><span class="lsad wsae">to <span class="_ _10"></span><span class="lsce wscf">republish, <span class="lscf wsd0">requires <span class="_ _c"></span><span class="lsd0 wsd1">a <span class="_ _15"></span><span class="lsaf wsb0">fee </span></span></span></span></span></span></span></span></span></span></div><div class="t m4 x11 h7 y28 ff1 fs5 fc0 sc0 lsd1 wsd2">and/or <span class="_"> </span><span class="lsd2 wsd3">specific <span class="lsd3 wsd4">permission. </span></span></div><div class="t m4 x11 h7 y29 ff1 fs5 fc0 sc0 lsd4 wsd5">0 </div><div class="t m5 x12 h8 y29 ff1 fs6 fc0 sc0 lsd5 wsd6">1989 <span class="_ _12"> </span><span class="lsd6 wsd7">ACM089791-338-3/89/0012/0202 </span></div><div class="t m4 x13 h7 y29 ff1 fs5 fc0 sc0 lsd7 wsd8">$1.50 </div><div class="t m1 x14 h3 y6 ff1 fs1 fc0 sc0 lsd8 wsd9">architectures; <span class="_ _17"> </span><span class="ls4b ws4c">this <span class="_"> </span><span class="ls8e ws8f">work <span class="_"> </span><span class="lsd9 wsda">relies <span class="_ _d"> </span><span class="ls52 ws53">on <span class="_ _e"> </span><span class="lsda wsb4">reliable, <span class="_ _5"> </span><span class="lsdb wsdb">synchronous </span></span></span></span></span></span></div><div class="t m1 x14 h3 y2a ff1 fs1 fc0 sc0 lsdc wsdc">broadcast <span class="_ _19"></span><span class="ls30 ws30">communication <span class="_ _d"> </span><span class="lsb wsb">as <span class="_ _1b"></span><span class="lsdd wsdd">provided <span class="_ _f"></span><span class="ls4d ws4e">by <span class="_ _10"></span><span class="ls19 ws19">the <span class="_ _15"></span><span class="ls57 ws57">system <span class="_ _1b"></span><span class="ls2c ws31">bus. </span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y2b ff1 fs1 fc0 sc0 ls56 ws56">A <span class="_ _16"></span><span class="ls28 ws28">distributed <span class="_ _10"></span><span class="ls29 ws29">system, <span class="_ _b"></span><span class="lsde wsde">however, <span class="_ _13"></span><span class="ls84 ws85">can <span class="_ _19"></span><span class="lsdf wsdf">experience <span class="_ _19"></span><span class="lse0 wse0">partial <span class="_ _f"></span><span class="ls31 ws32">fail- </span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y2c ff1 fs1 fc0 sc0 ls32 ws33">ures: <span class="_ _f"></span><span class="ls27 ws27">a <span class="_ _19"></span><span class="ls2c ws31">host <span class="_ _9"></span><span class="lse1 wse1">may <span class="_ _f"></span><span class="lse2 wse2">crash <span class="_ _9"></span><span class="ls5e ws5e">or <span class="lse3 wse3">messages <span class="_ _1f"></span><span class="lse1 wse1">may <span class="_ _15"></span><span class="ls27 ws27">be <span class="_ _c"></span><span class="lse4 wse4">lost. <span class="_ _e"></span><span class="lse5 wse5">Existing </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y2d ff1 fs1 fc0 sc0 lse6 wse6">approaches <span class="_ _14"></span><span class="ls3d ws3e">to <span class="_ _15"></span><span class="ls6c ws6c">consistency <span class="_ _9"></span><span class="ls54 ws55">for <span class="_ _15"></span><span class="ls55 ws1">file <span class="_ _e"> </span><span class="lse7 wse7">caches <span class="_ _1c"></span><span class="ls55 wse8">fall <span class="_ _12"> </span><span class="lse8 wse9">into <span class="ls3c ws3d">two <span class="_ _16"></span><span class="lse9 wsea">cat- </span></span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y2e ff1 fs1 fc0 sc0 lsea wseb">egories: <span class="_ _17"> </span><span class="lseb wsec">those <span class="_ _13"></span><span class="ls38 ws39">that <span class="_ _16"></span><span class="lsec wsed">assume <span class="_ _1b"></span><span class="lsed wsee">reliable <span class="_ _d"> </span><span class="lsee wsef">broadcast, <span class="_ _9"></span><span class="lsd wsd">and <span class="lsb wsb">so <span class="ls27 ws27">do </span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y2f ff1 fs1 fc0 sc0 ls19 ws19">not <span class="_ _9"></span><span class="lsef wsf0">tolerate <span class="_ _9"></span><span class="ls30 ws30">communication <span class="_ _e"></span><span class="lsf0 wsa8">failures, <span class="_ _10"></span><span class="lsd wsd">and <span class="_ _b"></span><span class="lseb wsec">those <span class="_ _b"></span><span class="ls38 ws39">that <span class="_ _19"></span><span class="lsf1 wsf1">require </span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y30 ff1 fs1 fc0 sc0 ls27 ws27">a <span class="ls6c ws6c">consistency <span class="_ _10"></span><span class="lsf2 wsf2">check <span class="_ _10"></span><span class="ls54 ws55">for <span class="_ _f"></span><span class="lsf3 wsf3">every <span class="_ _f"></span><span class="lsf4 wsf4">read, </span></span></span></span></span></div><div class="t m3 x15 h6 y30 ff1 fs4 fc0 sc0 lsf5 wsf5">and </div><div class="t m1 x16 h3 y30 ff1 fs1 fc0 sc0 lsb wsb">so <span class="_ _13"></span><span class="ls55 wse8">fail <span class="_"> </span><span class="ls3d ws3e">to <span class="lsf6 wsf6">deliver </span></span></span></div><div class="t m1 x14 h3 y31 ff1 fs1 fc0 sc0 ls27 ws27">good <span class="_ _c"></span><span class="ls5b ws5b">performance. </span></div><div class="t m1 x17 h3 y32 ff1 fs1 fc0 sc0 ls26 ws26">In <span class="_ _12"> </span><span class="ls4b ws4c">this <span class="lsf7 wsf7">paper, <span class="_ _13"></span><span class="ls34 ws35">leases <span class="_ _1c"></span>are <span class="_ _19"></span><span class="ls35 ws36">proposed <span class="_ _a"></span><span class="lsb wsb">as <span class="_ _c"></span><span class="ls27 ws27">a <span class="_ _9"></span><span class="ls6c ws6c">consistency <span class="_ _9"></span><span class="ls5e ws5e">pro- </span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y33 ff1 fs1 fc0 sc0 lsea wsf8">tocol <span class="_ _3"> </span><span class="ls38 ws39">that <span class="_ _12"> </span><span class="lsf8 wsf9">handles <span class="_ _16"></span><span class="ls2c ws31">host <span class="_ _e"> </span><span class="lsd wsd">and <span class="_ _e"></span><span class="ls30 ws30">communication <span class="_ _0"> </span><span class="ls45 ws46">failures <span class="_ _d"> </span><span class="lsf9 wsfa">us- </span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y34 ff1 fs1 fc0 sc0 ls1e ws1e">ing <span class="_ _12"> </span><span class="lsfa wsfb">physical <span class="_ _0"> </span><span class="lsfb wsfc">clocks. <span class="_ _4"> </span><span class="ls4f ws50">An <span class="_ _3"> </span><span class="ls50 ws51">analytic <span class="_"> </span><span class="ls51 ws52">model <span class="_ _12"> </span><span class="lsd wsd">and <span class="_ _10"></span><span class="ls52 ws53">an <span class="_ _16"></span><span class="lsfc wsfd">evalua- </span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y35 ff1 fs1 fc0 sc0 lse8 wsfe">tion <span class="_ _e"></span><span class="lsfd wsff">using <span class="_ _13"></span><span class="ls55 ws1">file <span class="_ _f"></span><span class="ls3c ws3d">access <span class="_ _14"></span><span class="lsfe ws100">characteristics <span class="_ _9"></span><span class="ls1c ws1c">of <span class="_ _15"></span><span class="ls19 ws19">the <span class="_ _19"></span><span class="ls56 ws56">V <span class="_ _10"></span><span class="ls57 ws57">system <span class="_ _b"></span><span class="ls58 ws58">show </span></span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y36 ff1 fs1 fc0 sc0 ls38 ws39">that <span class="_ _10"></span><span class="lsff ws101">short-term <span class="ls34 ws35">leases <span class="_ _1b"></span><span class="ls5a ws5a">provide <span class="_ _e"></span><span class="ls100 ws102">near <span class="ls101 ws103">optimal <span class="_ _e"></span><span class="ls35 ws104">efficiency <span class="_ _d"> </span><span class="ls54 ws55">for </span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y37 ff1 fs1 fc0 sc0 ls27 ws27">a <span class="_ _c"></span><span class="ls32 ws33">large <span class="lsff ws105">class <span class="_ _19"></span><span class="ls1c ws1c">of <span class="_ _9"></span><span class="ls63 ws63">systems <span class="_ _b"></span><span class="ls40 ws41">in <span class="_ _e"></span><span class="lsea wseb">spite <span class="_ _9"></span><span class="ls1c ws1c">of <span class="_ _9"></span><span class="ls19 ws19">the <span class="ls102 ws106">fault-tolerance <span class="_ _15"></span><span class="ls5e ws5e">pro- </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y38 ff1 fs1 fc0 sc0 ls103 wsf6">visions. <span class="_ _11"> </span><span class="ls104 ws107">We <span class="ls24 ws24">argue <span class="_ _13"></span><span class="ls38 ws39">that <span class="_ _16"></span><span class="ls34 ws35">leases <span class="_ _19"></span>are <span class="_ _13"></span><span class="ls1c ws1c">of <span class="_ _16"></span><span class="ls105 ws108">increased <span class="_ _9"></span><span class="ls7e ws7e">benefit <span class="_ _16"></span><span class="ls40 ws41">in </span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y39 ff1 fs1 fc0 sc0 ls106 ws109">future <span class="_ _16"></span><span class="ls28 ws28">distributed <span class="_ _e"></span><span class="ls63 ws63">systems <span class="_ _1b"></span><span class="ls1c ws1c">of <span class="_ _13"></span><span class="ls107 ws10a">larger <span class="_ _10"></span><span class="ls65 ws65">scale <span class="_ _a"></span><span class="ls4a ws4b">with <span class="_ _d"> </span><span class="ls4b ws4c">their <span class="_ _10"></span><span class="ls107 ws10a">larger </span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y3a ff1 fs1 fc0 sc0 ls108 ws10b">ratio <span class="_ _12"> </span><span class="ls1c ws1c">of <span class="_ _10"></span><span class="ls67 ws67">processor <span class="_ _9"></span><span class="ls109 ws10c">speed <span class="_ _a"></span><span class="ls3d ws3e">to <span class="_ _f"></span><span class="ls10a ws10d">network <span class="_ _12"> </span><span class="ls10b ws10e">delay <span class="_ _f"></span><span class="lsd wsd">and <span class="ls107 ws10a">larger <span class="_ _f"></span><span class="ls34 ws35">ag- </span></span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y3b ff1 fs1 fc0 sc0 ls10c ws10f">gregate <span class="_ _a"></span><span class="ls10d ws110">rate <span class="_ _13"></span><span class="ls1c ws1c">of <span class="ls10e ws111">failure. </span></span></span></div><div class="t m1 x17 h3 y3c ff1 fs1 fc0 sc0 ls5c ws5c">The <span class="ls10f ws112">next <span class="_ _15"></span><span class="ls110 ws113">section <span class="_ _9"></span><span class="lsb6 ws114">describes <span class="_ _b"></span><span class="ls34 ws35">leases <span class="_ _1a"></span><span class="lsd wsd">and <span class="_ _1b"></span><span class="ls10b ws115">how <span class="ls111 ws116">they <span class="_ _10"></span><span class="ls34 ws35">are <span class="_ _b"></span><span class="ls112 ws117">used </span></span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y3d ff1 fs1 fc0 sc0 ls3d ws3e">to <span class="_ _12"> </span><span class="ls113 ws118">implement <span class="_"> </span><span class="ls87 ws88">cache <span class="ls1f ws1f">consistency. <span class="_ _1e"> </span><span class="ls114 ws119">Section <span class="_ _f"></span><span class="ls27 ws27">3 <span class="_ _e"></span><span class="ls115 ws11a">derives <span class="_ _16"></span><span class="ls116 ws11b">our </span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y3e ff1 fs1 fc0 sc0 ls117 ws11c">simple <span class="ls50 ws51">analytic <span class="_ _15"></span><span class="ls51 ws52">model <span class="_ _15"></span><span class="ls54 ws55">for <span class="_ _13"></span><span class="lsf1 wsf1">picking <span class="_ _16"></span><span class="ls118 ws11d">lease <span class="_ _b"></span><span class="lsf wsf">terms <span class="_ _19"></span><span class="lsd wsd">and <span class="_ _1c"></span><span class="ls83 ws11e">explores </span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y3f ff1 fs1 fc0 sc0 ls4b ws4c">their <span class="_"> </span><span class="ls119 ws11f">application <span class="_ _0"> </span><span class="lsfd wsff">using <span class="_ _12"> </span><span class="ls3f ws40">data <span class="_ _15"></span><span class="ls11a ws120">from <span class="_ _12"> </span><span class="ls19 ws19">the <span class="_ _e"></span><span class="ls56 ws56">V <span class="_ _12"> </span><span class="ls28 ws28">distributed <span class="_ _d"> </span><span class="ls11b ws121">sys- </span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y40 ff1 fs1 fc0 sc0 ls11c ws122">tem <span class="_ _16"></span><span class="ls11d ws123">[4]. <span class="_ _0"> </span><span class="ls114 ws119">Section <span class="_ _10"></span><span class="ls27 ws27">4 <span class="_ _15"></span><span class="lsb6 ws114">describes <span class="_ _19"></span><span class="ls21 ws21">some <span class="_ _c"></span><span class="ls11e ws124">optimizations <span class="_ _e"> </span><span class="ls40 ws41">in <span class="_ _12"> </span><span class="ls118 ws11d">lease </span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y41 ff1 fs1 fc0 sc0 ls11f ws125">management. <span class="_ _0"> </span><span class="ls114 ws119">Section <span class="_ _16"></span><span class="ls27 ws27">5 <span class="_ _f"></span><span class="ls120 ws9e">examines <span class="_ _f"></span><span class="ls19 ws19">the <span class="_ _f"></span><span class="ls102 ws106">fault-tolerance <span class="_ _12"> </span><span class="ls1c ws1c">of </span></span></span></span></span></span></div><div class="t m1 x14 h3 y42 ff1 fs1 fc0 sc0 ls6f ws126">leasing. <span class="_ _1e"> </span><span class="ls114 ws119">Section <span class="_ _e"> </span><span class="ls27 ws27">6 <span class="_ _e"></span><span class="ls121 ws127">compares <span class="_ _9"></span><span class="ls34 ws35">leases <span class="_ _19"></span><span class="ls4a ws4b">with <span class="_ _0"> </span><span class="ls77 ws77">other <span class="_ _f"></span><span class="ls8e ws8f">work <span class="_"> </span><span class="ls52 ws53">on </span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y43 ff1 fs1 fc0 sc0 ls28 ws28">distributed <span class="_ _12"> </span><span class="ls87 ws88">cache <span class="_ _13"></span><span class="ls6c ws6c">consistency <span class="_ _16"></span><span class="lsd wsd">and <span class="ls122 ws128">related <span class="_ _13"></span><span class="ls67 ws67">problems. <span class="_"> </span><span class="ls5c ws5c">The </span></span></span></span></span></span></div><div class="t m1 x14 h3 y44 ff1 fs1 fc0 sc0 ls123 ws129">concluding <span class="_ _12"> </span><span class="ls110 ws113">section <span class="ls124 ws12a">summarizes <span class="_ _19"></span><span class="ls116 ws11b">our <span class="_ _13"></span><span class="ls125 ws12b">results <span class="_ _9"></span><span class="lsd wsd">and <span class="_ _c"></span><span class="ls118 ws11d">speculates </span></span></span></span></span></span></div><div class="t m1 x14 h3 y45 ff1 fs1 fc0 sc0 ls52 ws53">on <span class="_ _f"></span><span class="ls126 ws12c">further <span class="_ _e"></span><span class="ls127 ws12d">applications <span class="_ _16"></span><span class="ls1c ws1c">of <span class="_ _10"></span><span class="ls34 ws35">leases <span class="_ _b"></span><span class="lsd wsd">and <span class="ls128 ws12e">directions <span class="_ _f"></span><span class="ls54 ws55">for <span class="_ _16"></span><span class="ls106 ws109">future </span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y46 ff1 fs1 fc0 sc0 ls129 ws12f">research. </div><div class="t m3 x14 h5 y47 ff1 fs3 fc0 sc0 ls68 ws68">2 <span class="_ _20"> </span><span class="ls12a wse4">Leases <span class="_ _1c"></span><span class="ls68 ws68">and <span class="_ _e"></span><span class="ls12b ws130">Cache <span class="_ _15"></span><span class="ls12c ws131">Consistency </span></span></span></span></div><div class="t m1 x14 h3 y48 ff1 fs1 fc0 sc0 ls56 ws56">A <span class="_ _12"> </span><span class="ls118 ws11d">lease <span class="_ _c"></span><span class="ls74 ws28">is <span class="_ _16"></span><span class="ls27 ws27">a <span class="lsea wseb">contract <span class="_ _15"></span><span class="ls38 ws39">that <span class="_ _10"></span><span class="ls12d ws132">gives <span class="_ _10"></span><span class="ls22 ws22">its <span class="_ _16"></span><span class="ls12e ws133">holder <span class="_ _f"></span><span class="ls12f ws134">specified <span class="_ _10"></span><span class="ls130 ws135">rights </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y49 ff1 fs1 fc0 sc0 ls131 ws136">over <span class="_ _10"></span><span class="ls6e ws137">property <span class="_ _12"> </span><span class="ls54 ws55">for <span class="_ _f"></span><span class="ls27 ws27">a <span class="_ _c"></span><span class="ls132 ws138">limited <span class="_"> </span><span class="ls133 ws139">period <span class="_ _f"></span><span class="ls1c ws1c">of <span class="_ _10"></span><span class="ls134 ws13a">time. <span class="_ _d"> </span><span class="ls26 ws26">In <span class="_ _e"> </span><span class="ls19 ws19">the <span class="_ _15"></span><span class="ls135 ws1d">context </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x18 h3 y4a ff1 fs1 fc0 sc0 ls1c ws1c">of <span class="_ _15"></span><span class="ls136 ws13b">caching, <span class="_ _16"></span><span class="ls27 ws27">a <span class="_ _19"></span><span class="ls118 ws11d">lease <span class="_ _c"></span><span class="ls133 ws139">grants <span class="_ _19"></span><span class="ls3d ws3e">to <span class="_ _10"></span><span class="ls22 ws22">its <span class="ls12e ws133">holder <span class="_ _f"></span><span class="ls137 ws13c">control <span class="_ _e"></span><span class="ls131 ws136">over <span class="ls138 ws13d">writes </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y4b ff1 fs1 fc0 sc0 ls3d ws3e">to <span class="_ _c"></span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls12 ws12">covered <span class="_ _a"></span><span class="ls139 ws13e">datum <span class="_ _1b"></span><span class="ls66 ws66">during <span class="_ _f"></span><span class="ls19 ws19">the <span class="_ _a"></span><span class="lsf ws13f">term <span class="_ _c"></span><span class="ls1c ws1c">of <span class="_ _c"></span><span class="ls19 ws19">the <span class="_ _a"></span><span class="ls80 ws81">lease, <span class="_ _b"></span><span class="ls4d ws4e">such <span class="_ _a"></span><span class="ls38 ws39">that </span></span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x14 h3 y4c ff1 fs1 fc0 sc0 ls19 ws19">the <span class="ls13a ws140">server <span class="_ _9"></span><span class="ls2b ws2b">must <span class="ls13b ws141">obtain <span class="ls19 ws19">the <span class="_ _10"></span><span class="lsdd ws142">approval <span class="_ _10"></span><span class="ls1c ws1c">of </span></span>the <span class="_ _9"></span><span class="ls13c ws143">leaseholder <span class="_ _a"></span><span class="ls34 ws35">be- </span></span></span></span></span></span></div><div class="t m1 x18 h3 y4d ff1 fs1 fc0 sc0 ls7 ws144">fore <span class="_ _13"></span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls139 ws13e">datum <span class="_ _19"></span><span class="lse1 wse1">may <span class="ls27 ws27">be <span class="_ _19"></span><span class="ls45 ws46">written. <span class="_"> </span><span class="ls13d ws145">When <span class="ls27 ws27">a <span class="_ _19"></span><span class="ls13c ws143">leaseholder <span class="_ _1b"></span><span class="ls133 ws139">grants </span></span></span></span></span></span></span></span></span></div><div class="t m1 x18 h3 y29 ff1 fs1 fc0 sc0 lsdd ws142">approval <span class="_ _16"></span><span class="ls54 ws55">for <span class="_ _10"></span><span class="ls27 ws27">a <span class="_ _19"></span><span class="lsb8 ws146">write, <span class="_ _e"></span><span class="ls13e ws147">it <span class="_ _16"></span><span class="ls13f ws148">invalidates <span class="_ _f"></span><span class="ls22 ws22">its <span class="ls140 ws149">local <span class="_ _f"></span><span class="ls7c ws7c">copy <span class="_ _15"></span><span class="ls1c ws1c">of <span class="ls19 ws19">the <span class="_ _19"></span><span class="ls34 ws35">da- </span></span></span></span></span></span></span></span></span></span></span></div><div class="t m3 x19 h6 y4e ff1 fs4 fc0 sc0 ls141 ws14a">202 </div></div><div class="pi" data-data='{"ctm":[1.566069,0.000000,0.000000,1.566069,0.000000,0.000000]}'></div></div>
</body>
</html>
<div id="pf2" class="pf w2 h9" data-page-no="2"><div class="pc pc2 w2 h9"><img class="bi x0 y0 w3 ha" alt="" src="https://static.pudn.com/prod/directory_preview_static/6272fb457ec58a2c01185528/bg2.jpg"><div class="t m3 x1a h6 y4f ff1 fs4 fc0 sc0 ls142 ws14b">mm. </div><div class="t m1 x1b h3 y50 ff1 fs1 fc0 sc0 ls56 ws56">A <span class="_ _12"> </span><span class="ls87 ws88">cache <span class="_ _c"></span><span class="lsfd wsff">using <span class="_ _e"></span><span class="ls34 ws35">leases <span class="_ _1b"></span><span class="ls143 ws14c">requires <span class="_ _16"></span><span class="ls27 ws27">a <span class="_ _15"></span><span class="ls144 ws14d">valid <span class="_"> </span><span class="ls118 ws11d">lease <span class="_ _13"></span><span class="ls52 ws53">on <span class="_ _16"></span><span class="ls19 ws19">the <span class="_ _15"></span><span class="ls34 ws35">da- </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y51 ff1 fs1 fc0 sc0 ls101 ws14e">tum <span class="_ _15"></span><span class="ls145 ws14f">(in <span class="_ _16"></span><span class="ls146 ws150">addition <span class="_ _15"></span><span class="ls3d ws3e">to <span class="_ _9"></span><span class="ls147 ws151">holding <span class="_ _e"></span><span class="ls19 ws19">the <span class="_ _c"></span><span class="ls148 ws152">datum) <span class="_ _9"></span><span class="ls149 ws153">before <span class="_ _9"></span><span class="ls13e ws147">it <span class="_ _16"></span><span class="lsf1 wsf1">returns <span class="_ _c"></span><span class="ls19 ws19">the </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y52 ff1 fs1 fc0 sc0 ls139 ws13e">datum <span class="_ _13"></span><span class="ls40 ws41">in <span class="_ _f"></span><span class="ls132 ws138">response <span class="_ _b"></span><span class="ls3d ws3e">to <span class="_ _10"></span><span class="ls27 ws27">a <span class="_ _9"></span><span class="lsf4 wsf4">read, <span class="ls5e ws5e">or <span class="_ _15"></span><span class="ls14a ws154">modifies <span class="_ _e"></span><span class="ls19 ws19">the <span class="ls139 ws13e">datum <span class="ls40 ws41">in <span class="_ _f"></span><span class="ls14b ws155">re- </span></span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y53 ff1 fs1 fc0 sc0 ls3e ws3f">sponse <span class="_ _1a"></span><span class="ls3d ws3e">to <span class="_ _9"></span><span class="ls27 ws27">a <span class="_ _b"></span><span class="lsb8 ws146">write. <span class="_ _d"> </span><span class="ls13d ws145">When <span class="_ _13"></span><span class="ls27 ws27">a <span class="_ _b"></span><span class="ls139 ws13e">datum <span class="_ _c"></span><span class="ls74 ws28">is <span class="_ _c"></span><span class="ls14c ws156">fetched <span class="_ _c"></span><span class="ls11a ws120">from <span class="ls19 ws19">the <span class="_ _c"></span><span class="ls13a ws140">server </span></span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y54 ff1 fs1 fc0 sc0 ls6f ws126">(the <span class="_ _9"></span><span class="ls6e ws6e">primary <span class="_ _12"> </span><span class="ls14d ws157">storage <span class="_ _b"></span><span class="ls101 ws158">site <span class="ls1c ws1c">of <span class="ls19 ws19">the <span class="_ _13"></span><span class="ls14e ws159">datum), <span class="_ _13"></span><span class="ls19 ws19">the <span class="_ _13"></span><span class="ls13a ws140">server <span class="_ _13"></span><span class="ls6e ws15a">also <span class="_ _19"></span><span class="ls14b ws155">re- </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y55 ff1 fs1 fc0 sc0 ls14f ws15b">turns <span class="_ _f"></span><span class="ls27 ws27">a <span class="_ _9"></span><span class="ls118 ws11d">lease <span class="ls150 ws15c">guaranteeing <span class="ls38 ws39">that <span class="_ _10"></span><span class="ls19 ws19">the <span class="_ _16"></span><span class="ls3f ws40">data <span class="_ _9"></span><span class="ls151 ws15d">will <span class="_ _11"> </span><span class="ls19 ws19">not <span class="_ _f"></span><span class="ls27 ws27">be <span class="_ _15"></span><span class="ls152 wscf">writ- </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y56 ff1 fs1 fc0 sc0 ls19 ws15e">ten <span class="_ _f"></span><span class="ls4d ws4e">by <span class="_ _e"> </span><span class="ls153 ws144">any <span class="_ _f"></span><span class="ls4b ws4c">client <span class="_ _12"> </span><span class="ls66 ws66">during <span class="_ _12"> </span></span></span></span></span><span class="ws19">the <span class="_ _10"></span><span class="ls118 ws11d">lease <span class="_ _9"></span><span class="ls154 ws15f">rerm <span class="_ _15"></span><span class="ls116 ws11b">unless <span class="_ _15"></span><span class="ls19 ws19">the <span class="_ _10"></span><span class="ls13a ws140">server </span></span></span></span></span></span></div><div class="t m1 x1a h3 y57 ff1 fs1 fc0 sc0 ls155 ws160">first <span class="_ _d"> </span><span class="ls8d ws8e">obtains <span class="_ _15"></span><span class="ls19 ws19">the <span class="_ _f"></span><span class="lsdd ws142">approval <span class="_"> </span><span class="ls1c ws1c">of <span class="_ _e"></span><span class="ls4b ws4c">this <span class="_ _e"></span><span class="ls42 ws161">leaseholder. <span class="_ _0"> </span><span class="ls156 ws162">If <span class="_ _17"> </span></span></span></span></span></span>the <span class="_ _e"></span><span class="ls34 ws35">da- </span></span></span></div><div class="t m1 x1a h3 y58 ff1 fs1 fc0 sc0 ls101 ws14e">tum <span class="_ _13"></span><span class="ls74 ws28">is <span class="ls157 ws163">read <span class="_ _c"></span><span class="ls78 ws164">again <span class="_ _13"></span><span class="ls158 ws165">within <span class="_ _3"> </span><span class="ls19 ws19">the <span class="lsf ws13f">term <span class="_ _c"></span><span class="ls1c ws1c">of <span class="_ _15"></span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls118 ws11d">lease <span class="_ _a"></span><span class="ls100 ws102">(and <span class="ls19 ws19">the <span class="_ _9"></span><span class="ls34 ws35">da- </span></span></span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y59 ff1 fs1 fc0 sc0 ls101 ws14e">tum <span class="_ _13"></span><span class="ls74 ws28">is <span class="_ _13"></span><span class="ls159 ws166">still <span class="_ _f"></span><span class="ls40 ws41">in <span class="_ _f"></span><span class="ls19 ws19">the <span class="_ _19"></span><span class="ls15a ws167">cache), <span class="_ _19"></span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls87 ws88">cache <span class="_ _1c"></span><span class="ls39 ws3a">provides <span class="ls15b ws168">immediate <span class="_ _15"></span><span class="ls15c ws169">ac- </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y5a ff1 fs1 fc0 sc0 ls14 ws16a">cess <span class="_ _14"></span><span class="ls3d ws3e">to <span class="ls19 ws19">the <span class="_ _19"></span><span class="ls139 ws13e">datum <span class="_ _9"></span><span class="ls15d ws16b">without <span class="_ _12"> </span><span class="ls30 ws16c">communicating <span class="_ _e"></span><span class="ls4a ws4b">with <span class="_ _12"> </span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls15e ws16d">server. </span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y5b ff1 fs1 fc0 sc0 ls9 ws16e">After <span class="_ _d"> </span><span class="ls19 ws19">the <span class="_ _15"></span><span class="ls118 ws11d">lease <span class="_ _a"></span><span class="ls15f ws16f">expires, <span class="_ _e"></span><span class="ls27 ws27">a <span class="_ _9"></span><span class="ls157 ws163">read <span class="_ _10"></span><span class="ls1c ws1c">of <span class="_ _10"></span><span class="ls19 ws19">the <span class="_ _15"></span><span class="ls139 ws13e">datum <span class="ls143 ws14c">requires <span class="_ _10"></span><span class="ls38 ws39">that </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y5c ff1 fs1 fc0 sc0 ls19 ws19">the <span class="_ _9"></span><span class="ls87 ws88">cache <span class="_ _1b"></span><span class="ls155 ws160">first <span class="_ _16"></span><span class="ls160 ws170">extend <span class="_ _13"></span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls118 ws11d">lease <span class="_ _1b"></span><span class="ls52 ws53">on <span class="ls19 ws19">the <span class="_ _c"></span><span class="ls161 ws171">datum, <span class="ls2a ws2a">updating <span class="ls19 ws19">the </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y5d ff1 fs1 fc0 sc0 ls87 ws88">cache <span class="_ _c"></span><span class="ls162 ws172">if <span class="_ _12"> </span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls139 ws13e">datum <span class="_ _15"></span><span class="ls84 ws173">has <span class="_ _9"></span><span class="ls8b ws8c">been <span class="ls163 ws174">modified <span class="_ _12"> </span><span class="ls12d ws132">since <span class="ls19 ws19">the <span class="_ _15"></span><span class="ls118 ws11d">lease <span class="_ _c"></span><span class="ls164 ws175">ex- </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y5e ff1 fs1 fc0 sc0 ls165 ws176">pired. <span class="_ _12"> </span><span class="ls13d ws145">When <span class="ls27 ws27">a <span class="_ _1b"></span><span class="ls4b ws4c">client <span class="_ _f"></span><span class="ls138 ws13d">writes <span class="_ _10"></span><span class="ls27 ws27">a <span class="_ _a"></span><span class="ls161 ws171">datum, <span class="ls19 ws19">the <span class="_ _c"></span><span class="ls13a ws140">server <span class="_ _c"></span><span class="ls2b ws2b">must <span class="_ _9"></span><span class="ls166 ws177">defer </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y5f ff1 fs1 fc0 sc0 ls19 ws19">the <span class="_ _13"></span><span class="ls114 ws178">request <span class="_ _1b"></span><span class="ls167 ws179">until <span class="_"> </span><span class="ls112 ws17a">each <span class="_ _1b"></span><span class="ls13c ws143">leaseholder <span class="ls84 ws173">has <span class="_ _1b"></span><span class="ls168 ws17b">granted <span class="_ _c"></span><span class="lsdd ws142">approval <span class="_ _f"></span><span class="ls5e ws5e">or </span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y60 ff1 fs1 fc0 sc0 ls19 ws19">the <span class="_ _13"></span><span class="lsf ws13f">term <span class="ls1c ws1c">of <span class="_ _13"></span><span class="ls22 ws22">its <span class="ls118 ws11d">lease <span class="_ _1b"></span><span class="ls84 ws173">has <span class="_ _a"></span><span class="ls169 ws17c">expired. </span></span></span></span></span></span></div><div class="t m1 x1b h3 y61 ff1 fs1 fc0 sc0 ls104 ws107">We <span class="_ _b"></span><span class="ls16a ws17d">limit <span class="_ _17"> </span><span class="ls16b ws17e">ourselves <span class="_ _b"></span><span class="ls100 ws102">here <span class="_ _19"></span><span class="ls3d ws3e">to <span class="_ _9"></span><span class="ls16c ws17f">write-through caches, <span class="_ _15"></span><span class="ls54 ws55">for <span class="ls34 ws35">do- </span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y62 ff1 fs1 fc0 sc0 ls1e ws1e">ing <span class="_ _17"> </span><span class="lsb wsb">so <span class="ls16d ws180">simplifies <span class="_"> </span><span class="ls19 ws19">the <span class="_ _16"></span><span class="ls16e ws181">explanation; <span class="_ _0"> </span><span class="ls16f ws182">extending <span class="_ _21"> </span></span></span>the <span class="_ _16"></span><span class="ls101 ws158">mecha- </span></span></span></span></div><div class="t m1 x1a h3 y63 ff1 fs1 fc0 sc0 lsa ws183">nism <span class="_ _f"></span><span class="ls3d ws3e">to <span class="_ _e"></span><span class="ls114 ws178">support <span class="_ _9"></span><span class="lsfa wsfb">non-write-through <span class="_ _1e"> </span><span class="lse7 wse7">caches <span class="_ _19"></span><span class="ls74 ws28">is <span class="_ _e"> </span><span class="ls170 ws184">straightfor- </span></span></span></span></span></span></div><div class="t m1 x1a h3 y64 ff1 fs1 fc0 sc0 ls171 ws185">ward. <span class="_ _4"> </span><span class="ls2f ws186">Write-through <span class="_ _22"> </span><span class="ls12d ws132">gives <span class="_ _12"> </span><span class="ls10b ws10e">clean <span class="_ _12"> </span><span class="lse0 ws187">failure <span class="_ _3"> </span><span class="ls172 ws188">semantics: <span class="_ _0"> </span><span class="ls52 ws189">no </span></span></span></span></span></span></div><div class="t m1 x1a h3 y65 ff1 fs1 fc0 sc0 ls173 ws18a">write <span class="_ _12"> </span><span class="ls38 ws39">that <span class="_ _9"></span><span class="ls84 ws173">has <span class="_ _a"></span><span class="ls8b ws8c">been <span class="_ _c"></span><span class="ls174 ws18b">made <span class="_ _19"></span><span class="ls50 ws51">visible <span class="_"> </span><span class="ls3d ws3e">to <span class="ls153 ws144">any <span class="_ _15"></span><span class="ls4b ws4c">client <span class="_ _12"> </span><span class="ls84 ws85">can <span class="_ _13"></span><span class="ls27 ws27">be <span class="_ _c"></span><span class="lse4 wse4">lost; </span></span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y66 ff1 fs1 fc0 sc0 ls127 ws12d">applications <span class="_ _16"></span><span class="ls2b ws2b">must <span class="ls175 ws18c">otherwise <span class="_ _f"></span><span class="ls27 ws27">be <span class="ls157 ws163">prepared <span class="_ _c"></span><span class="ls3d ws3e">to <span class="_ _10"></span><span class="ls176 ws18d">recover <span class="_ _e"> </span><span class="ls11a ws120">from </span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y67 ff1 fs1 fc0 sc0 ls101 ws158">lost <span class="_ _d"> </span><span class="ls177 ws18e">writes. <span class="_ _23"> </span><span class="ls178 ws18f">Though <span class="_ _0"> </span><span class="ls19 ws19">the <span class="_"> </span><span class="ls179 ws190">cost <span class="_ _f"></span><span class="ls1c ws1c">of <span class="_ _12"> </span><span class="ls17a ws191">write-through <span class="_ _2"> </span><span class="ls54 ws55">for <span class="_ _21"> </span><span class="ls55 ws1">file </span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y68 ff1 fs1 fc0 sc0 lse7 wse7">caches <span class="_ _14"></span><span class="ls74 ws28">is <span class="_ _c"></span><span class="ls17b ws192">considered <span class="_ _b"></span><span class="ls17c ws193">prohibitive <span class="_"> </span><span class="ls4d ws4e">by <span class="ls21 ws21">some <span class="_ _1b"></span><span class="ls156 ws194">[ <span class="_ _1b"></span><span class="ls3d ws3e">16], <span class="_ _c"></span><span class="ls19 ws19">the <span class="_ _c"></span><span class="ls179 ws190">cost <span class="_ _1b"></span><span class="ls84 ws85">can </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y69 ff1 fs1 fc0 sc0 ls27 ws27">be <span class="_ _1b"></span><span class="lsf6 ws195">largely <span class="_ _10"></span><span class="ls17d ws196">eliminated <span class="_ _16"></span><span class="ls4d ws4e">by <span class="_ _10"></span><span class="ls17e ws197">giving <span class="_ _d"> </span><span class="ls17f ws198">special <span class="_ _9"></span><span class="ls180 ws199">handling <span class="_ _16"></span><span class="ls3d ws3e">to <span class="_ _9"></span><span class="ls3c ws3d">tempo- </span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y6a ff1 fs1 fc0 sc0 ls181 ws19a">rary <span class="_ _16"></span><span class="ls182 ws19b">files <span class="_ _16"></span><span class="ls183 ws19c">[9,24], <span class="_"> </span><span class="ls12d ws132">since <span class="_ _9"></span><span class="ls111 ws116">they <span class="_ _15"></span><span class="ls115 ws11a">receive <span class="ls19 ws19">the <span class="_ _c"></span><span class="ls184 ws19d">majority <span class="_"> </span><span class="ls1c ws1c">of <span class="_ _9"></span><span class="ls177 ws18e">writes. </span></span></span></span></span></span></span></span></span></div><div class="t m1 x1b h3 y6b ff1 fs1 fc0 sc0 ls58 ws58">To <span class="ls185 ws19e">illustrate <span class="_ _17"> </span><span class="ls19 ws19">the <span class="_ _10"></span><span class="ls186 ws19f">operation <span class="_ _f"></span><span class="ls1c ws1c">of <span class="_ _16"></span><span class="ls27 ws27">a <span class="_ _15"></span><span class="ls55 ws1">file <span class="_ _d"> </span><span class="ls87 ws88">cache <span class="_ _9"></span><span class="lsfd wsff">using <span class="_ _f"></span><span class="ls4e ws4f">leases, </span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y6c ff1 fs1 fc0 sc0 ls39 ws3a">consider <span class="ls27 ws27">a <span class="ls5e ws5e">diskless <span class="_ _9"></span><span class="ls187 ws1a0">workstation <span class="_ _12"> </span><span class="ls78 ws78">being <span class="_ _e"></span><span class="ls112 ws117">used <span class="_ _19"></span><span class="ls54 ws55">for <span class="_ _e"></span><span class="ls188 ws1a1">document </span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y6d ff1 fs1 fc0 sc0 ls99 ws1a2">production. <span class="_ _4"> </span><span class="ls13d ws145">When <span class="_ _e"></span><span class="ls19 ws19">the <span class="_ _16"></span><span class="ls187 ws1a0">workstation <span class="_ _3"> </span><span class="ls100 ws102">executes <span class="_ _16"></span><span class="ls189 ws1a3">latex <span class="_ _24"> </span><span class="ls54 ws55">for </span></span></span></span></span></span></div><div class="t m1 x1a h3 y6e ff1 fs1 fc0 sc0 ls19 ws19">the <span class="_ _9"></span><span class="ls155 ws160">first <span class="_ _f"></span><span class="ls134 ws13a">time, <span class="_ _10"></span><span class="ls13e ws147">it <span class="_ _e"> </span><span class="ls8d ws8e">obtains <span class="_ _15"></span><span class="ls27 ws27">a <span class="_ _c"></span><span class="ls118 ws11d">lease <span class="_ _9"></span><span class="ls52 ws53">on <span class="_ _13"></span><span class="ls19 ws19">the <span class="ls75 ws1a4">binary <span class="_ _12"> </span><span class="ls55 ws1">file <span class="_ _12"> </span><span class="ls169 ws17c">contain- </span></span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y6f ff1 fs1 fc0 sc0 ls1e ws1e">ing <span class="_ _17"> </span><span class="ls189 ws1a3">latex <span class="_ _25"> </span><span class="ls54 ws55">for <span class="_ _12"> </span><span class="ls27 ws27">a <span class="lsf ws13f">term <span class="_ _15"></span><span class="ls1c ws1c">of <span class="_ _f"></span><span class="ls18a ws72">(say) <span class="_ _12"> </span></span></span></span>10 <span class="_ _9"></span><span class="ls157 ws163">seconds. <span class="_ _e"> </span><span class="ls119 ws1a5">Another <span class="_ _d"> </span><span class="ls15c ws169">ac- </span></span></span></span></span></span></div><div class="t m1 x1a h3 y70 ff1 fs1 fc0 sc0 ls14 ws16a">cess <span class="_ _1b"></span><span class="ls3d ws3e">to <span class="_ _f"></span><span class="ls19 ws19">the <span class="_ _16"></span><span class="ls21 ws21">same <span class="_ _c"></span><span class="ls55 ws1">file <span class="_"> </span><span class="ls27 ws27">5 <span class="_ _10"></span><span class="ls18b ws1a6">seconds <span class="_ _c"></span><span class="ls108 ws10b">later <span class="_ _12"> </span><span class="ls84 ws85">can <span class="_ _15"></span><span class="ws173">use <span class="_ _15"></span><span class="ls19 ws19">the <span class="_ _f"></span><span class="ls3e ws3f">cached </span></span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y71 ff1 fs1 fc0 sc0 ls18c ws1a7">version <span class="_ _12"> </span><span class="ls1c ws1c">of <span class="_ _15"></span><span class="ls4b ws4c">this <span class="_ _e"></span><span class="ls55 ws1">file <span class="_ _12"> </span><span class="ls15d ws16b">without <span class="_ _3"> </span><span class="ls18d ws1a8">checking <span class="_ _12"> </span><span class="ls4a ws4b">with <span class="_"> </span><span class="ls19 ws19">the <span class="_ _10"></span></span></span></span></span>file <span class="_"> </span><span class="ls15e ws16d">server. </span></span></span></span></div><div class="t m1 x1a h3 y72 ff1 fs1 fc0 sc0 ls4f ws50">An <span class="_ _e"></span><span class="ls3c ws3d">access <span class="_ _26"></span><span class="ls3d ws3e">to <span class="_ _10"></span><span class="ls4b ws4c">this <span class="_ _13"></span><span class="ls55 ws1">file <span class="_ _12"> </span><span class="ls18e ws1a9">after <span class="ls19 ws19">the <span class="_ _9"></span><span class="ls105 ws108">lo-second <span class="_ _e"></span><span class="lsf ws13f">term <span class="_ _9"></span><span class="ls84 ws173">has <span class="_ _19"></span><span class="lsfc wsfd">expired </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y73 ff1 fs1 fc0 sc0 ls143 ws14c">requires <span class="ls19 ws19">the <span class="ls87 ws88">cache <span class="_ _9"></span><span class="ls3d ws3e">to <span class="lsf2 wsf2">check <span class="_ _10"></span><span class="ls4a ws4b">with <span class="_"> </span><span class="ls19 ws19">the <span class="_ _15"></span><span class="ls15e ws16d">server. <span class="_ _f"></span><span class="ls13d ws145">When <span class="_ _10"></span><span class="ls27 ws27">a <span class="ls10b ws115">new </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y74 ff1 fs1 fc0 sc0 ls18c ws1a7">version <span class="_ _12"> </span><span class="ls1c ws1c">of <span class="_ _f"></span><span class="ls189 ws1a3">latex <span class="_ _25"> </span><span class="ls74 ws28">is <span class="_ _16"></span><span class="ls18f ws1aa">installed, <span class="_"> </span><span class="ls19 ws19">the <span class="_ _16"></span><span class="ls173 ws18a">write <span class="_ _d"> </span></span></span></span>is <span class="_ _f"></span><span class="ls119 ws1a5">delayed <span class="_ _10"></span><span class="ls167 ws179">until </span></span></span></span></span></div><div class="t m1 x1a h3 y75 ff1 fs1 fc0 sc0 lsf3 wsf3">every <span class="_ _12"> </span><span class="ls13c ws143">leaseholder <span class="_ _13"></span><span class="ls84 ws173">has <span class="_ _10"></span><span class="ls1a ws1a">approved <span class="_ _16"></span><span class="ls19 ws19">the <span class="_ _f"></span><span class="lsb8 ws146">write. <span class="_ _8"> </span><span class="ls156 ws162">If <span class="_ _d"> </span><span class="ls21 ws21">some <span class="ls2c ws31">host </span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y76 ff1 fs1 fc0 sc0 ls147 ws151">holding <span class="_ _12"> </span><span class="ls27 ws27">a <span class="_ _9"></span><span class="ls118 ws11d">lease <span class="_ _a"></span><span class="ls54 ws55">for <span class="_ _16"></span><span class="ls4b ws4c">this <span class="_ _16"></span><span class="ls55 ws1">file <span class="_ _e"></span><span class="ls74 ws28">is <span class="_ _10"></span><span class="ls190 ws1ab">unreachable, <span class="_ _9"></span><span class="ls19 ws19">the <span class="ls10b ws10e">delay <span class="_ _f"></span><span class="ls131 ws136">con- </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y77 ff1 fs1 fc0 sc0 ls191 ws1ac">tinues <span class="ls167 ws179">until <span class="_ _d"> </span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls118 ws11d">lease <span class="_ _1b"></span><span class="ls15f ws16f">expires. </span></span></span></span></div><div class="t m1 x1b h3 y78 ff1 fs1 fc0 sc0 ls26 ws26">In <span class="_ _16"></span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls137 ws1ad">preceding <span class="_ _9"></span><span class="lsde wsde">example, <span class="_ _15"></span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls169 ws17c">relevant <span class="_ _10"></span><span class="ls192 ws1ae">reads <span class="_ _c"></span><span class="lsd wsd">and <span class="_ _19"></span><span class="ls138 ws13d">writes </span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y79 ff1 fs1 fc0 sc0 ls34 ws35">are <span class="_ _1b"></span><span class="ls19 ws19">not <span class="ls132 ws138">limited <span class="_ _12"> </span><span class="ls3d ws3e">to <span class="_ _10"></span><span class="ls193 ws1af">operations <span class="_ _c"></span><span class="ls52 ws53">on <span class="ls19 ws19">the <span class="_ _9"></span><span class="ls2c ws31">contents <span class="_ _c"></span><span class="ls1c ws1c">of <span class="ls19 ws19">the <span class="_ _13"></span><span class="ls194 ws1b0">file. <span class="_ _17"> </span><span class="ls26 ws26">In </span></span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y7a ff1 fs1 fc0 sc0 ls65 ws65">order <span class="_ _13"></span><span class="ls3d ws3e">to <span class="_ _c"></span><span class="ls114 ws178">support <span class="_ _c"></span><span class="ls27 ws27">a <span class="_ _19"></span><span class="ls195 ws1b1">repeated <span class="_ _b"></span><span class="ls196 ws1b2">open, <span class="_ _a"></span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls87 ws88">cache <span class="_ _a"></span><span class="ls2b ws2b">must <span class="_ _9"></span><span class="ls6e ws15a">also <span class="_ _19"></span><span class="ls111 ws1b3">hold </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y7b ff1 fs1 fc0 sc0 ls19 ws19">the <span class="_ _13"></span><span class="ls197 ws1b4">name-to-file <span class="_ _f"></span><span class="ls147 ws151">binding <span class="_ _12"> </span><span class="lsd wsd">and <span class="_ _19"></span><span class="ls198 ws1b5">permission <span class="_ _f"></span><span class="ls199 ws1b6">information, <span class="_ _22"> </span><span class="lsd wsd">and </span></span></span></span></span></span></div><div class="t m1 x1a h3 y7c ff1 fs1 fc0 sc0 ls13e ws147">it <span class="_ _e"></span><span class="ls19a ws1b7">needs <span class="_ _19"></span><span class="ls27 ws27">a <span class="_ _9"></span><span class="ls118 ws11d">lease <span class="_ _c"></span><span class="ls131 ws136">over <span class="_ _10"></span><span class="ls4b ws4c">this <span class="_ _16"></span><span class="ls102 ws1b8">information <span class="_ _22"> </span><span class="ls40 ws41">in <span class="_ _12"> </span><span class="ls65 ws65">order <span class="ls3d ws3e">to <span class="_ _16"></span><span class="ls84 ws173">use <span class="_ _c"></span><span class="ls38 ws39">that </span></span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y7d ff1 fs1 fc0 sc0 ls102 ws1b8">information <span class="_ _3"> </span><span class="ls3d ws3e">to <span class="ls19b ws1b9">perform <span class="_ _16"></span><span class="ls19 ws19">the <span class="_ _10"></span><span class="ls196 ws1b2">open. <span class="_ _e"> </span><span class="ls19c ws1ba">Similarly, <span class="_ _0"> </span><span class="ls19d ws1bb">modification </span></span></span></span></span></span></div><div class="t m1 x1a h3 y7e ff1 fs1 fc0 sc0 ls1c ws1c">of <span class="_ _15"></span><span class="ls4b ws4c">this <span class="_ _15"></span><span class="ls199 ws1b6">information, <span class="_ _17"> </span><span class="ls4d ws4e">such <span class="_ _9"></span><span class="lsb wsb">as <span class="_ _b"></span><span class="ls19e ws1bc">renaming <span class="_ _f"></span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls194 ws1b0">file, <span class="_ _27"> </span><span class="ls169 ws17c">would <span class="_ _27"> </span><span class="ls131 ws136">con- </span></span></span></span></span></span></span></span></span></div><div class="t m3 x1a h6 y7f ff1 fs4 fc0 sc0 ls19f ws1bd">stitute </div><div class="t m1 x1c h3 y7f ff1 fs1 fc0 sc0 ls27 ws27">a <span class="_ _c"></span><span class="lsb8 ws146">write. </span></div><div class="t m1 x1b h3 y80 ff1 fs1 fc0 sc0 ls118 ws11d">Short lease <span class="_ _b"></span><span class="lsf wsf">terms <span class="_ _13"></span><span class="ls8a ws8b">have <span class="ls115 ws1be">several <span class="_ _10"></span><span class="lsf5 ws1bf">advantages. <span class="_ _c"></span><span class="ls1a0 ws1c0">One <span class="ls74 ws28">is <span class="_ _10"></span><span class="ls38 ws39">that </span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y81 ff1 fs1 fc0 sc0 ls111 ws116">they <span class="_ _f"></span><span class="ls133 ws139">minimize <span class="_"> </span><span class="ls19 ws19">the <span class="_ _10"></span><span class="ls10b ws10e">delay <span class="_ _e"></span><span class="ls150 ws15c">resulting <span class="_ _12"> </span><span class="ls11a ws120">from <span class="_ _e"> </span><span class="ls4b ws4c">client <span class="_"> </span><span class="lsd wsd">and <span class="ls13a ws140">server </span></span></span></span></span></span></span></span></div><div class="t m1 x1a h3 y82 ff1 fs1 fc0 sc0 ls45 ws46">failures <span class="_ _f"></span><span class="ls100 ws102">(and <span class="_ _a"></span><span class="ls169 ws17c">partitioning <span class="_ _0"> </span><span class="ls30 ws30">communication <span class="_"> </span><span class="ls1a1 ws1c1">failures). <span class="_ _27"> </span><span class="ls13d ws145">When </span></span></span></span></span></div><div class="t m1 x1a h3 y83 ff1 fs1 fc0 sc0 ls19 ws19">the <span class="_ _16"></span><span class="ls13a ws140">server <span class="_ _16"></span><span class="ls1a2 ws1c2">cannot <span class="_ _16"></span><span class="ls1a3 ws1c3">communicate <span class="_ _e"></span><span class="ls4a ws4b">with <span class="_ _22"> </span><span class="ls27 ws27">a <span class="_ _15"></span><span class="ls1a4 ws1c4">client, <span class="_ _0"> </span></span></span></span></span></span></span>the <span class="_ _f"></span><span class="ls13a ws140">server </span></div><div class="t m1 x1d h3 y84 ff1 fs1 fc0 sc0 ls2b ws2b">must <span class="_ _9"></span><span class="ls10b ws10e">delay <span class="_ _15"></span><span class="ls138 ws13d">writes <span class="_ _10"></span><span class="ls3d ws3e">to <span class="ls27 ws27">a <span class="_ _a"></span><span class="ls55 ws1">file <span class="_ _f"></span><span class="ls54 ws55">for <span class="_ _10"></span><span class="ls1a5 ws1c5">which <span class="_ _d"> </span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls1a6 ws1c6">failed <span class="_ _f"></span><span class="ls4b ws4c">client <span class="_ _f"></span><span class="ls10b ws115">holds </span></span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1e h3 y4f ff1 fs1 fc0 sc0 ls27 ws27">a <span class="_ _a"></span><span class="ls118 ws11d">lease <span class="_ _19"></span><span class="ls167 ws179">until <span class="_ _12"> </span><span class="ls38 ws39">that <span class="_ _13"></span><span class="ls118 ws11d">lease <span class="_ _b"></span><span class="ls1a7 ws1c7">expires.] <span class="_ _27"> </span><span class="ls13d ws145">When <span class="_ _10"></span><span class="ls27 ws27">a <span class="_ _19"></span><span class="ls13a ws140">server <span class="_ _19"></span><span class="ls74 ws28">is <span class="ls1a8 ws1c8">recover- </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1e h3 y85 ff1 fs1 fc0 sc0 ls1e ws1e">ing <span class="_ _12"> </span><span class="ls18e ws1a9">after <span class="_ _15"></span><span class="ls112 ws117">crashing, <span class="_ _10"></span><span class="ls13e ws147">it <span class="_ _e"></span><span class="ls2b ws2b">must <span class="ls1a9 ws1c9">honor <span class="_ _16"></span><span class="ls19 ws19">the <span class="ls34 ws35">leases <span class="_ _b"></span><span class="ls13e ws147">it <span class="_ _e"> </span><span class="ls168 ws17b">granted <span class="_ _9"></span><span class="ls34 ws35">be- </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1e h3 y86 ff1 fs1 fc0 sc0 ls7 ws144">fore <span class="_ _10"></span><span class="ls13e ws147">it <span class="_ _d"> </span><span class="ls64 ws64">crashed. <span class="_ _16"></span><span class="ls93 ws1ca">This <span class="_ _f"></span><span class="ls74 ws28">is <span class="_ _e"></span><span class="ls1aa ws1cb">most <span class="_ _13"></span><span class="lsf6 ws195">easily <span class="_ _f"></span><span class="ls8b ws1cc">done <span class="ls162 ws172">if <span class="_ _e"> </span><span class="ls13e ws147">it <span class="_ _27"> </span><span class="ls1ab ws1cd">remembers </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1e h3 y87 ff1 fs1 fc0 sc0 ls19 ws19">the <span class="_ _10"></span><span class="ls1ac ws1ce">maximum <span class="_ _d"> </span><span class="lsf ws13f">term <span class="_ _15"></span><span class="ls54 ws55">for <span class="_ _e"></span><span class="ls1a5 ws1c5">which <span class="_ _12"> </span><span class="ls13e ws147">it <span class="_ _12"> </span><span class="lsd wsd">had <span class="_ _15"></span><span class="ls168 ws17b">granted <span class="ls27 ws27">a <span class="_ _c"></span><span class="ls80 ws81">lease, <span class="lsd wsd">and </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1e h3 y88 ff1 fs1 fc0 sc0 ls13e ws147">it <span class="_ _e"></span><span class="ls1ad ws1cf">delays <span class="_ _16"></span><span class="ls138 ws13d">writes <span class="_ _f"></span><span class="ls3d ws3e">to <span class="_ _e"></span><span class="ls1ae ws1d0">all <span class="_ _e"></span><span class="ls1af ws1d1">tiles <span class="_ _12"> </span><span class="ls54 ws55">for <span class="_ _16"></span><span class="ls38 ws39">that <span class="ls122 ws128">period, <span class="_ _12"> </span><span class="ls1b0 ws1d2">effectively <span class="_ _3"> </span><span class="ls145 ws1d3">in- </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x1e h3 y89 ff1 fs1 fc0 sc0 ls39 ws3a">creasing <span class="ls19 ws19">the <span class="ls1b1 ws1d4">time <span class="_ _16"></span><span class="ls3d ws3e">to <span class="_ _10"></span><span class="ls1b2 ws1d5">fully <span class="_ _22"> </span><span class="ls176 ws18d">recover <span class="_ _10"></span><span class="ls4d ws4e">by <span class="_ _e"></span></span></span></span></span></span>the <span class="_ _9"></span><span class="ls1ac ws1ce">maximum <span class="_ _12"> </span><span class="lsac ws1d6">term. </span></span></span></div><div class="t m1 x1e h3 y8a ff1 fs1 fc0 sc0 ls58 ws58">Alternately, <span class="_ _27"> </span><span class="ls19 ws19">the <span class="_ _19"></span><span class="ls13a ws140">server <span class="_ _19"></span><span class="ls84 ws85">can <span class="_ _b"></span><span class="ls83 ws84">maintain <span class="_ _e"></span><span class="ls27 ws27">a <span class="_ _b"></span><span class="ls61 ws61">more <span class="_ _a"></span><span class="lsf5 ws1d7">detailed <span class="_ _19"></span><span class="ls1b3 ws1d8">record </span></span></span></span></span></span></span></span></div><div class="t m1 x1e h3 y8b ff1 fs1 fc0 sc0 ls1c ws1c">of <span class="_ _c"></span><span class="ls34 ws35">leases <span class="_ _14"></span><span class="ls52 ws53">on <span class="_ _1b"></span><span class="ls1b4 ws1d9">persistent <span class="_ _a"></span><span class="ls1b5 ws1da">storage, <span class="_ _14"></span><span class="ls19 ws19">but <span class="_ _19"></span>the <span class="_ _19"></span><span class="ls2e ws2e">additional <span class="_ _16"></span><span class="ls1b6 ws1db">I/O <span class="_ _10"></span><span class="ls81 ws82">traffic </span></span></span></span></span></span></span></span></div><div class="t m1 x1e h3 y8c ff1 fs1 fc0 sc0 ls74 ws28">is <span class="_ _10"></span><span class="ls1b7 ws1dc">unlikely <span class="_ _5"> </span><span class="ls3d ws3e">to <span class="_ _15"></span><span class="ls27 ws27">be <span class="_ _a"></span><span class="ls1b8 ws1dd">justified <span class="_ _12"> </span><span class="ls116 ws11b">unless <span class="_ _9"></span><span class="lsf wsf">terms <span class="_ _c"></span><span class="ls1c ws1c">of <span class="ls34 ws35">leases <span class="_ _b"></span>are <span class="_ _19"></span><span class="ls1b9 ws1de">much </span></span></span></span></span></span></span></span></span></div><div class="t m1 x1e h3 y8d ff1 fs1 fc0 sc0 ls12e ws133">longer <span class="_ _10"></span><span class="lsaf ws1df">than <span class="_ _15"></span><span class="ls19 ws19">the <span class="ls1b1 ws1d4">time <span class="_ _15"></span><span class="ls3d ws3e">to <span class="ls1ba ws1e0">recover. </span></span></span></span></span></div><div class="t m1 x1f h3 y8e ff1 fs1 fc0 sc0 ls118 ws11d">Short <span class="_ _13"></span><span class="ls34 ws35">leases <span class="_ _a"></span><span class="ls6e ws15a">also <span class="_ _9"></span><span class="ls133 ws139">minimize <span class="_ _17"> </span><span class="ls19 ws19">the <span class="_ _16"></span><span class="ls1bb ws1e1">false <span class="_ _9"></span><span class="ls1b6 ws1db">write-sharing <span class="_ _17"> </span><span class="ls38 ws39">that </span></span></span></span></span></span></span></div><div class="t m1 x1e h3 y8f ff1 fs1 fc0 sc0 ls101 ws158">occurs. <span class="_ _15"></span><span class="lse2 ws1a1">False <span class="_ _f"></span><span class="lsfc wsfd">sharing <span class="_ _f"></span><span class="ls1bc ws1e2">refers <span class="_ _c"></span><span class="ls100 ws102">here <span class="ls3d ws3e">to <span class="ls27 ws27">a <span class="_ _19"></span><span class="ls118 ws11d">lease <span class="_ _1b"></span><span class="ls101 ws158">conflict <span class="_ _d"> </span><span class="ls1bd ws1e3">when </span></span></span></span></span></span></span></span></span></div><div class="t m1 x1e h3 y90 ff1 fs1 fc0 sc0 ls52 ws189">no <span class="_ _f"></span><span class="ls1b6 ws1e4">actual <span class="_ _16"></span><span class="ls101 ws158">conflict <span class="_ _d"> </span><span class="ls40 ws41">in <span class="_ _12"> </span><span class="ls55 ws1">file <span class="_ _12"> </span><span class="ls3c ws3d">access <span class="_ _14"></span><span class="ls1be ws1e5">exists. <span class="_ _21"> </span><span class="ls48 ws1e6">Speciftcally, <span class="_ _27"> </span><span class="ls1bb ws1e1">false </span></span></span></span></span></span></span></span></div><div class="t m1 x1e h3 y91 ff1 fs1 fc0 sc0 lsfc wsfd">sharing <span class="ls1bf ws1e7">occurs <span class="_ _c"></span><span class="ls1bd ws1e3">when <span class="_ _f"></span><span class="ls27 ws27">a <span class="_ _19"></span><span class="ls4b ws4c">client <span class="_ _e"></span><span class="ls138 ws13d">writes <span class="_ _10"></span><span class="ls3d ws3e">to <span class="ls27 ws27">a <span class="_ _19"></span><span class="ls55 ws1">file <span class="_ _e"></span><span class="ls1a5 ws1c5">which <span class="_ _d"> </span><span class="ls74 ws28">is <span class="_ _13"></span><span class="ls1c0 ws1e8">cov- </span></span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 y5d ff1 fs1 fc0 sc0 ls157 ws163">ered <span class="_ _a"></span><span class="ls4d ws4e">by <span class="_ _10"></span><span class="ls27 ws27">a <span class="_ _1b"></span><span class="ls118 ws11d">lease <span class="_ _1c"></span><span class="ls111 ws1b3">held <span class="ls4d ws4e">by <span class="_ _10"></span><span class="ls84 ws173">another <span class="_ _b"></span><span class="ls4b ws4c">client <span class="_ _16"></span><span class="ls1bd ws1e3">when <span class="ls19 ws19">the <span class="_ _c"></span><span class="ls77 ws77">other <span class="_ _c"></span><span class="ls4b ws4c">client </span></span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 y5e ff1 fs1 fc0 sc0 ls74 ws28">is <span class="_ _9"></span><span class="ls19 ws19">not <span class="lsdf ws1e9">currently <span class="_ _f"></span><span class="ls1c1 ws1ea">accessing <span class="_ _14"></span><span class="ls19 ws19">the <span class="_ _a"></span><span class="ls1c2 ws1eb">tie. <span class="_ _11"> </span><span class="lse2 ws1a1">False <span class="_ _a"></span><span class="lsfc wsfd">sharing <span class="_ _a"></span><span class="ls18 ws18">introduces </span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 y92 ff1 fs1 fc0 sc0 ls19 ws19">the <span class="_ _10"></span><span class="ls1c3 ws1ec">overhead <span class="ls1c ws1c">of <span class="_ _f"></span><span class="ls27 ws27">a <span class="ls1ba ws1e0">callback <span class="_ _f"></span><span class="ls3d ws3e">to <span class="_ _16"></span></span></span></span></span></span>the <span class="_ _10"></span><span class="ls1c4 wsa7">leaseholder(s) <span class="ls82 ws1ed">(thereby </span></span></div><div class="t m1 x20 h3 y60 ff1 fs1 fc0 sc0 ls1c5 ws1ee">delaying <span class="_ _e"></span><span class="ls19 ws19">the <span class="_ _c"></span><span class="ls1c6 ws1ef">requesting <span class="_ _13"></span><span class="ls4b ws4c">client <span class="_ _27"> </span><span class="lsd wsd">and <span class="_ _19"></span><span class="ls135 ws1d">loading <span class="_ _16"></span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls13c ws143">leaseholder </span></span></span></span></span></span></span></div><div class="t m1 x20 h3 y93 ff1 fs1 fc0 sc0 lsd wsd">and <span class="_ _1b"></span><span class="ls1c7 ws1f0">server) <span class="_ _9"></span><span class="ls40 ws41">in <span class="_ _10"></span><span class="ls27 ws27">a <span class="_ _1b"></span><span class="ls7b ws1f1">situation <span class="ls1c8 ws1f2">where <span class="_ _9"></span><span class="ls15d ws16b">without <span class="_ _f"></span><span class="ls34 ws35">leases <span class="_ _1a"></span><span class="ls77 ws77">there <span class="_ _a"></span><span class="ls169 ws17c">would </span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 y94 ff1 fs1 fc0 sc0 ls27 ws27">be <span class="_ _9"></span><span class="ls52 ws189">no <span class="_ _16"></span><span class="ls1c9 ws1f3">conflict. <span class="_ _22"> </span><span class="ls26 ws26">In <span class="_ _12"> </span><span class="ls19 ws19">the <span class="ls1ca ws1f4">extreme, <span class="_ _15"></span><span class="ls27 ws27">a <span class="_ _c"></span><span class="ls118 ws11d">lease <span class="_ _a"></span><span class="lsf ws13f">term <span class="_ _15"></span><span class="ls1cb ws1f5">should <span class="_ _15"></span><span class="ls27 ws27">be <span class="ls1cc ws1f6">set </span></span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 y95 ff1 fs1 fc0 sc0 ls3d ws3e">to <span class="_ _15"></span><span class="ls1cd ws1f7">zero <span class="_ _c"></span><span class="ls162 ws172">if <span class="_ _e"></span><span class="ls27 ws27">a <span class="_ _a"></span><span class="ls4b ws4c">client <span class="_ _e"></span><span class="ls74 ws28">is <span class="ls19 ws19">not <span class="_ _10"></span><span class="ls78 ws78">going <span class="ls3d ws3e">to <span class="ls3c ws3d">access <span class="_ _28"></span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls55 ws1">file <span class="_ _f"></span><span class="ls149 ws153">before <span class="ls13e ws147">it <span class="_ _10"></span><span class="ls74 ws28">is </span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 y96 ff1 fs1 fc0 sc0 ls163 ws174">modified <span class="_ _e"></span><span class="ls4d ws4e">by <span class="_ _16"></span><span class="ls84 ws173">another <span class="_ _13"></span><span class="ls1a4 ws1c4">client. </span></span></span></div><div class="t m1 x21 h3 y97 ff1 fs1 fc0 sc0 ls1ce ws1f8">Finally, <span class="_ _11"> </span><span class="ls32 ws33">short <span class="_ _f"></span><span class="ls118 ws11d">lease <span class="_ _15"></span><span class="lsf wsf">terms <span class="_ _10"></span><span class="ls8f ws90">reduce <span class="_ _16"></span><span class="ls19 ws19">the <span class="_ _e"></span><span class="ls14d ws157">storage <span class="_ _9"></span><span class="ls1cf ws1f9">require- </span></span></span></span></span></span></span></div><div class="t m1 x20 h3 y98 ff1 fs1 fc0 sc0 ls51 ws1fa">ments <span class="_ _27"> </span><span class="ls3d ws3e">at <span class="_ _e"></span><span class="ls19 ws19">the <span class="_ _e"></span><span class="ls15e ws16d">server, <span class="_ _e"></span><span class="ls12d ws132">since <span class="_ _f"></span></span></span>the <span class="_ _e"></span><span class="ls1b3 ws1d8">record <span class="_ _12"> </span><span class="ls1c ws1c">of <span class="_ _27"> </span><span class="lsfc wsfd">expired <span class="_"> </span><span class="ls34 ws35">leases </span></span></span></span></span></span></div><div class="t m1 x20 h3 y99 ff1 fs1 fc0 sc0 ls10b ws115">could <span class="ls27 ws27">be <span class="_ _b"></span><span class="ls89 ws1fb">reclaimed. <span class="_ _f"></span><span class="ls1d0 ws1fc">However, <span class="ls19 ws19">the <span class="_ _a"></span><span class="ls14d ws157">storage <span class="_ _1c"></span><span class="ls1c3 ws1ec">overhead <span class="_ _b"></span><span class="ls54 ws55">for <span class="ls19 ws19">the </span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 y9a ff1 fs1 fc0 sc0 ls13a ws140">server <span class="_ _c"></span><span class="ls3d ws3e">to <span class="_ _13"></span><span class="ls1d1 ws1fd">keep <span class="_ _13"></span><span class="ls134 ws13a">track <span class="ls1c ws1c">of <span class="ls19 ws19">the <span class="_ _13"></span><span class="ls34 ws35">leases <span class="_ _14"></span><span class="ls13e ws147">it <span class="_ _16"></span><span class="ls84 ws173">has <span class="_ _19"></span><span class="ls168 ws17b">granted <span class="_ _19"></span><span class="ls74 ws28">is <span class="_ _15"></span><span class="lsb5 ws1fe">modest. </span></span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 y69 ff1 fs1 fc0 sc0 ls5c ws5c">The <span class="ls13a ws140">server <span class="_ _c"></span><span class="ls143 ws14c">requires <span class="_ _9"></span><span class="ls27 ws27">a <span class="_ _a"></span><span class="ls1b3 ws1d8">record <span class="ls1c ws1c">of <span class="_ _19"></span><span class="ls112 ws17a">each <span class="_ _c"></span><span class="ls1d2 ws1ff">leaseholder’s <span class="_ _19"></span><span class="ls1d3 ws200">identity </span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 y9b ff1 fs1 fc0 sc0 lsd wsd">and <span class="_ _9"></span><span class="ls27 ws27">a <span class="_ _9"></span><span class="ls19c ws1ba">list <span class="_ _e"></span><span class="ls1c ws1c">of <span class="ls19 ws19">the <span class="_ _15"></span><span class="ls34 ws35">leases <span class="_ _14"></span><span class="ls13e ws147">it <span class="_ _f"></span><span class="ls1b6 ws1db">holds; <span class="_ _10"></span><span class="ls112 ws17a">each <span class="_ _19"></span><span class="ls118 ws11d">lease <span class="_ _1b"></span><span class="ls143 ws14c">requires <span class="ls79 ws79">only <span class="_ _d"> </span><span class="ls27 ws27">a </span></span></span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 y9c ff1 fs1 fc0 sc0 ls7d ws7d">couple <span class="ls1c ws1c">of <span class="_ _19"></span><span class="ls1d4 ws201">pointers. <span class="_ _f"></span><span class="ls4c ws4d">For <span class="ls27 ws27">a <span class="_ _a"></span><span class="ls4b ws4c">client <span class="_ _15"></span><span class="ls147 ws151">holding <span class="_ _27"> </span><span class="ls196 ws1b2">about <span class="_ _a"></span><span class="lsd wsd">one <span class="_ _b"></span><span class="ls1d5 ws202">hundred </span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 y9d ff1 fs1 fc0 sc0 ls4e ws4f">leases, <span class="_ _9"></span><span class="ls19 ws19">the <span class="_ _16"></span><span class="ls80 ws203">total <span class="_ _27"> </span><span class="ls74 ws28">is <span class="_ _e"></span><span class="ls1d6 ws204">around <span class="_ _15"></span><span class="lsd wsd">one <span class="_ _15"></span><span class="ls1d7 ws205">kilobyte <span class="_ _17"> </span><span class="ls34 ws35">per <span class="_ _f"></span><span class="ls1a4 ws1c4">client. <span class="_ _1e"> </span><span class="ls1d8 ws206">Even </span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 y9e ff1 fs1 fc0 sc0 ls162 ws172">if <span class="_ _27"> </span><span class="ls4b ws4c">this <span class="_ _e"></span><span class="ls2b ws2b">were <span class="_ _f"></span><span class="ls27 ws27">a <span class="_ _9"></span><span class="ls1cd ws1f7">problem, <span class="_ _e"></span><span class="ls13e ws147">it <span class="_ _12"> </span><span class="ls10b ws115">could <span class="_ _e"></span><span class="ls27 ws27">be <span class="ls1d9 ws207">reduced <span class="_ _c"></span><span class="ls4d ws4e">by <span class="_ _27"> </span><span class="ls1da ws208">recording </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 y9f ff1 fs1 fc0 sc0 ls34 ws35">leases <span class="_ _1c"></span><span class="ls3d ws3e">at <span class="ls27 ws27">a <span class="_ _1b"></span><span class="ls107 ws10a">larger <span class="_ _15"></span><span class="ls1db ws209">granularity, <span class="_ _e"></span><span class="lsb wsb">so <span class="_ _a"></span><span class="ls38 ws39">that <span class="ls112 ws17a">each <span class="_ _19"></span><span class="ls4b ws4c">client <span class="_ _e"></span><span class="ls10b ws115">holds <span class="ls1dc ws20a">few </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 ya0 ff1 fs1 fc0 sc0 ls4e ws4f">leases, <span class="_ _1b"></span><span class="ls3d ws3e">at <span class="_ _19"></span><span class="ls19 ws19">the <span class="ls1dd ws20b">expense <span class="_ _1b"></span><span class="ls1c ws1c">of <span class="_ _10"></span><span class="ls21 ws21">some <span class="_ _1c"></span><span class="ls39 ws3a">increase <span class="_ _1b"></span><span class="ls40 ws41">in <span class="_ _27"> </span><span class="ls1de ws20c">contention. <span class="_ _27"> </span><span class="ls104 ws107">We </span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 ya1 ff1 fs1 fc0 sc0 ls58 ws58">show <span class="_ _13"></span><span class="ls108 ws10b">later <span class="_ _13"></span><span class="ls10b ws115">how <span class="_ _15"></span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls140 ws20d">per-client <span class="_ _16"></span><span class="ls1b3 ws1d8">record <span class="ls84 ws85">can <span class="_ _9"></span><span class="ls27 ws27">be <span class="_ _1b"></span><span class="ls17d ws196">eliminated <span class="_ _f"></span><span class="ls54 ws55">for </span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 ya2 ff1 fs1 fc0 sc0 ls19 ws19">the <span class="_ _13"></span><span class="ls1aa ws1cb">most <span class="_ _13"></span><span class="ls72 ws20e">common <span class="lsff ws105">class <span class="_ _19"></span><span class="ls1c ws1c">of <span class="ls1df ws20f">widely-shared <span class="_ _f"></span><span class="ls1e0 ws210">files. </span></span></span></span></span></span></div><div class="t m1 x21 h3 ya3 ff1 fs1 fc0 sc0 ls19d ws211">Longer-term <span class="_ _10"></span><span class="ls34 ws35">leases <span class="_ _1c"></span>are <span class="_ _b"></span><span class="ls1e1 ws212">significantly <span class="_ _21"> </span><span class="ls61 ws61">more <span class="_ _c"></span><span class="ls3a ws3b">efficient <span class="_ _16"></span><span class="ls1e2 ws213">both </span></span></span></span></span></div><div class="t m1 x20 h3 ya4 ff1 fs1 fc0 sc0 ls54 ws55">for <span class="_ _16"></span><span class="ls19 ws19">the <span class="_ _10"></span><span class="ls4b ws4c">client <span class="_ _27"> </span><span class="lsd wsd">and <span class="_ _13"></span><span class="ls13a ws140">server <span class="_ _9"></span><span class="ls52 ws53">on <span class="_ _10"></span><span class="ls182 ws19b">files <span class="_ _f"></span><span class="ls38 ws39">that <span class="_ _15"></span><span class="ls34 ws35">are <span class="_ _9"></span><span class="lsb wsb">accessed <span class="_ _26"></span><span class="ls4e ws4f">repeat- </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 ya5 ff1 fs1 fc0 sc0 ls1e3 ws214">edly <span class="_ _27"> </span><span class="lsd wsd">and <span class="_ _9"></span><span class="ls8a ws8b">have <span class="ls1e4 ws215">relatively <span class="_ _3"> </span><span class="ls99 ws216">little <span class="_"> </span><span class="ls1e5 ws217">write-sharing. <span class="_ _0"> </span><span class="ls93 ws1ca">This <span class="_ _16"></span><span class="lse1 wse1">may <span class="_ _10"></span><span class="ls27 ws27">be </span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 ya6 ff1 fs1 fc0 sc0 ls132 ws138">observed <span class="_ _13"></span><span class="ls40 ws41">in <span class="_"> </span><span class="ls19 ws19">the <span class="_ _f"></span><span class="ls1e6 ws218">Andrew <span class="_"> </span><span class="ls55 ws1">file <span class="_"> </span><span class="ls57 ws57">system <span class="_ _c"></span><span class="ls1e7 ws219">project <span class="_ _12"> </span><span class="ls13 ws13">[lo], <span class="_ _4"> </span><span class="ls1a5 ws1c5">which </span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 ya7 ff1 fs1 fc0 sc0 ls7c ws21a">went <span class="_ _e"></span><span class="ls11a ws120">from <span class="_ _16"></span><span class="lsfd wsff">using <span class="_ _e"></span><span class="ls27 ws27">a <span class="_ _13"></span><span class="ls118 ws11d">lease <span class="_ _9"></span><span class="lsf ws13f">term <span class="ls1c ws1c">of <span class="_ _f"></span><span class="ls1cd ws1f7">zero <span class="_ _10"></span><span class="ls40 ws41">in <span class="_ _f"></span><span class="ls19 ws19">the <span class="_ _15"></span><span class="ls15e ws16d">prototype <span class="_ _e"></span><span class="ls3d ws3e">to </span></span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 ya8 ff1 fs1 fc0 sc0 ls1b0 ws1d2">effectively <span class="_ _3"> </span><span class="ls27 ws27">a <span class="_ _9"></span><span class="ls118 ws11d">lease <span class="_ _b"></span><span class="lsf ws13f">term <span class="ls1c ws1c">of <span class="ls1e8 ws21b">infinity <span class="_ _22"> </span><span class="ls40 ws41">in <span class="_ _e"></span><span class="ls19 ws19">the <span class="_ _9"></span><span class="ls115 ws11a">revised <span class="ls1e9 ws21c">version.’ </span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 ya9 ff1 fs1 fc0 sc0 ls5c ws5c">The <span class="_ _f"></span><span class="ls10f ws112">next <span class="_ _f"></span><span class="ls110 ws113">section <span class="ls64 ws64">presents <span class="_ _b"></span><span class="ls52 ws53">an <span class="ls50 ws51">analytic <span class="_ _e"> </span><span class="ls51 ws52">model <span class="_ _e"></span><span class="ls1c ws1c">of <span class="ls118 ws11d">lease <span class="_ _b"></span><span class="ls5e ws5e">per- </span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 yaa ff1 fs1 fc0 sc0 ls5f ws5f">formance <span class="_ _e"></span><span class="lsd wsd">and <span class="_ _16"></span><span class="ls1ea ws21d">detemrines <span class="_ _f"></span><span class="ls113 ws118">appropriate <span class="_ _10"></span><span class="ls118 ws11d">lease <span class="lsf wsf">terms <span class="_ _f"></span><span class="lsfd wsff">using </span></span></span></span></span></span></div><div class="t m1 x20 h3 yab ff1 fs1 fc0 sc0 ls1eb ws21e">parameters <span class="_ _1c"></span><span class="ls109 ws10c">based <span class="_ _1b"></span><span class="ls52 ws53">on <span class="ls3f ws40">data <span class="_ _19"></span><span class="ls11a ws120">from <span class="_ _15"></span><span class="ls19 ws19">the <span class="_ _19"></span><span class="ls56 ws56">V <span class="_ _12"> </span><span class="ls28 ws28">distributed <span class="_ _16"></span><span class="ls29 ws29">system. </span></span></span></span></span></span></span></span></div><div class="t m6 x20 hb y7d ff1 fs7 fc0 sc0 ls1ec ws21f">3 <span class="_ _25"> </span><span class="ls1ed ws220">Choosing <span class="_ _23"> </span><span class="ls1ee ws221">the <span class="_ _21"> </span><span class="ls1ef ws222">Lease <span class="_ _17"> </span><span class="ls1f0 ws223">Term </span></span></span></span></div><div class="t m1 x20 h3 yac ff1 fs1 fc0 sc0 ls5c ws5c">The <span class="ls1ad ws1cf">choice <span class="_ _15"></span><span class="ls1c ws1c">of <span class="_ _c"></span><span class="ls118 ws11d">lease <span class="_ _1b"></span><span class="lsf ws13f">term <span class="_ _c"></span><span class="ls74 ws28">is <span class="_ _9"></span><span class="ls109 ws10c">based <span class="_ _1c"></span><span class="ls52 ws53">on <span class="_ _13"></span><span class="ls19 ws19">the <span class="_ _c"></span><span class="ls1f1 ws224">trade-off <span class="_ _13"></span><span class="ls6d ws6d">between </span></span></span></span></span></span></span></span></span></span></div><div class="t m1 x20 h3 yad ff1 fs1 fc0 sc0 ls1f2 wsd0">minimizing <span class="_ _29"> </span><span class="ls118 ws11d">lease <span class="_ _13"></span><span class="ls1f3 ws225">extension <span class="_ _f"></span><span class="ls1c3 ws1ec">overhead <span class="_ _15"></span><span class="ls1f4 ws226">versus <span class="_ _c"></span><span class="ls1f2 wsd0">minimizing </span></span></span></span></span></div><div class="t m4 x22 h7 yae ff1 fs5 fc0 sc0 ls1f5 ws227">‘To <span class="_ _18"> </span><span class="ls159 ws228">avoid <span class="_ _21"> </span><span class="ls1f6 ws229">starvation <span class="_ _2"> </span><span class="lsb2 wsb3">of <span class="_ _17"> </span><span class="ls1f7 ws22a">writes, <span class="_ _29"> </span><span class="ls98 ws9a">the <span class="_ _e"> </span><span class="ls1f8 ws22b">server <span class="_ _3"> </span><span class="ls1f9 ws22c">does <span class="_ _e"> </span></span></span><span class="wsbb">not <span class="_"> </span><span class="ls1fa ws22d">grant <span class="_ _e"> </span><span class="lse5 ws22e">new <span class="_ _22"> </span><span class="ls1fb ws22f">leases </span></span></span></span></span></span></span></span></span></div><div class="t m4 x1e h7 yaf ff1 fs5 fc0 sc0 ls1fc ws226">on <span class="_ _e"> </span><span class="lsd0 wsd1">a <span class="ls1fd ws230">file <span class="_ _0"> </span><span class="ls1fe ws231">when <span class="_ _d"> </span></span></span>a <span class="_ _10"></span><span class="ls112 ws232">write <span class="_ _18"> </span><span class="lsb4 wsb5">is <span class="_ _f"></span><span class="ls1ff ws233">waiting <span class="_ _11"> </span><span class="lsbc wsbe">for <span class="_ _0"> </span><span class="ls200 ws234">approval <span class="_ _5"> </span><span class="lsb1 wsb2">or <span class="_ _12"> </span></span></span>for <span class="_ _3"> </span><span class="ls1fb ws22f">leases <span class="_ _16"></span><span class="lsad wsae">to <span class="_ _f"> </span><span class="ls201 ws235">expire. </span></span></span></span></span></span></span></span></div><div class="t m4 x22 h7 yb0 ff1 fs5 fc0 sc0 ls96 ws97">‘At <span class="_ _18"> </span><span class="ls98 ws9a">the <span class="_ _f"></span><span class="ls88 ws236">expense <span class="_"> </span><span class="lsb2 wsb3">of <span class="_ _d"> </span><span class="ls202 ws126">failing <span class="_ _29"> </span><span class="lsad wsae">to <span class="_ _e"> </span><span class="ls203 ws237">guarantee <span class="_"> </span><span class="ls204 ws238">consistency <span class="_ _11"> </span><span class="ls205 ws239">after <span class="_ _3"> </span><span class="lsd0 wsd1">a <span class="ls206 ws23a">communi- </span></span></span></span></span></span></span></span></span></span></div><div class="t m4 x20 h7 y84 ff1 fs5 fc0 sc0 lsae wsaf">cations <span class="_ _3"> </span><span class="ls14b ws23b">failure. </span></div><div class="t m1 x23 h3 yb1 ff1 fs1 fc0 sc0 ls27 ws27">203 </div></div><div class="pi" data-data='{"ctm":[1.566069,0.000000,0.000000,1.566069,0.000000,0.000000]}'></div></div>