Queue that orders tasks according to specified task priorities.
Definition at line 30 of file PriorityQueue.h.
Public Member Functions | |
void | add (JobTask job_task) override |
See Queue::add. | |
bool | pop (JobTask &job_task) override |
See Queue::pop. | |
void | setTaskPriorities (std::size_t job_id, const std::vector< std::size_t > &task_priorities) |
Set the priority for Job tasks. | |
void | suggestTaskOrder (std::size_t job_id, const std::vector< Task > &task_order) |
Set the desired order for executing tasks of a Job. | |
Public Member Functions inherited from RooFit::MultiProcess::Queue | |
virtual | ~Queue ()=default |
void | loop () |
The queue process's event loop. | |
void | process_master_message (M2Q message) |
Helper function for 'Queue::loop()'. | |
void | process_worker_message (std::size_t this_worker_id, W2Q message) |
Helper function for 'Queue::loop()'. | |
Private Attributes | |
std::priority_queue< OrderedJobTask > | queue_ |
std::unordered_map< std::size_t, std::vector< std::size_t > > | task_priority_ |
Additional Inherited Members | |
Protected Attributes inherited from RooFit::MultiProcess::Queue | |
std::size_t | N_tasks_ = 0 |
std::size_t | N_tasks_at_workers_ = 0 |
|
overridevirtual |
See Queue::add.
Implements RooFit::MultiProcess::Queue.
Definition at line 40 of file PriorityQueue.cxx.
See Queue::pop.
Implements RooFit::MultiProcess::Queue.
Definition at line 29 of file PriorityQueue.cxx.
void RooFit::MultiProcess::PriorityQueue::setTaskPriorities | ( | std::size_t | job_id, |
const std::vector< std::size_t > & | task_priorities | ||
) |
Set the priority for Job tasks.
See Config::Queue::setTaskPriorities.
Definition at line 72 of file PriorityQueue.cxx.
void RooFit::MultiProcess::PriorityQueue::suggestTaskOrder | ( | std::size_t | job_id, |
const std::vector< Task > & | task_order | ||
) |
Set the desired order for executing tasks of a Job.
See Config::Queue::suggestTaskOrder.
Definition at line 60 of file PriorityQueue.cxx.
|
private |
Definition at line 37 of file PriorityQueue.h.
|
private |
Definition at line 39 of file PriorityQueue.h.