Arachne Priorities and Starvation
PRIORITY DESIGN QUESTIONS
- Are two priorities sufficient?
- How do we manage starvation?
- What is the performance cost of having arbitrary priority levels?
HOW TO PREVENT STARVATION
- In a priority system, do we want to starve the low priority threads?
- Consider specific actual or expected use cases.
- Idea 1: Ensure that the number of CPU-bound high priority threads is lower than the number of cores.
- Idea 2: Ensure there is at least one core to run only low priority threads, even if that means putting more than one high-priority thread on the same core.