Column-oriented GPU-accelerated Database Management System
CoGaDB
hype::queryprocessing::Operation_Benchmark< Type > Class Template Reference

#include <benchmark.hpp>

Collaboration diagram for hype::queryprocessing::Operation_Benchmark< Type >:

List of all members.

Classes

struct  Random_Number_Generator

Public Types

typedef Type type
typedef
OperatorMapper_Helper_Template
< Type >::TypedOperatorPtr 
TypedOperatorPtr
typedef
OperatorMapper_Helper_Template
< Type >
::Physical_Operator_Map 
Physical_Operator_Map
typedef
OperatorMapper_Helper_Template
< Type >
::Physical_Operator_Map_Ptr 
Physical_Operator_Map_Ptr
typedef
OperatorMapper_Helper_Template
< Type >
::Create_Typed_Operator_Function 
Create_Typed_Operator_Function
typedef
OperatorMapper_Helper_Template
< Type >::TypedNodePtr 
TypedNodePtr

Public Member Functions

 Operation_Benchmark (const std::string &operation_name, const std::string &cpu_algorithm_name, const std::string &gpu_algorithm_name)
boost::mt19937 & getRandomNumberGenerator ()
uint64_t getTimestamp ()
virtual TypedNodePtr generate_logical_operator (Type dataset)=0
virtual Type generate_dataset (unsigned int size_in_number_of_bytes)=0
virtual ~Operation_Benchmark ()
std::vector< Type > generate_random_datasets (unsigned int max_size_of_dataset_in_byte, unsigned int number_of_datasets)
int setup (int argc, char *argv[])
int run ()

Public Attributes

std::string operation_name_
std::string cpu_algorithm_name_
std::string gpu_algorithm_name_
unsigned int MAX_DATASET_SIZE_IN_MB_
unsigned int NUMBER_OF_DATASETS_
unsigned int NUMBER_OF_SORT_OPERATIONS_IN_WORKLOAD_
unsigned int RANDOM_SEED_
SchedulingConfiguration sched_config_
std::string stemod_optimization_criterion_
std::string stemod_statistical_method_
std::string stemod_recomputation_heuristic_
hype::queryprocessing::ProcessingDevicecpu
hype::queryprocessing::ProcessingDevicegpu
std::vector< Type > datasets
std::vector< TypedNodePtroperator_queries_
boost::mt19937 rng_

template<typename Type>
class hype::queryprocessing::Operation_Benchmark< Type >


Member Typedef Documentation

template<typename Type >
typedef Type hype::queryprocessing::Operation_Benchmark< Type >::type

Constructor & Destructor Documentation

template<typename Type >
hype::queryprocessing::Operation_Benchmark< Type >::Operation_Benchmark ( const std::string &  operation_name,
const std::string &  cpu_algorithm_name,
const std::string &  gpu_algorithm_name 
) [inline]
template<typename Type >
virtual hype::queryprocessing::Operation_Benchmark< Type >::~Operation_Benchmark ( ) [inline, virtual]

Member Function Documentation

template<typename Type >
virtual Type hype::queryprocessing::Operation_Benchmark< Type >::generate_dataset ( unsigned int  size_in_number_of_bytes) [pure virtual]

Referenced by hype::queryprocessing::Operation_Benchmark< Type >::generate_random_datasets().

Here is the caller graph for this function:

template<typename Type >
virtual TypedNodePtr hype::queryprocessing::Operation_Benchmark< Type >::generate_logical_operator ( Type  dataset) [pure virtual]

Referenced by hype::queryprocessing::Operation_Benchmark< Type >::setup().

Here is the caller graph for this function:

template<typename Type >
std::vector<Type> hype::queryprocessing::Operation_Benchmark< Type >::generate_random_datasets ( unsigned int  max_size_of_dataset_in_byte,
unsigned int  number_of_datasets 
) [inline]
template<typename Type >
uint64_t hype::queryprocessing::Operation_Benchmark< Type >::getTimestamp ( ) [inline]

Referenced by hype::queryprocessing::Operation_Benchmark< Type >::run().

Here is the caller graph for this function:

template<typename Type >
int hype::queryprocessing::Operation_Benchmark< Type >::run ( ) [inline]

References hype::queryprocessing::ProcessingDevice::addOperator(), CPU, hype::queryprocessing::Operation_Benchmark< Type >::cpu, hype::queryprocessing::Operation_Benchmark< Type >::cpu_algorithm_name_, CPU_ONLY, hype::queryprocessing::CPU_ONLY, hype::queryprocessing::Operation_Benchmark< Type >::datasets, hype::core::Runtime_Configuration::getHistoryLength(), hype::core::Runtime_Configuration::getMaximalReadyQueueLength(), hype::core::Runtime_Configuration::getMaximalSlowdownOfNonOptimalAlgorithm(), hype::core::Runtime_Configuration::getOutlinerThreshold(), hype::core::Runtime_Configuration::getRecomputationPeriod(), hype::core::Report::getRelativeEstimationError(), hype::queryprocessing::Operation_Benchmark< Type >::getTimestamp(), hype::queryprocessing::ProcessingDevice::getTotalProcessingTime(), hype::core::Runtime_Configuration::getTrainingLength(), GPU, hype::queryprocessing::Operation_Benchmark< Type >::gpu, hype::queryprocessing::Operation_Benchmark< Type >::gpu_algorithm_name_, GPU_ONLY, hype::queryprocessing::GPU_ONLY, hype::queryprocessing::HYBRID, hype::core::Report::instance(), hype::core::Runtime_Configuration::instance(), hype::queryprocessing::ProcessingDevice::isIdle(), hype::queryprocessing::Operation_Benchmark< Type >::MAX_DATASET_SIZE_IN_MB_, hype::queryprocessing::Operation_Benchmark< Type >::NUMBER_OF_DATASETS_, hype::queryprocessing::Operation_Benchmark< Type >::NUMBER_OF_SORT_OPERATIONS_IN_WORKLOAD_, hype::queryprocessing::Operation_Benchmark< Type >::operator_queries_, quiet, hype::queryprocessing::Operation_Benchmark< Type >::RANDOM_SEED_, hype::queryprocessing::Operation_Benchmark< Type >::sched_config_, hype::queryprocessing::Operation_Benchmark< Type >::stemod_optimization_criterion_, hype::queryprocessing::Operation_Benchmark< Type >::stemod_recomputation_heuristic_, hype::queryprocessing::Operation_Benchmark< Type >::stemod_statistical_method_, and hype::queryprocessing::ProcessingDevice::stop().

Here is the call graph for this function:

template<typename Type >
int hype::queryprocessing::Operation_Benchmark< Type >::setup ( int  argc,
char *  argv[] 
) [inline]
Todo:
hack! init of operator map only possible long after constructor call! Implement the device constraints!

References Architecture_32Bit, hype::queryprocessing::Operation_Benchmark< Type >::cpu, hype::queryprocessing::Operation_Benchmark< Type >::cpu_algorithm_name_, hype::queryprocessing::CPU_ONLY, hype::queryprocessing::Operation_Benchmark< Type >::datasets, hype::queryprocessing::Operation_Benchmark< Type >::generate_logical_operator(), hype::queryprocessing::Operation_Benchmark< Type >::generate_random_datasets(), hype::util::getArchitecture(), hype::queryprocessing::Operation_Benchmark< Type >::gpu, hype::queryprocessing::Operation_Benchmark< Type >::gpu_algorithm_name_, hype::queryprocessing::GPU_ONLY, hype::queryprocessing::HYBRID, hype::Scheduler::instance(), hype::queryprocessing::Operation_Benchmark< Type >::MAX_DATASET_SIZE_IN_MB_, hype::queryprocessing::Operation_Benchmark< Type >::NUMBER_OF_DATASETS_, hype::queryprocessing::Operation_Benchmark< Type >::NUMBER_OF_SORT_OPERATIONS_IN_WORKLOAD_, hype::queryprocessing::Operation_Benchmark< Type >::operation_name_, hype::queryprocessing::Operation_Benchmark< Type >::RANDOM_SEED_, hype::queryprocessing::Operation_Benchmark< Type >::rng_, hype::queryprocessing::Operation_Benchmark< Type >::sched_config_, hype::queryprocessing::ProcessingDevice::start(), hype::queryprocessing::Operation_Benchmark< Type >::stemod_optimization_criterion_, hype::queryprocessing::Operation_Benchmark< Type >::stemod_recomputation_heuristic_, and hype::queryprocessing::Operation_Benchmark< Type >::stemod_statistical_method_.

Here is the call graph for this function:


Member Data Documentation


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