|
Wildmeshing Toolkit
|
What the last pass cost in contention, as opposed to in work. More...
#include <ExecutionScheduler.hpp>
Public Member Functions | |
| PassStats & | operator+= (const PassStats &o) |
Public Attributes | |
| size_t | lock_failures = 0 |
| size_t | overflowed = 0 |
| Operations that exhausted max_retry_limit and were pushed to the post-barrier queue. | |
| size_t | final_queue_size = 0 |
| Size of that queue once every task had finished. | |
| double | parallel_seconds = 0. |
| double | serial_tail_seconds = 0. |
| double | busiest_task_seconds = 0. |
| double | idlest_task_seconds = 0. |
| size_t | rounds = 1 |
What the last pass cost in contention, as opposed to in work.
Populated by every operator() call, so under run_localized_to_convergence it describes the most recent round only. Zeroed at the start of each pass. A screened pass (screen_before_commit) adds up the commit phases of all its rounds – the busiest and idlest task times too, one round's after another's – and a round committed inline, on the calling thread, counts as serial tail.
| double wmtk::ExecutePass< AppMesh >::PassStats::busiest_task_seconds = 0. |
Busy time of the longest- and shortest-running task. A wide gap means the partitions split the work unevenly: a task drains a partition alone, so with one partition per thread the tail is one thread (cut the mesh finer to balance it).
| size_t wmtk::ExecutePass< AppMesh >::PassStats::lock_failures = 0 |
Operations that could not claim their ring and were requeued. Counts attempts, so one stubborn operation can contribute up to max_retry_limit.
| double wmtk::ExecutePass< AppMesh >::PassStats::parallel_seconds = 0. |
Wall time inside the parallel region, and in the serial drain that follows it. The pass is billed as "parallel" in the driver's log line, but it is the sum of these.
| size_t wmtk::ExecutePass< AppMesh >::PassStats::rounds = 1 |
Rounds the parallel region took: more than one when the tasks ran through their slot budgets and the storage had to grow between rounds. For a screened pass, the most any one commit took.