CSE221 - lec07: Distributed OSes: Distributed V & Sprite
date
Oct 29, 2024
slug
cse221-lec07
status
Published
tags
System
summary
type
Post
07 - Distributed OSes: Distributed V & Sprite
The Distributed V Kernel and its Performance for Diskless Workstations
Basic model for diskless workstations
- Diskless workstations, small local disk
- Access files stored in file servers via local network
Claims
- Diskless workstations is comparable to those use local disks in terms of performance
- General purpose IPC with messages is sufficient for communication. (No specialized protocol is needed)
V Inter-Process Communication
- Synchronous request / response messages
- slow & inefficient (-)
- simpler (+)
- easier buffer management (+)
- familiar programming model (+)
- Small fixed-size messages
- used to pass control messages (32 bytes)
- via Send / Reply
- easier buffer management (+)
- sufficient for lots of messages (+)
- inefficient network usage (-)
- Separate data transfer mechanism
- used to pass larger pieces of data
- via MoveTo / MoveFrom for large-size data
- via ReceiveWithSeg / ReplyWithSeg for medium-size data
Performance Optimization
- use raw ethernet
Network Penalty
- minimum time to transfer certain amounts of data via network
- a lower bound of cost to go distributed.
Experiment 1: Kernel Performance Evaluation
- goal: measure the overhead of IPC primitive, comparing the local v.s. remote
- remote add few ms of overhead
- disk access latency is about 20 ms, much larger than the overhead
Experiment 2: File Access
- three forms of file acess: random file page access, sequential file reading, and program loading.
- Streaming:
- form 1: streaming over network (not used in V)
- form 2: prefetching and batch write (do apply this in V)
- arguments: don’t need streaming protocol over network
- I/O bound applications: disk is the bottleneck
- not I/O bound: improvement is small, not worth optimizing
Experiment Summary
- contains both micro + macro benchmark, measuring both primitive operations and end-to-end system performance.
- use experiment results to support the advocate for diskless workstations: gain additional benefits without losing many performance
Summary
- The notion of diskless workstations
- arguments based on performance
The Sprite Network Operating System
Tech Trends
- large memory → more caching
- higher performance network → workstations connected via network
- unreliablibity of underlying network
- consistency
- slower
- manage / administering is hard
- information sharing → addressed by single global namespace in this paper
- idle machine → addressed by process migration in this paper
- multi-processors
- more sharing & parallelism: shared_fork()
- OS organization: subsystems + monitors
Caching
Basic model: both client side and server side has its own file cache, one server could serve multiple clients.
- Consistency problem: when the cache contents in different clients differ
- Two types of consistency problems
- sequential write-sharing: one write and close, then another open. → resolve using version numbers
- concurrent write-sharing: multiple clients modify contents concurrently → disable client cache
Physical Memory Allocation
- Virtual Memory and File System has conflict use of physical memory: vm wants more to improve memory performance, fs wants more to improve file access performance.
- can be resolved by vm-fs negotiation: dynamically adjust based on statistics information from vm and fs.
Process Migration
- goal: transparency (the user don’t know whether the process is migrated or running locally)
- three step: freeze - transfer - unfreeze
- handle machine dependent kernel calls:
- forward to home node kernel (where the process is created)
- Today: no process migration, more VM / container migration
Summary
- file caching protocol to resolve consistency problem
- tech trends affect system design and research problems