Ignore:
Timestamp:
Jul 5, 2023, 5:34:10 PM (17 months ago)
Author:
caparsons <caparson@…>
Branches:
master
Children:
2f26b841, c8bf1b5
Parents:
7c4416a
Message:

small update to end of work stealing section

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/colby_parsons_MMAth/text/actors.tex

    r7c4416a ra9e10e2  
    682682In theory, if this race occurs multiple times consecutively \ie a thief steals, dereferences stolen mailbox pointer, is interrupted and stolen from, etc., this scenario can cascade across multiple workers all attempting to gulp from one mailbox.
    683683The @being_processed@ flag ensures correctness even in this case, and the chance of a cascading scenario across multiple workers is even rarer.
    684 % The rarity is why this mechanism is zero-victim-cost in practice but not in theory.
    685 By collecting statistics on failed gulps due to the @being_processed@ flag, this contention occurs $\approx$0.05\% of the time when a gulp occurs (1 in every 2000 gulps).
    686 \PAB{You need to explain the experiment that gathered this information.}
    687 Hence, the claim is made that this stealing mechanism has (probabilistically) zero-victim-cost in practice.
     684It is straightforward to count the number of missed gulps due to the @being_processed@ flag at runtime.
     685With the exception of the repeat benchmark, the median count of missed gulps for each number of cores for all benchmarks presented in Section~\ref{s:actor_perf} is \emph{zero}.
     686The repeat benchmark is an example the pathological case described earlier where there is too little work and too many workers.
     687In the repeat benchmark one actor has the majority of the workload, and no other actor has a consistent workload which results in rampant stealing.
     688None of the work stealing actor systems compared in this work perform well on the repeat benchmark.
     689Hence, the claim is made that this stealing mechanism has a (probabilistically) zero-victim-cost in practice.
    688690
    689691\subsection{Queue Pointer Swap}\label{s:swap}
Note: See TracChangeset for help on using the changeset viewer.