Amount of resource after n lotteries response time

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: holds t tickets, T total tickets • Probability of winning a lottery? • amount of resource after n lotteries? • response time inversely proportional to ticket allocation expected # of lotteries n that client must wait to win: Lottery Lottery Scheduling Advantages Proportional-share fairness • direct control over service rates Supports dynamic environments • immediately adapts to changes • fair chance to win each allocation No starvation • hold a non-zero # of tickets Flexible Flexible Resource Management Ticket transfers • explicit transfer between clients • when is this useful? Blocking, Blocking, prevent priority inversion Flexible Flexible Resource Management Compensation tickets • if don’t use full Q, your tickets are inflated in value … to ensure rate of consumption guaranteed by the share share Ticket Ticket Currencies Tickets denominated in currencies Modular resource management • locally contain effects of inflation • isolates loads across logical trust boundaries Currency Currency Implementation Kernel Kernel Implementation Objects: ticket, currency Operations • create/destroy ticket, currency • fund/unfund currency • compute value of ticket Relative Relative Rates Fairness Fairness Over Time Query Query Processing Rates Server has no tickets, clients transfer their tickets to it for a query Currencies Currencies Insulate Loads local inflation of B2 does not impact A Impressions? Impressions? BREAK BREAK Project Project #1 OS kernel TOP CPU I/O devices OS->CPU: run user program; run driver code CPU->OS: P instr (if exception), C, E, I syscalls Device->OS: I/O completes via interrupt/signal OS->Device: schedule future I/O Goal: OS to create, context-switch, terminate, run user processes and deal with the hardware Project Project #1 CPU: Mode bit PC: fetch instruction at this address, execute, …. VC: value register to be updated Project Project #1 Kernel: Maintain list of processes and their status Per process accounting I/O I/O device status Process “machine”state Scheduling: RR, Lottery scheduling Boot time: set up h/w run initial user program loop until no more processes to schedule Project Project #1 Process: Kernel state VAS: text segment local PC, local value (~ VC) local PC starts at 0 Project Project #1 S x : store x to VC A x : add x to VC D x : decr x from VC C <priority> <file-name> : create a process with the given <priority> priority using file-name (a code file) E : terminate the current process I <dev-class> (B/C) : IO syscall req...
View Full Document

Ask a homework question - tutors are online