Column-oriented GPU-accelerated Database Management System
CoGaDB
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

This class represents a scheduling decision for an operation w.r.t. a user specified set of features of the input data.

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
Todo:
change interface, so it stores a pointer to the choosen algorithm, and update algorithm timestamps in the constructor!

Constructor & Destructor Documentation

hype::core::SchedulingDecision::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

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

Member Function Documentation

returns the ComputeDevice the chosen algorithm utilizes

Returns:
ComputeDevice the chosen algorithm utilizes

returns the estimated execution time of the choosen algorithm

Returns:
estimated execution time of the choosen algorithm

returns the feature values that were the basis for this decision

Returns:
feature values of input data set

returns the name of the choosen algorithm

Returns:
name of choosen algorithm

Referenced by hype::queryprocessing::OperatorMapper< TablePtr, function >::getPhysicalOperator().

Here is the caller graph for this function:

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

Member Data Documentation

name of choosen algorithm

reference to algorithm

estimated execution time of the choosen algorithm

feature values of input data set

unique id which is unique for each schduling decision


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