Hybrid Query Processing Engine for Coprocessing in Database Systems
HyPE
hype::core::SchedulingDecision Class Reference

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>

Collaboration diagram for hype::core::SchedulingDecision:

List of all members.

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

Algorithmalg_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

Detailed Description

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.

Author:
Sebastian Breß
Version:
0.1
Date:
2012
Examples:
online_learning.cpp, and online_learning_manual_time_measurement.cpp.

Definition at line 44 of file scheduling_decision.hpp.


Constructor & Destructor Documentation

hype::core::SchedulingDecision::SchedulingDecision ( Algorithm alg_ref,
const EstimatedTime estimated_time_for_algorithm,
const Tuple feature_values 
)
Parameters:
alg_refReference to Algorithm that was choosen
estimated_time_for_algorithmestimated execution time for algorithm
feature_valuesfeatures 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().

Here is the call graph for this function:


Member Function Documentation

Returns:
feature values of input data set

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().

Here is the caller graph for this function:

bool hype::core::SchedulingDecision::operator== ( const SchedulingDecision sched_dec) const

Definition at line 60 of file scheduling_decision.cpp.

References scheduling_id_.


Member Data Documentation

reference to algorithm

Definition at line 78 of file scheduling_decision.hpp.

Referenced by getDeviceSpecification(), and getNameofChoosenAlgorithm().

Definition at line 84 of file scheduling_decision.hpp.

Referenced by operator==().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines