andrew design goals
play

Andrew Design Goals Transparent file naming in single name space - PDF document

COMP 790-088 -- Distributed File Systems Andrew File System COMP 790-088 -- Fall 2009 1 1 Andrew Design Goals Transparent file naming in single name space Scalable -- O(1000s) Performance approximating local files Low


  1. COMP 790-088 -- Distributed File Systems Andrew File System COMP 790-088 -- Fall 2009 1 1 Andrew Design Goals � Transparent file naming in single name space � Scalable -- O(1000s) � Performance approximating local files � Low incremental costs � Easy administration and operation � Sharing with strong/flexible protections � Strong consistency semantics � Security (authentication) COMP 790-088 -- Fall 2009 2 2

  2. Users Share a Single File System / / afs bin etc bin etc usr cache bin local cache tools joe sam win32 doc / / bin bin etc etc cache cache COMP 790-088 -- Fall 2009 3 3 File Space Distributed on Servers / / bin bin etc etc cache cache afs local usr bin data “volume” movement is joe sam tools non-disruptive to users win32 doc COMP 790-088 -- Fall 2009 4 4

  3. Server “Cells” Form a Global File System / / /afs/unc.edu bin bin etc etc cache cache usr /afs/cmu.edu /afs/mit.edu usr usr kj fds carol ted bob alice doc doc doc COMP 790-088 -- Fall 2009 5 5 Andrew File Access (Open) (1) - open request passed to Andrew client (2) - client checks cache for valid file copy application (3) - if not in cache, fetch whole file from server open(/afs/usr/fds/foo.c) and write to cache; else (4) (4) - when file is in cache, return handle to local file (4) (2) (1) (3) Server file system file system Client OS kernel OS kernel cache COMP 790-088 -- Fall 2009 6 6

  4. Andrew File Access (Read/Write) application (5) - read and write operations take read(fh, buffer, length) place on local cache copy write(fh, buffer, length) Server file system file system Client OS kernel (5) OS kernel cache COMP 790-088 -- Fall 2009 7 7 Andrew File Access (Close-Write) (6) - close request passed to Andrew client application (7) - client writes whole file back to server from cache close(fh) (8) - server copy of file is entirely replaced (6) Server file system file system Client OS kernel (7) OS kernel (8) cache COMP 790-088 -- Fall 2009 8 8

  5. Andrew System Structure application read(fh, buffer, length) Virtual Virtual Client Server *Andrew RPC optimized for file system file system bulk data (file) transfer (VFS) (VFS) RPC* RPC* Unix Unix file system file system UDP/IP UDP/IP OS kernel OS kernel cache COMP 790-088 -- Fall 2009 9 9 Andrew Cache Operation and Consistency Semantics � File data is read from, or written to, the local cache copy only � if the file exists but is not in the cache, it must be fetched from the server to the local cache on open � Directories are fetched to the local cache for read ( lookup ) operations � Directory updates (e.g., create or remove ) are always performed on the server (atomically) and also performed locally on a cached copy if present and valid COMP 790-088 -- Fall 2009 10 10

  6. Andrew Cache Operation and Consistency Semantics � On close , a modified file is copied from the cache back to the server and replaces the server’s copy � When file or directory data is fetched, the server “guarantees” to notify ( callback ) the client before changing the server’s copy � Cached data is used without checking until a callback is received for it or 10 minutes has elapsed without communication with its server COMP 790-088 -- Fall 2009 11 11 Andrew Cache Operation and Consistency Semantics � On receiving a callback for a file or directory, the client invalidates the cached copy which causes a re-fetch on the next reference � Cached data can also be validated (and new callbacks established) by the client with an RPC to the server � primarily used to avoid discarding all cache content after a loss of communication with the server or a reboot of the client machine COMP 790-088 -- Fall 2009 12 12

  7. Andrew Benchmark 1 client workstation = 1 “load unit” ≅ 5 “typical users” Files: source code of program 70 files, 200KB Ethernet server Benchmark Phases: mkdir - duplicate directory tree cp - copy all files to duplicate directories scan - get status of every new file read - read every byte of every file make - make the program clients COMP 790-088 -- Fall 2009 13 13 Andrew Benchmark -- Elapsed Time Source: Howard, et al, “Scale and Performance in a Distributed File System”, ACM TOCS, vol. 6, no. 1, February 1988, pp. 51-81. COMP 790-088 -- Fall 2009 14 14

  8. Andrew Benchmark -- Server CPU Utilization Source: Howard, et al, “Scale and Performance in a Distributed File System”, ACM TOCS, vol. 6, no. 1, February 1988, pp. 51-81. COMP 790-088 -- Fall 2009 15 15 Andrew Benchmark -- Server Disk Utilization Source: Howard, et al, “Scale and Performance in a Distributed File System”, ACM TOCS, vol. 6, no. 1, February 1988, pp. 51-81. COMP 790-088 -- Fall 2009 16 16

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend