%PDF-1.4 % 1 0 obj << /S /GoTo /D (anchorTitle.0) >> endobj 4 0 obj (Title) endobj 5 0 obj << /S /GoTo /D (anchorContents.0) >> endobj 8 0 obj (Contents) endobj 9 0 obj << /S /GoTo /D (chapter*.5) >> endobj 12 0 obj (Figures) endobj 13 0 obj << /S /GoTo /D (chapter*.6) >> endobj 16 0 obj (Tables) endobj 17 0 obj << /S /GoTo /D (chapter.1) >> endobj 20 0 obj (1 Introduction) endobj 21 0 obj << /S /GoTo /D (section.1.1) >> endobj 24 0 obj (1.1 The problem) endobj 25 0 obj << /S /GoTo /D (section.1.2) >> endobj 28 0 obj (1.2 Thesis statement) endobj 29 0 obj << /S /GoTo /D (section.1.3) >> endobj 32 0 obj (1.3 Dissertation overview) endobj 33 0 obj << /S /GoTo /D (section.1.4) >> endobj 36 0 obj (1.4 Contributions) endobj 37 0 obj << /S /GoTo /D (section.1.5) >> endobj 40 0 obj (1.5 Outline) endobj 41 0 obj << /S /GoTo /D (chapter.2) >> endobj 44 0 obj (2 Background and related work) endobj 45 0 obj << /S /GoTo /D (section.2.1) >> endobj 48 0 obj (2.1 Terminology) endobj 49 0 obj << /S /GoTo /D (section.2.2) >> endobj 52 0 obj (2.2 OS structure and file system implementations) endobj 53 0 obj << /S /GoTo /D (section.2.3) >> endobj 56 0 obj (2.3 The problem: porting file systems) endobj 57 0 obj << /S /GoTo /D (subsection.2.3.1) >> endobj 60 0 obj (2.3.1 Why porting is difficult) endobj 61 0 obj << /S /GoTo /D (subsection.2.3.2) >> endobj 64 0 obj (2.3.2 Problem manifestation) endobj 65 0 obj << /S /GoTo /D (subsection.2.3.3) >> endobj 68 0 obj (2.3.3 Anecdotal experiences) endobj 69 0 obj << /S /GoTo /D (section.2.4) >> endobj 72 0 obj (2.4 Current approaches) endobj 73 0 obj << /S /GoTo /D (section.2.5) >> endobj 76 0 obj (2.5 Additional related work) endobj 77 0 obj << /S /GoTo /D (chapter.3) >> endobj 80 0 obj (3 Architecture) endobj 81 0 obj << /S /GoTo /D (section.3.1) >> endobj 84 0 obj (3.1 Technology trends) endobj 85 0 obj << /S /GoTo /D (subsection.3.1.1) >> endobj 88 0 obj (3.1.1 Virtualization) endobj 89 0 obj << /S /GoTo /D (subsection.3.1.2) >> endobj 92 0 obj (3.1.2 Multicore processors) endobj 93 0 obj << /S /GoTo /D (section.3.2) >> endobj 96 0 obj (3.2 Architecture overview) endobj 97 0 obj << /S /GoTo /D (section.3.3) >> endobj 100 0 obj (3.3 Viability) endobj 101 0 obj << /S /GoTo /D (subsection.3.3.1) >> endobj 104 0 obj (3.3.1 Interface stability) endobj 105 0 obj << /S /GoTo /D (subsection.3.3.2) >> endobj 108 0 obj (3.3.2 VMM proliferation) endobj 109 0 obj << /S /GoTo /D (subsection.3.3.3) >> endobj 112 0 obj (3.3.3 Maintaining performance and the role of multicore processors) endobj 113 0 obj << /S /GoTo /D (subsection.3.3.4) >> endobj 116 0 obj (3.3.4 Maintaining OS and virtualization features) endobj 117 0 obj << /S /GoTo /D (section.3.4) >> endobj 120 0 obj (3.4 Costs and limitations) endobj 121 0 obj << /S /GoTo /D (subsection.3.4.1) >> endobj 124 0 obj (3.4.1 Administration and support) endobj 125 0 obj << /S /GoTo /D (subsection.3.4.2) >> endobj 128 0 obj (3.4.2 Overhead) endobj 129 0 obj << /S /GoTo /D (subsection.3.4.3) >> endobj 132 0 obj (3.4.3 Out-of-band state) endobj 133 0 obj << /S /GoTo /D (section.3.5) >> endobj 136 0 obj (3.5 Summary) endobj 137 0 obj << /S /GoTo /D (chapter.4) >> endobj 140 0 obj (4 Design) endobj 141 0 obj << /S /GoTo /D (section.4.1) >> endobj 144 0 obj (4.1 Goals) endobj 145 0 obj << /S /GoTo /D (section.4.2) >> endobj 148 0 obj (4.2 Design principles) endobj 149 0 obj << /S /GoTo /D (subsection.4.2.1) >> endobj 152 0 obj (4.2.1 Passing all VFS calls) endobj 153 0 obj << /S /GoTo /D (subsection.4.2.2) >> endobj 156 0 obj (4.2.2 One user VM per FSVA) endobj 157 0 obj << /S /GoTo /D (subsection.4.2.3) >> endobj 160 0 obj (4.2.3 Interface scope) endobj 161 0 obj << /S /GoTo /D (subsection.4.2.4) >> endobj 164 0 obj (4.2.4 Summary) endobj 165 0 obj << /S /GoTo /D (section.4.3) >> endobj 168 0 obj (4.3 Design overview) endobj 169 0 obj << /S /GoTo /D (subsection.4.3.1) >> endobj 172 0 obj (4.3.1 IPC layer) endobj 173 0 obj << /S /GoTo /D (subsection.4.3.2) >> endobj 176 0 obj (4.3.2 FSVA interface) endobj 177 0 obj << /S /GoTo /D (subsection.4.3.3) >> endobj 180 0 obj (4.3.3 Data operations) endobj 181 0 obj << /S /GoTo /D (section.4.4) >> endobj 184 0 obj (4.4 Maintaining OS features) endobj 185 0 obj << /S /GoTo /D (subsection.4.4.1) >> endobj 188 0 obj (4.4.1 Metadata duplication) endobj 189 0 obj << /S /GoTo /D (subsection.4.4.2) >> endobj 192 0 obj (4.4.2 Security and other common VFS features) endobj 193 0 obj << /S /GoTo /D (subsection.4.4.3) >> endobj 196 0 obj (4.4.3 Unified buffer cache) endobj 197 0 obj << /S /GoTo /D (section.4.5) >> endobj 200 0 obj (4.5 Maintaining virtualization features) endobj 201 0 obj << /S /GoTo /D (subsection.4.5.1) >> endobj 204 0 obj (4.5.1 Performance isolation and resource accounting) endobj 205 0 obj << /S /GoTo /D (subsection.4.5.2) >> endobj 208 0 obj (4.5.2 Migration) endobj 209 0 obj << /S /GoTo /D (chapter.5) >> endobj 212 0 obj (5 Implementation) endobj 213 0 obj << /S /GoTo /D (section.5.1) >> endobj 216 0 obj (5.1 Prototype overview) endobj 217 0 obj << /S /GoTo /D (section.5.2) >> endobj 220 0 obj (5.2 FSVA interface) endobj 221 0 obj << /S /GoTo /D (section.5.3) >> endobj 224 0 obj (5.3 IPC layer) endobj 225 0 obj << /S /GoTo /D (subsection.5.3.1) >> endobj 228 0 obj (5.3.1 Data transfer) endobj 229 0 obj << /S /GoTo /D (subsection.5.3.2) >> endobj 232 0 obj (5.3.2 Control notification) endobj 233 0 obj << /S /GoTo /D (section.5.4) >> endobj 236 0 obj (5.4 Memory mapping) endobj 237 0 obj << /S /GoTo /D (section.5.5) >> endobj 240 0 obj (5.5 Unified buffer cache) endobj 241 0 obj << /S /GoTo /D (section.5.6) >> endobj 244 0 obj (5.6 Migration) endobj 245 0 obj << /S /GoTo /D (chapter.6) >> endobj 248 0 obj (6 Evaluation) endobj 249 0 obj << /S /GoTo /D (section.6.1) >> endobj 252 0 obj (6.1 Experimental setup) endobj 253 0 obj << /S /GoTo /D (section.6.2) >> endobj 256 0 obj (6.2 Case studies: portable file system implementations) endobj 257 0 obj << /S /GoTo /D (section.6.3) >> endobj 260 0 obj (6.3 Macrobenchmarks) endobj 261 0 obj << /S /GoTo /D (section.6.4) >> endobj 264 0 obj (6.4 Microbenchmarks) endobj 265 0 obj << /S /GoTo /D (section.6.5) >> endobj 268 0 obj (6.5 Relaxing the ``pass all VFS calls'' principle) endobj 269 0 obj << /S /GoTo /D (section.6.6) >> endobj 272 0 obj (6.6 Memory overhead) endobj 273 0 obj << /S /GoTo /D (section.6.7) >> endobj 276 0 obj (6.7 Unified buffer cache) endobj 277 0 obj << /S /GoTo /D (section.6.8) >> endobj 280 0 obj (6.8 Migration) endobj 281 0 obj << /S /GoTo /D (chapter.7) >> endobj 284 0 obj (7 Experiences) endobj 285 0 obj << /S /GoTo /D (section.7.1) >> endobj 288 0 obj (7.1 Porting experience and expectation for future ports) endobj 289 0 obj << /S /GoTo /D (section.7.2) >> endobj 292 0 obj (7.2 Lessons for others running a file system in its own VM) endobj 293 0 obj << /S /GoTo /D (chapter.8) >> endobj 296 0 obj (8 Conclusion) endobj 297 0 obj << /S /GoTo /D (section.8.1) >> endobj 300 0 obj (8.1 Future work) endobj 301 0 obj << /S /GoTo /D (chapter.9) >> endobj 304 0 obj (9 Glossary) endobj 305 0 obj << /S /GoTo /D (section*.7) >> endobj 308 0 obj (Bibliography) endobj 309 0 obj << /S /GoTo /D [310 0 R /Fit ] >> endobj 312 0 obj << /Length 737 /Filter /FlateDecode >> stream xڍTMS0+tgзc -KԱS١_RB锓{%\~g'gW4`Y@f"W Tnzۯ:UmDaѸܯt}>Ps)9f g*PL>]܌w)8:D;4ݍo { 02hsE"a) F( 1U4^LQw8Y$3"q&R{ԫ;Ba_ǵY\h]ֽa7nJhmMSm K64:TLt]M yhK2mgz N E[im4LQRJF뿗CrR $