Changeset 0a004b7
- Timestamp:
- May 31, 2022, 1:38:12 PM (2 years ago)
- Branches:
- ADT, ast-experimental, master, pthread-emulation, qualifiedEnum
- Children:
- 373aad7
- Parents:
- 5416b44
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/mubeen_zulfiqar_MMath/background.tex
r5416b44 r0a004b7 391 391 Second is to place the thread heap on a list of available heaps and reuse it for a new thread in the future. 392 392 Destroying the thread heap immediately may reduce external fragmentation sooner, since all free objects are freed to the global heap and may be reused by other threads. 393 Alternatively, reusing thread heaps may improve performance if the inheriting thread makes similar allocation requests as the thread that previously held the thread heap because any unfreed storage is immediately accessible. .393 Alternatively, reusing thread heaps may improve performance if the inheriting thread makes similar allocation requests as the thread that previously held the thread heap because any unfreed storage is immediately accessible. 394 394 395 395 … … 422 422 423 423 424 \begin{figure}425 \centering426 \subfigure[Ownership]{427 \input{MultipleHeapsOwnership}428 } % subfigure429 \hspace{0.25in}430 \subfigure[No Ownership]{431 \input{MultipleHeapsNoOwnership}432 } % subfigure433 \caption{Heap Ownership}434 \label{f:HeapsOwnership}435 \end{figure}436 437 438 424 \subsection{Ownership} 439 425 \label{s:Ownership} … … 446 432 For the 1:1 thread:heap relationship, a thread only allocates from its own heap, and without ownership, a thread only frees objects to its own heap, which means the heap is private to its owner thread and does not require any locking, called a \newterm{private heap}. 447 433 For the T:1/T:H models with or without ownership or the 1:1 model with ownership, a thread may free objects to different heaps, which makes each heap publicly accessible to all threads, called a \newterm{public heap}. 434 435 \begin{figure} 436 \centering 437 \subfigure[Ownership]{ 438 \input{MultipleHeapsOwnership} 439 } % subfigure 440 \hspace{0.25in} 441 \subfigure[No Ownership]{ 442 \input{MultipleHeapsNoOwnership} 443 } % subfigure 444 \caption{Heap Ownership} 445 \label{f:HeapsOwnership} 446 \end{figure} 448 447 449 448 \VRef[Figure]{f:MultipleHeapStorageOwnership} shows the effect of ownership on storage layout.
Note: See TracChangeset
for help on using the changeset viewer.