Download Remote Procedure Call - Operating Systems | CMSC 412 and more Study notes Operating Systems in PDF only on Docsity!
copyright 1996 Jeffrey K. Hollingsworth
Announcements
l^
Reading Chapter 17 (skip 17.6.1 and 17.6.4)– problems: 17.1, 17.3, 17.
copyright 1996 Jeffrey K. Hollingsworth
Remote Procedure Calls
l^
Provide a way to access remotes services
l^
Look like “normal” procedure calls
l^
Issues:– binding functions to services
- can use static binding (like kernel trap #’s)• can use a nameserver
- data format
- different machine may have different formats• translation is called
marshalling
- pick a common way to encode info (e.g. XDR)– always send in this common format
- failures
- what if a host dies while and RPC is active?
copyright 1996 Jeffrey K. Hollingsworth
RPC Generators
l^
Given a list of functions to make into RPC
l^
Generate the code for:– RPC stubs (for clients to call)
- marshalling code for each parameter• utility routines to marshal structures/records• code to send messages and wait for responces
- Server code
- case statement for each RPC type• un-marshal parameters• call local routine
- detecting errors– checking version numbers between client/server
copyright 1996 Jeffrey K. Hollingsworth
Failures
l^
Fail Stop– system either produces the correct answer or no answer– hard to know “what” failed
- local network card• network link• remote network card• remote system• remote software
l^
Byzantine Failure– systems can “lie” and produce wrong answers
- a message shows up but some of the data is wrong
- can use check sums to detect this failure mode
- does not deal with malicious failure
- considered a “hard” problem
copyright 1996 Jeffrey K. Hollingsworth
DFS Performance Issues
l^
“normal” filesystem issues– disk parameters: seeks time, rotational latency– filesystem time: directory structure, fat/inodes
l^
distributed system issues– network:
- latency (time for small requests)• bandwidth (time to move entire disk blocks)
- coordination
- time to access servers
- namespace server– fileserver
copyright 1996 Jeffrey K. Hollingsworth
Caching
l^
To improve performance, cache DFS information– goal: improve response times for overall DFS
l^
Local Cache– memory cache
- data is stored in memory of local system
- disk cache
- data is stored on the disk of the local system
l^
Server Cache– memory
- can put lots of memory here so most “popular” files are in memory