|
PBeFS
Parallel Best-First Search
|
the counters of a search More...
#include <PBeFS/astar/Solution.h>
Public Member Functions | |
| double | load_balance (void) const |
| the load balance \( \mathrm{LB} \), the largest over the mean of the expansions per worker (1 is a perfect balance) | |
| double | communication_overhead (void) const |
| the communication overhead \( \mathrm{CO} \), the nodes sent to another worker over the nodes generated | |
Public Attributes | |
| std::uint64_t | expanded = 0 |
| expansions, re-expansions included | |
| std::uint64_t | reexpanded = 0 |
| expansions of a node already expanded | |
| std::uint64_t | generated = 0 |
| successors generated | |
| std::uint64_t | duplicates = 0 |
| generated states already known with a \( g \) not larger | |
| std::uint64_t | sent = 0 |
| nodes sent to another worker | |
| std::uint64_t | messages = 0 |
| batches of nodes sent | |
| std::uint64_t | stored = 0 |
| distinct nodes stored at the end | |
| double | seconds = 0 |
| wall-clock time of the search | |
| std::vector< std::uint64_t > | expanded_by |
| expansions of each worker | |
| std::vector< std::uint64_t > | stored_by |
| nodes stored by each worker | |
the counters of a search
The vectors have one entry per worker, a single one for a sequential search. The field sent counts the nodes handed to another worker, so that the communication overhead of Jinnai and Fukunaga (JAIR 2017) is \( \mathrm{CO} = \mathrm{sent} / \mathrm{generated} \), and the load balance is \( \mathrm{LB} = \max_i E_i / ( \frac{1}{p} \sum_i E_i ) \), \( E_i \) being the expansions of the worker \( i \) in expanded_by.
|
nodiscard |
the communication overhead \( \mathrm{CO} \), the nodes sent to another worker over the nodes generated
|
nodiscard |
the load balance \( \mathrm{LB} \), the largest over the mean of the expansions per worker (1 is a perfect balance)
| std::uint64_t duplicates = 0 |
generated states already known with a \( g \) not larger
| std::uint64_t expanded = 0 |
expansions, re-expansions included
| std::vector< std::uint64_t > expanded_by |
expansions of each worker
| std::uint64_t generated = 0 |
successors generated
| std::uint64_t messages = 0 |
batches of nodes sent
| std::uint64_t reexpanded = 0 |
expansions of a node already expanded
| double seconds = 0 |
wall-clock time of the search
| std::uint64_t sent = 0 |
nodes sent to another worker
| std::uint64_t stored = 0 |
distinct nodes stored at the end
| std::vector< std::uint64_t > stored_by |
nodes stored by each worker