Ignore:
Timestamp:
Apr 25, 2022, 10:54:55 AM (3 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, ast-experimental, master, pthread-emulation, qualifiedEnum
Children:
e357efb
Parents:
a6e8f64
Message:

add labels to refer to sections

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/mubeen_zulfiqar_MMath/background.tex

    ra6e8f64 r52a532ae  
    212212a memory allocator can only affect the latter two.
    213213
    214 \paragraph{\newterm{Program-induced false-sharing}} occurs when one thread passes an object sharing a cache line to another thread, and both threads modify the respective objects.
     214\paragraph{\newterm{Program-induced false-sharing}}
     215occurs when one thread passes an object sharing a cache line to another thread, and both threads modify the respective objects.
    215216\VRef[Figure]{f:ProgramInducedFalseSharing} shows when Thread$_1$ passes Object$_2$ to Thread$_2$, a false-sharing situation forms when Thread$_1$ modifies Object$_1$ and Thread$_2$ modifies Object$_2$.
    216217Changes to Object$_1$ invalidate CPU$_2$'s cache line, and changes to Object$_2$ invalidate CPU$_1$'s cache line.
     
    236237\end{figure}
    237238
    238 \paragraph{\newterm{Allocator-induced active false-sharing}} occurs when objects are allocated within the same cache line but to different threads.
     239\paragraph{\newterm{Allocator-induced active false-sharing}}
     240\label{s:AllocatorInducedActiveFalseSharing}
     241occurs when objects are allocated within the same cache line but to different threads.
    239242For example, in \VRef[Figure]{f:AllocatorInducedActiveFalseSharing}, each thread allocates an object and loads a cache-line of memory into its associated cache.
    240243Again, changes to Object$_1$ invalidate CPU$_2$'s cache line, and changes to Object$_2$ invalidate CPU$_1$'s cache line.
    241244
    242 \paragraph{\newterm{Allocator-induced passive false-sharing}} is another form of allocator-induced false-sharing caused by program-induced false-sharing.
     245\paragraph{\newterm{Allocator-induced passive false-sharing}}
     246\label{s:AllocatorInducedPassiveFalseSharing}
     247is another form of allocator-induced false-sharing caused by program-induced false-sharing.
    243248When an object in a program-induced false-sharing situation is deallocated, a future allocation of that object may cause passive false-sharing.
    244249For example, in \VRef[Figure]{f:AllocatorInducedPassiveFalseSharing}, Thread$_1$ passes Object$_2$ to Thread$_2$, and Thread$_2$ subsequently deallocates Object$_2$.
Note: See TracChangeset for help on using the changeset viewer.