Hybrid Query Processing Engine for Coprocessing in Database Systems
HyPE
|
This class represents a scheduling decision for an operation w.r.t. a user specified set of features of the input data. More...
#include <scheduling_decision.hpp>
Public Member Functions | |
SchedulingDecision (Algorithm &alg_ref, const EstimatedTime &estimated_time_for_algorithm, const Tuple &feature_values) | |
constructs a SchedulingDecision object by assigning neccessary informations to all fields of the object | |
~SchedulingDecision () | |
const std::string | getNameofChoosenAlgorithm () const |
returns the name of the choosen algorithm | |
const EstimatedTime | getEstimatedExecutionTimeforAlgorithm () const |
returns the estimated execution time of the choosen algorithm | |
const Tuple | getFeatureValues () const |
returns the feature values that were the basis for this decision | |
const DeviceSpecification | getDeviceSpecification () const throw () |
returns the ComputeDevice the chosen algorithm utilizes | |
bool | operator== (const SchedulingDecision &sched_dec) const |
Private Attributes | |
Algorithm & | alg_ref_ |
name of choosen algorithm | |
EstimatedTime | estimated_time_for_algorithm_ |
estimated execution time of the choosen algorithm | |
Tuple | feature_values_ |
feature values of input data set | |
uint64_t | scheduling_id_ |
unique id which is unique for each schduling decision |
A user has to execute the algortihm suggested by the SchedulingDecision, or the library will not work. The user can determine the algorithm to excute by calling getNameofChoosenAlgorithm(). The user can then measure the execution time of the algorithm by using an AlgorithmMeasurement object.
Definition at line 44 of file scheduling_decision.hpp.
hype::core::SchedulingDecision::SchedulingDecision | ( | Algorithm & | alg_ref, |
const EstimatedTime & | estimated_time_for_algorithm, | ||
const Tuple & | feature_values | ||
) |
alg_ref | Reference to Algorithm that was choosen |
estimated_time_for_algorithm | estimated execution time for algorithm |
feature_values | features of the input data set that were previously specified by the user |
Definition at line 27 of file scheduling_decision.cpp.
References hype::core::Algorithm::incrementNumberofDecisionsforThisAlgorithm().
Definition at line 39 of file scheduling_decision.cpp.
const DeviceSpecification hype::core::SchedulingDecision::getDeviceSpecification | ( | ) | const throw () |
Definition at line 56 of file scheduling_decision.cpp.
References alg_ref_, and hype::core::Algorithm::getDeviceSpecification().
Referenced by hype::core::Scheduler::ProcessingDevices::addSchedulingDecision(), hype::queryprocessing::Operator::getDeviceSpecification(), hype_SchedulingDecision_getProcessingDeviceID(), and hype::core::Scheduler::ProcessingDevices::removeSchedulingDecision().
Definition at line 48 of file scheduling_decision.cpp.
References estimated_time_for_algorithm_.
Referenced by hype::core::Scheduler::addObservation(), hype::core::AlgorithmMeasurement::afterAlgorithmExecution(), and hype::queryprocessing::Operator::getEstimatedExecutionTime().
const Tuple hype::core::SchedulingDecision::getFeatureValues | ( | ) | const |
Definition at line 52 of file scheduling_decision.cpp.
References feature_values_.
Referenced by hype::core::Scheduler::addObservation(), hype::core::AlgorithmMeasurement::afterAlgorithmExecution(), and hype::queryprocessing::Operator::getFeatureValues().
const std::string hype::core::SchedulingDecision::getNameofChoosenAlgorithm | ( | ) | const |
Definition at line 43 of file scheduling_decision.cpp.
References alg_ref_, and hype::core::Algorithm::getName().
Referenced by hype::core::Scheduler::addObservation(), hype::core::AlgorithmMeasurement::afterAlgorithmExecution(), hype::queryprocessing::Operator::getAlgorithmName(), hype::queryprocessing::OperatorMapper< Type, function >::getPhysicalOperator(), hype_SchedulingDecision_getAlgorithmName(), and main().
bool hype::core::SchedulingDecision::operator== | ( | const SchedulingDecision & | sched_dec | ) | const |
Definition at line 60 of file scheduling_decision.cpp.
References scheduling_id_.
reference to algorithm
Definition at line 78 of file scheduling_decision.hpp.
Referenced by getDeviceSpecification(), and getNameofChoosenAlgorithm().
Definition at line 80 of file scheduling_decision.hpp.
Referenced by getEstimatedExecutionTimeforAlgorithm().
Definition at line 82 of file scheduling_decision.hpp.
Referenced by getFeatureValues().
uint64_t hype::core::SchedulingDecision::scheduling_id_ [private] |
Definition at line 84 of file scheduling_decision.hpp.
Referenced by operator==().