# Changeset 05e33f5

Ignore:
Timestamp:
Apr 11, 2022, 8:49:43 PM (3 months ago)
Branches:
enum, master
Children:
e88c2fb
Parents:
13888c0
Message:

Added a section on fairness goals to chapter 3

File:
1 edited

### Legend:

Unmodified
 r13888c0 \item Faster than other schedulers that have equal or better fairness. \end{itemize} \subsection{Fairness Goals} For this work fairness will be considered as having two strongly related requirements: true starvation freedom and fast'' load balancing. \paragraph{True starvation freedom} is more easily defined: As long as at least one \proc continues to dequeue \ats, all read \ats should be able to run eventually. In any running system, \procs can stop dequeing \ats if they start running a \at that will simply never park. Traditional workstealing schedulers do not have starvation freedom in these cases. Now this requirement begs the question, what about preemption? Generally speaking preemption happens on the timescale of several milliseconds, which brings us to the next requirement: fast'' load balancing. \paragraph{Fast load balancing} means that load balancing should happen faster than preemption would normally allow. For interactive applications that need to run at 60, 90, 120 frames per second, \ats having to wait for several millseconds to run are effectively starved. Therefore load-balancing should be done at a faster pace, one that can detect starvation at the microsecond scale. With that said, this is a much fuzzier requirement since it depends on the number of \procs, the number of \ats and the general load of the system. \subsection{Fairness vs Scheduler Locality} \label{fairnessvlocal}