ParallelME Runtime Environment
Public Member Functions | List of all members
Scheduler Class Referenceabstract

#include <Scheduler.hpp>

Inheritance diagram for Scheduler:
SchedulerFCFS SchedulerHEFT SchedulerPAMS

Public Member Functions

 Scheduler (const Scheduler &)=delete
 
Scheduleroperator= (const Scheduler &)=delete
 
virtual void push (std::unique_ptr< Task > task)=0
 
virtual std::unique_ptr< Taskpop (Device &device)=0
 
virtual bool hasWork ()=0
 

Detailed Description

The Scheduler class specifies an interface that is used by all the different scheduling policies implemented by the Runtime. New scheduling policies can also be created by deriving this class and using the derived class when constructing a Runtime class instance.

Member Function Documentation

virtual bool Scheduler::hasWork ( )
pure virtual

If the scheduler still has work to do. This function is thread-safe.

Implemented in SchedulerPAMS, SchedulerHEFT, and SchedulerFCFS.

virtual std::unique_ptr<Task> Scheduler::pop ( Device device)
pure virtual

Pops a task from the scheduler. This function is thread-safe.

Implemented in SchedulerPAMS, SchedulerHEFT, and SchedulerFCFS.

virtual void Scheduler::push ( std::unique_ptr< Task task)
pure virtual

Pushes a task into the scheduler. This function is thread-safe.

Implemented in SchedulerPAMS, SchedulerHEFT, and SchedulerFCFS.


The documentation for this class was generated from the following file: