- Timestamp:
- Sep 2, 2022, 11:29:51 AM (2 years ago)
- Branches:
- ADT, ast-experimental, master, pthread-emulation
- Children:
- e228f46
- Parents:
- 0e3f80d
- Location:
- doc/theses/thierry_delisle_PhD/thesis/text
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/thierry_delisle_PhD/thesis/text/conclusion.tex
r0e3f80d r836cf647 8 8 I believed my Masters work would provide the background to make the Ph.D work reasonably straightforward. 9 9 However, in doing so I discovered two expected challenges. 10 First, while modern symmetric multiprocessing CPU have a significant penalties for communicating across cores, state-of-the-art work-stealing schedulers are very effective a avoid the need for communication in many common workloads. 11 This leaves very little space for adding fairness guarantees without notable performance penalties. 10 First, while modern symmetric multiprocessing CPU have significant performance penalties for communicating across cores. 11 This makes implementing algorithm notably more difficult, since fairness generally requires \procs to be aware of each other's progress. 12 This challenge is made even harder when comparing against MQMS schedulers (see Section\ref{sched}) which have very little inter-\proc communication. 13 This is particularly true of state-of-the-art work-stealing schedulers, which can have virtually no inter-\proc communication in some common workloads. 14 This means that when adding fairness to work-stealing schedulers, extreme care must be taken to hide the communication costs so performance does not suffer. 12 15 Second, the kernel locking, threading, and I/O in the Linux operating system offers very little flexibility of use. 13 16 There are multiple concurrency aspects in Linux that require carefully following a strict procedure in order to achieve acceptable performance. -
doc/theses/thierry_delisle_PhD/thesis/text/intro.tex
r0e3f80d r836cf647 29 29 30 30 31 \section{Scheduling} 31 \section{Scheduling}\label{sched} 32 32 Computer systems share multiple resources across many threads of execution, even on single-user computers like laptops or smartphones. 33 33 On a computer system with multiple processors and work units (routines, coroutines, threads, programs, \etc), there exists the problem of mapping many different kinds of work units onto many different kinds of processors in an efficient manner, called \newterm{scheduling}.
Note: See TracChangeset
for help on using the changeset viewer.