Changeset 52a532ae for doc/theses/mubeen_zulfiqar_MMath
- Timestamp:
- Apr 25, 2022, 10:54:55 AM (3 years ago)
- Branches:
- ADT, ast-experimental, master, pthread-emulation, qualifiedEnum
- Children:
- e357efb
- Parents:
- a6e8f64
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/mubeen_zulfiqar_MMath/background.tex
ra6e8f64 r52a532ae 212 212 a memory allocator can only affect the latter two. 213 213 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}} 215 occurs when one thread passes an object sharing a cache line to another thread, and both threads modify the respective objects. 215 216 \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$. 216 217 Changes to Object$_1$ invalidate CPU$_2$'s cache line, and changes to Object$_2$ invalidate CPU$_1$'s cache line. … … 236 237 \end{figure} 237 238 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} 241 occurs when objects are allocated within the same cache line but to different threads. 239 242 For example, in \VRef[Figure]{f:AllocatorInducedActiveFalseSharing}, each thread allocates an object and loads a cache-line of memory into its associated cache. 240 243 Again, changes to Object$_1$ invalidate CPU$_2$'s cache line, and changes to Object$_2$ invalidate CPU$_1$'s cache line. 241 244 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} 247 is another form of allocator-induced false-sharing caused by program-induced false-sharing. 243 248 When an object in a program-induced false-sharing situation is deallocated, a future allocation of that object may cause passive false-sharing. 244 249 For 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.