Lottery Scheduling
Context
- Try to use economic concepts to resource allocation in computation
- wf
Goal
Why should we even consider lottery scheduling?
- Abstraction
- Now there is a explicit representation of CPU time as tickets
- Relative
- Uniform
- We can apply uniform mechnism for resource allocation for other hardware (e.g. disk, memory, etc...)
- Modular
- No starvation
Implementation
- Implements proportional share scheduling
- Probabilistically meeting the proportion guaranteed
Takeaway
Extended Features from Lottery Scheduling
- Transfer
Example: RPC Server
fwoiejfw
- Inflation
- Currencies → modularity
- Compensation
Example: Shell
Shell programs do not need the entire quantum to execute. It might only take a fraction of the allocated time upon winning the lottery. Hence, we can give it compensation tickets (credits) to compensate this process for the CPU time that it doesn't use. We can let is get selected more often since it does not use the entire allocated time when selected.
My Question
- Can you further explain why lottery scheduling is more superior than other proportional scheduling algorithms such as stride scheduling?
- Can you explain the "modular" in why?