Ignore:
Timestamp:
Apr 11, 2022, 8:49:43 PM (2 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, ast-experimental, enum, master, pthread-emulation, qualifiedEnum
Children:
e88c2fb
Parents:
13888c0
Message:

Added a section on fairness goals to chapter 3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/thierry_delisle_PhD/thesis/text/core.tex

    r13888c0 r05e33f5  
    3232        \item Faster than other schedulers that have equal or better fairness.
    3333\end{itemize}
     34
     35\subsection{Fairness Goals}
     36For this work fairness will be considered as having two strongly related requirements: true starvation freedom and ``fast'' load balancing.
     37
     38\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.
     39In any running system, \procs can stop dequeing \ats if they start running a \at that will simply never park.
     40Traditional workstealing schedulers do not have starvation freedom in these cases.
     41Now this requirement begs the question, what about preemption?
     42Generally speaking preemption happens on the timescale of several milliseconds, which brings us to the next requirement: ``fast'' load balancing.
     43
     44\paragraph{Fast load balancing} means that load balancing should happen faster than preemption would normally allow.
     45For 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.
     46Therefore load-balancing should be done at a faster pace, one that can detect starvation at the microsecond scale.
     47With 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.
    3448
    3549\subsection{Fairness vs Scheduler Locality} \label{fairnessvlocal}
Note: See TracChangeset for help on using the changeset viewer.