33
Caching

Caching. Andrew Security Andrew Scale and Performance Sprite Performance

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Caching

 

Page 2: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Caching

• Andrew Security• Andrew Scale and Performance• Sprite Performance

Page 3: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Andrew File System

Page 4: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Sprite

Page 5: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Network File System

Page 6: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Andrew File System

• AFS, AFS2, Coda• 1983 to present, Satya its

champion• Ideas spread to other systems, NT

Page 7: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Security Terms

• Release, Modification, Denial of Service

• Mutual suspicion, Modification, Conservation, Confinement, Initialization

• Identification, Authentication, Privacy, Nonrepudiation

Page 8: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

System Components

 Vice

Secure Servers VirtueProtected Workstations

VenusVirtual File System

Authentication Server

Page 9: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

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

Page 10: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Andrew Authentication

• Username sent in the clear• Random number exchange

– E[X,key] sent to server (Vice)– D[E[X,key],key] = X– E[X+1,key] to client (Venus)

• BIND exchanges session keys

Page 11: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Authentication Tokens

• Description of the user• ID, timestamp valid/invalid• Used to coordinate what should be

available from Vice (server) to Virtue (client)

Page 12: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

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

Page 13: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

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

Page 14: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Other Security Issues

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

Page 15: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Enhancements

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

administration

Page 16: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Sprite Components

 Client Server

Local Disk Server Disk

Client Cache Server Cache

Page 17: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Sprite Design

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

– Affects system/paging and user files

• Cache size negotiated with VM• Delayed 30s write-back

– Called ‘laissez-faire’ by Andrew

Page 18: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

NFS Comparison

• Presumed optimized• RPC access semantics

– NFS uses UDP, others TCP

• Sprite targeting 100+ nodes• Andrew targeting 5,000+ nodes

Page 19: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Andrew Scale and Performance

• Dedicated server process per client• Directory redirection for content• Whole file copy in cache

Page 20: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Problems already…

• Context switching in server• TCP connection overhead

– Session done by kernel

• Painful to move parts of VFS toother servers– Volume abstraction fixed this later

Page 21: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Cache Management

• Write on close• No concurrent

write• Versioning• User level

• Delayed write• Cache disabled• Versioning• Kernel level

Page 22: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Function Distribution

• TestAuth - validate cache• GetFileStat - file status• Fetch - server to client• Store - client to server

61.7%26.8%4.0%2.1%

Page 23: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Performance Improvements

• Virtue caches directory• Local copy assumed correct• File id’s, not names, exchanged• Lightweight Processes (LWP)

– Context data record on server

Page 24: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Andrew Benchmarks

 

Page 25: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Sprite Throughput

 

Page 26: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Sprite Benchmarks

 

Page 27: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Sprite Benchmarks

 

Page 28: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Cache Impact - Client

 

Page 29: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Cache Impact - Server

 

Page 30: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Cache Impact - Net

 

Page 31: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Comparison

 

Page 32: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

General Considerations

• 17-20% slower than local

• Server bottleneck• Scan for files and read

almost all local

• 6-8x faster vs no cache

• Server cache extends local cache

• Remote paging fast as local disk!

• 5x users/server

Page 33: Caching. Andrew Security Andrew Scale and Performance Sprite Performance

Fini