100 likes | 114 Views
This paper explores the process of building a distributed file system, focusing on system design, prototype development, user feedback analysis, and performance optimization using traces and benchmarks. It discusses the Venus structure and interactions in AFS, along with cache consistency protocols and benchmark results.
E N D
Distributed Filesystems (part 1) CPS210 Spring 2006
Papers • Scale and Performance in a Distributed File System • John Howard + Satya
Process of building AFS • Example of the ideal systems design cycle • (rare to actually see, especially 2.) • Build a prototype • Get people to use it (hard) • See what doesn’t work • Traces and benchmarks • Fix what doesn’t work • Goto 1.
Venus structure (first read) file cache Vice F App Venus stat cache F F stat F open read Kernel Venus kernel module
Venus structure (write) file cache Vice F’ F’ F App Venus F’ stat cache F’ F F stat F’ stat F close write Kernel Venus kernel module
Venus structure (second read) file cache Vice F’ F’ App Venus stat cache F F’ stat F’ open read Kernel Venus kernel module
Venus-vice interactions 2 reads for every write
Andrew benchmark • Start with read-only source tree • Outside of measured file system! • Phases • MakeDir • Copy • ScanDir • ReadAll • Make • What are the limitations of this?
Benchmark results with load • Clearly, Vice is not scaling well • Cache consistency protocol really isn’t
Callbacks • Servers now invalidate caches • Called “breaking a callback” • Why is this better? • Client no longer polls for invaldations • Sharing is extremely rare • Most polls did not invalidate the cache • What state does the server need?