Column-oriented GPU-accelerated Database Management System
CoGaDB
|
00001 00002 #pragma once 00003 00004 #include <iostream> 00005 #include <string> 00006 #include <vector> 00007 #include <memory> 00008 00009 #include <boost/random/mersenne_twister.hpp> 00010 #include <boost/random/discrete_distribution.hpp> 00011 00012 #include <core/optimization_criterion.hpp> 00013 #include <core/time_measurement.hpp> 00014 00015 namespace hype{ 00016 namespace core{ 00017 00018 00019 class ProbabilityBasedOutsourcing : public OptimizationCriterion_Internal{ 00020 00021 public: 00022 ProbabilityBasedOutsourcing(const std::string& name_of_operation); 00023 00024 virtual const SchedulingDecision getOptimalAlgorithm_internal(const Tuple& input_values, Operation& op, DeviceTypeConstraint dev_constr); 00025 //OptimizationCriterionFactorySingleton::Instance(). 00026 00027 static OptimizationCriterion_Internal* create(){ 00028 return new ProbabilityBasedOutsourcing(""); 00029 } 00030 private: 00031 boost::mt19937 random_number_generator_; 00032 }; 00033 00034 00035 }; //end namespace core 00036 }; //end namespace hype 00037 00038 00039