Changeset b0ceb72
- Timestamp:
- Sep 9, 2022, 7:22:37 PM (2 years ago)
- Branches:
- ADT, ast-experimental, master, pthread-emulation
- Children:
- 1260224
- Parents:
- 4a2d728
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/thierry_delisle_PhD/thesis/glossary.tex
r4a2d728 rb0ceb72 17 17 {name={Thread},text={thread}} 18 18 { 19 A thread is an independent sequential execution path through a program. Each thread is scheduled for execution separately and independently from other threads. A thread must have its own stack to save its state when it is scheduled.Systems offer one or more concrete implementations of this concept, \eg \gls{kthrd}, \gls{job}, task. However, most of the concepts of scheduling are independent of the particular implementations of the thread representation. For this reason, this document uses the term \gls{at} to mean any of these representation that meets the general definition.19 A thread is an independent sequential execution path through a program. Each thread is scheduled for execution separately and independently from other threads. Systems offer one or more concrete implementations of this concept, \eg \gls{kthrd}, \gls{job}, task. However, most of the concepts of scheduling are independent of the particular implementations of the thread representation. For this reason, this document uses the term \gls{at} to mean any of these representation that meets the general definition. 20 20 21 21 \textit{Synonyms : Tasks, Jobs, Blocks.} … … 33 33 {name={Ready Queue}, text={ready-queue}} 34 34 { 35 Data structure holding \ats that are ready to \glslink{atrun}{run} , but currently all the processors are in use. Often a \glsxtrshort{fifo} queue for fairness, but can take many different forms, \eg binary tree and priority queue are also common.35 Data structure holding \ats that are ready to \glslink{atrun}{run}. Often a \glsxtrshort{fifo} queue for fairness, but can take many different forms, \eg binary tree and priority queue are also common. 36 36 } 37 37 38 38 \longnewglossaryentry{uthrding} 39 {name={User-Level \Gls{at}ing},text={user-level threading}}39 {name={User-Level Threading},text={user-level threading}} 40 40 { 41 \Gls{at}ing model where a scheduler runs in users space and maps threads managed and created inside the user-space onto \glspl{kthrd}.41 Threading model where a scheduler runs in users space and maps threads managed and created inside the user-space onto \glspl{kthrd}. 42 42 43 43 \textit{Synonyms : User threads, Lightweight threads, Green threads, Virtual threads, Tasks.} … … 47 47 {name={Remote Memory Reference},text={remote memory reference}} 48 48 { 49 A memory reference to an address not in the current \gls{hthrd}'s L1 or L2 cache is a remote reference. L1 and L2 cache references are considered \emph{local}. For example, a cache line that must be updated from the L3 cache or fromany cache on another socket, or from RAM in a \glsxtrshort{numa} context.49 A memory reference to an address not in the current \gls{hthrd}'s cache is a remote reference. Memory references that \emph{are} in the current \gls{hthrd}'s cache is a \newterm{local} memory reference. For example, a cache line that must be updated from the any cache on another socket, or from RAM in a \glsxtrshort{numa} context. 50 50 } 51 51 … … 53 53 54 54 \longnewglossaryentry{hthrd} 55 {name={Hardware \Gls{at}},text={hardware thread}}55 {name={Hardware Threading},text={hardware thread}} 56 56 { 57 \Gls{at}s representing the underlying hardware, \eg a CPU core or hyper-thread, if the hardware supports multiple threads of execution per core. The maximum number of hardware threadsis fixed on any given computer.57 Threads representing the underlying hardware, \eg a CPU core or hyper-thread, if the hardware supports multiple threads of execution per core. The number of hardware threads present is fixed on any given computer. 58 58 59 \textit{Synonyms : Core, Hyper- \Gls{at}, Processing Unit, CPU.}59 \textit{Synonyms : Core, Hyper-Thread, Processing Unit, CPU.} 60 60 } 61 61 62 62 \longnewglossaryentry{kthrd} 63 {name={Kernel-Level \Gls{at}},text={kernel-level thread}}63 {name={Kernel-Level Thread},text={kernel-level thread}} 64 64 { 65 \Gls{at}s created and managed inside kernel space. Each kernel thread has its own stack and its own thread of execution. Kernel-level threads are owned, managed and scheduled by the underlying operating system.65 Threads created and managed inside kernel space. Each kernel thread has its own stack and its own thread of execution. Kernel-level threads are owned, managed and scheduled by the underlying operating system. 66 66 67 67 \textit{Synonyms : OS threads, Hardware threads, Physical threads.} … … 85 85 86 86 \longnewglossaryentry{pool} 87 {name={ \Gls{at}Pool},text={thread-pool}}87 {name={Thread Pool},text={thread-pool}} 88 88 { 89 89 Group of homogeneous threads that loop executing units of works. Often executing \glspl{jobs}.
Note: See TracChangeset
for help on using the changeset viewer.