Changeset f403c46


Ignore:
Timestamp:
Aug 31, 2022, 4:37:19 PM (18 months ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, ast-experimental, master, pthread-emulation
Children:
b443db0
Parents:
7e5da64
Message:

Re-worked the goal section of the conclusion.

File:
1 edited

Legend:

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

    r7e5da64 rf403c46  
    3030
    3131\section{Goals}
    32 
    33 The underlying goal of this thesis is scheduling the complex hardware components that make up a computer to provide good utilization and fairness.
    34 However, direct hardware scheduling is only possible in the OS.
    35 Instead, this thesis is performing arms-length application scheduling of the hardware components through a complex set of OS interfaces that indirectly manipulate the hardware components.
    36 Couple that with the OS running multiple applications with its own goals for scheduling among them.
    37 Hence, my goal became the battle of two schedulers.
    38 
    3932This work focusses on efficient and fair scheduling of the multiple CPUs, which are ubiquitous on all modern computers.
    4033The levels of indirection to the CPUs are:
     
    4740The OS and library presentation of disk and network I/O, and many secondary library routines that directly and indirectly use these mechanisms.
    4841\end{itemize}
    49 The key aspect of all of these mechanisms is that control flow can block, which is the enemy of the scheduler.
     42The key aspect of all of these mechanisms is that control flow can block, which immidiately hinders any level above from making scheduling decision as a result.
    5043Fundamentally, scheduling needs to understand all the mechanisms used by threads that affect their state changes.
    5144
    52 Interestingly, there is another major hardware component that affects threading: memory.
    53 How memory is organized, and when it is acquired and released, has a significant affect on thread scheduling.
    54 To this end, I worked closely with another graduate student, Mubeen Zulfiqar, in the development of a new memory allocator for \CFA.
    55 (See Mubeen's thesis~\cite{Zulfiqar22} for a discussion of how threading is managed in the \CFA memory-allocator.)
     45The underlying goal of this thesis is scheduling the complex hardware components that make up a computer to provide good utilization and fairness.
     46However, direct hardware scheduling is only possible in the OS.
     47Instead, this thesis is performing arms-length application scheduling of the hardware components through a set of OS interfaces that indirectly manipulate the hardware components.
     48This can quickly lead to tensions if the OS interface was built with different use cases in mind.
    5649
    57 % An important aspect of this approach to threading is how threads are scheduled.
    5850As \CFA aims to increase productivity and safety of C, while maintaining its performance, this places a huge burden on the \CFA runtime to achieve these goals.
    5951Productivity and safety manifest in removing scheduling pitfalls in the efficient usage of the threading runtime.
Note: See TracChangeset for help on using the changeset viewer.