Caching Caching Andrew Security Andrew Scale and Performance

  • Slides: 33
Download presentation
Caching

Caching

Caching • Andrew Security • Andrew Scale and Performance • Sprite Performance

Caching • Andrew Security • Andrew Scale and Performance • Sprite Performance

Andrew File System

Andrew File System

Sprite

Sprite

Network File System

Network File System

Andrew File System • AFS, AFS 2, Coda • 1983 to present, Satya its

Andrew File System • AFS, AFS 2, Coda • 1983 to present, Satya its champion • Ideas spread to other systems, NT

Security Terms • Release, Modification, Denial of Service • Mutual suspicion, Modification, Conservation, Confinement,

Security Terms • Release, Modification, Denial of Service • Mutual suspicion, Modification, Conservation, Confinement, Initialization • Identification, Authentication, Privacy, Nonrepudiation

System Components Authentication Server Vice Virtue Secure Servers Protected Workstations Venus Virtual File System

System Components Authentication Server Vice Virtue Secure Servers Protected Workstations Venus Virtual File System

Andrew Encryption • • DES - Private Keys E[msg, key], D[msg, key] Local copy

Andrew Encryption • • DES - Private Keys E[msg, key], D[msg, key] Local copy of secret key Exchange of keys doesn’t scale – Web of trust extends to lots of servers – Pair wise keys unwieldy

Andrew Authentication • Username sent in the clear • Random number exchange – E[X,

Andrew Authentication • Username sent in the clear • Random number exchange – E[X, key] sent to server (Vice) – D[E[X, key] = X – E[X+1, key] to client (Venus) • BIND exchanges session keys

Authentication Tokens • Description of the user • ID, timestamp valid/invalid • Used to

Authentication Tokens • Description of the user • ID, timestamp valid/invalid • Used to coordinate what should be available from Vice (server) to Virtue (client)

Access Control • Hierarchical groups – Project/shared accounts discouraged • • • Positive/Negative Rights

Access Control • Hierarchical groups – Project/shared accounts discouraged • • • Positive/Negative Rights U(+) — U(-) VMS linear list & rights IDs Prolog engine in NT Netware has better admin feedback

Resource Usage • Network not an issue – Distributed DOS ‘hard’ • Server High

Resource Usage • Network not an issue – Distributed DOS ‘hard’ • Server High Water Mark – Violations by SU programs tolerated – Daemon processes given ‘stem’ accnt • Workstations not an issue – User files in Vice

Other Security Issues • XOR for session encryption • PC support via special server

Other Security Issues • XOR for session encryption • PC support via special server • Diskless workstations avoided

Enhancements • Cells (NT Domains) • Kerberos • Protection Server for user administration

Enhancements • Cells (NT Domains) • Kerberos • Protection Server for user administration

Sprite Components Client Cache Local Disk Server Cache Server Disk

Sprite Components Client Cache Local Disk Server Cache Server Disk

Sprite Design • Cache in client and server RAM • Kernel file system modification

Sprite Design • Cache in client and server RAM • Kernel file system modification – Affects system/paging and user files • Cache size negotiated with VM • Delayed 30 s write-back – Called ‘laissez-faire’ by Andrew

NFS Comparison • Presumed optimized • RPC access semantics – NFS uses UDP, others

NFS Comparison • Presumed optimized • RPC access semantics – NFS uses UDP, others TCP • Sprite targeting 100+ nodes • Andrew targeting 5, 000+ nodes

Andrew Scale and Performance • Dedicated server process per client • Directory redirection for

Andrew Scale and Performance • Dedicated server process per client • Directory redirection for content • Whole file copy in cache

Problems already… • Context switching in server • TCP connection overhead – Session done

Problems already… • Context switching in server • TCP connection overhead – Session done by kernel • Painful to move parts of VFS to other servers – Volume abstraction fixed this later

Cache Management • • Write on close No concurrent write Versioning User level •

Cache Management • • Write on close No concurrent write Versioning User level • • Delayed write Cache disabled Versioning Kernel level

Function Distribution • • Test. Auth - validate cache Get. File. Stat - file

Function Distribution • • Test. Auth - validate cache Get. File. Stat - file status Fetch - server to client Store - client to server 61. 7% 26. 8% 4. 0% 2. 1%

Performance Improvements • • Virtue caches directory Local copy assumed correct File id’s, not

Performance Improvements • • Virtue caches directory Local copy assumed correct File id’s, not names, exchanged Lightweight Processes (LWP) – Context data record on server

Andrew Benchmarks

Andrew Benchmarks

Sprite Throughput

Sprite Throughput

Sprite Benchmarks

Sprite Benchmarks

Sprite Benchmarks

Sprite Benchmarks

Cache Impact - Client

Cache Impact - Client

Cache Impact - Server

Cache Impact - Server

Cache Impact - Net

Cache Impact - Net

Comparison

Comparison

General Considerations • 17 -20% slower than local • Server bottleneck • Scan for

General Considerations • 17 -20% slower than local • Server bottleneck • Scan for files and read almost all local • 6 -8 x faster vs no cache • Server cache extends local cache • Remote paging fast as local disk! • 5 x users/server

Fini

Fini