Random-k random-k stealing policy.
More...
|
| | rk_rk_steal (location_type id, location_type num_locations, size_type chunk_size=1, size_type fraction=2) |
| | Constructs a new rk_rk_steal object. More...
|
| |
| template<typename Scheduler > |
| void | steal (Scheduler &scheduler) |
| | Steal some work. More...
|
| |
|
void | receive_steal_completion (location_type, size_type loot) noexcept |
| | Receive notification of a steal request completion.
|
| |
|
template<typename Scheduler > |
| bool | has_work (Scheduler const &scheduler) const noexcept |
| | Returns true if the scheduler has available work to be stolen.
|
| |
| template<typename Scheduler > |
| void | process_steal_requests (Scheduler &scheduler, task_graph *tg_ptr) |
| | Processes steal requests that it got from thieves. More...
|
| |
| template<typename Scheduler > |
| void | migrate_work (Scheduler &scheduler, location_type loc, size_type num_to_migrate, task_graph *tg_ptr) |
| | Migrate some work to a thief. More...
|
| |
|
int | expected_work (void) const noexcept |
| |
|
void | receive_work_notification (void) noexcept |
| | Receive notification of a received work request.
|
| |
|
void | receive_steal_completion (const size_type loot) noexcept |
| | Receive notification of a steal request completion.
|
| |
|
|
typedef std::size_t | size_type |
| |
|
|
std::ostream & | operator<< (std::ostream &os, rk_rk_steal const &p) |
| |
Random-k random-k stealing policy.
◆ rk_rk_steal()
| stapl::rk_rk_steal::rk_rk_steal |
( |
location_type |
id, |
|
|
location_type |
num_locations, |
|
|
size_type |
chunk_size = 1, |
|
|
size_type |
fraction = 2 |
|
) |
| |
Constructs a new rk_rk_steal object.
- Parameters
-
| id | Current location id. |
| num_locations | Number of locations. |
| chunk_size | Number of entries to steal. |
| fraction | Fraction of the total entries to steal. |
◆ steal()
template<typename Scheduler >
| void stapl::rk_rk_steal::steal |
( |
Scheduler & |
scheduler | ) |
|
Steal some work.
- Parameters
-
| scheduler | Scheduler to steal entries from. |
◆ process_steal_requests()
template<typename Scheduler >
| void stapl::steal_policy_base::process_steal_requests |
( |
Scheduler & |
scheduler, |
|
|
task_graph * |
tg_ptr |
|
) |
| |
|
inherited |
Processes steal requests that it got from thieves.
This function migrates work to the thieves. It will distribute work according to the steal requests that were received.
◆ migrate_work()
template<typename Scheduler >
| void stapl::steal_policy_base::migrate_work |
( |
Scheduler & |
scheduler, |
|
|
location_type |
loc, |
|
|
size_type |
num_to_migrate, |
|
|
task_graph * |
tg_ptr |
|
) |
| |
|
inherited |
Migrate some work to a thief.
- Parameters
-
| scheduler | Scheduler to migrate work from. |
| loc | Thief to migrate work to. |
| num_to_migrate | How much work to migrate. |
The documentation for this class was generated from the following file: