Class strict_greedy_allocator

Inheritance Relationships

Base Type

  • public rer::client< strict_greedy_allocator >

Class Documentation

class strict_greedy_allocator : public rer::client<strict_greedy_allocator>

Allocates a task from a given set of a tasks, using a strict greedy approach: always taking the task of minimum cost. Provably optimal task allocation policy if the task allocation space is a matroid, (probably) suboptimal otherwise.

Used in Harwell2020a-demystify.

Public Functions

strict_greedy_allocator(const strict_greedy_allocator&) = delete
inline explicit strict_greedy_allocator(rmath::rng *rng)
polled_task *operator()(const std::vector<polled_task*> &tasks) const

Perform task allocation.

Parameters:

tasks – The current set of tasks.

const strict_greedy_allocator &operator=(const strict_greedy_allocator&) = delete