1 / 7

File Servers

File Servers. Basic idea is simple Clients do not store (permanent) files; servers do Clients cache parts of (or whole) files. Basic Idea---Client. send request to single global channel ( open ) receive reply on client specific channel; reply

norris
Download Presentation

File Servers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. File Servers • Basic idea is simple • Clients do not store (permanent) files; servers do • Clients cache parts of (or whole) files

  2. Basic Idea---Client send request to single global channel (open) receive reply on client specific channel; reply contains a server id (openreply[clientId]) thereafter, send requests to channel indexed by server id (filerequest[serverId]) receive results on a different client specific channel (filereply[clientId]) (eventually send a close request) Note: could have one channel for clients to send all requests to (but extra argument marshalling)

  3. Basic Idea---Server while (1) { receive client id on global channel (open) send server id to that client’s channel (openreply[clientId]) while close not yet received { receive requests on server specific channel (filerequest[serverId]) process request send reply to channel indexed by client id (filerequest[clientId]) } }

  4. Notes on File Server • Our solution used conversational continuity • Client talks to same server throughout the lifetime of the file • Advantage: caching on server side • Other options • One server per disk (harder to program) • Stateless (client sends all info on every request) • Example: on a file read, must send file name, file offset (this is what NFS does)

  5. Interacting Peers • Each process has an integer • Goal: find max and min integers • Approaches • Centralized: use coordinator • 2 * (P-1) messages and a bottleneck • Symmetric: every process sends value to every other • P * (P-1) messages (but easy to program) • Ring: form a circle; send values around • 2 * (P-1) messages; no bottleneck, but sequential • Tree: create a binary (in general, n-ary) tree • 2 * (P-1) messages; less bottleneck, but have log(P) steps

  6. Interacting Peers • How to know which implementation to choose? • Can use models • LogP model most widely used example • L (latency), o (overhead), g (gap), P (number of cores) • Allows mostly architecture-independent analysis of parallel algorithms

  7. Interacting Peers • Generalizations • Example: all-to-all • Implementations are not at all clear here • Must worry about contention • May want intelligent scheduling

More Related