Hybrid Query Processing Engine for Coprocessing in Database Systems
HyPE
|
00001 00002 #include <iostream> 00003 00004 #include <plugins/pluginloader.hpp> 00005 //Statistical Methods 00006 #include <plugins/statistical_methods/least_squares.hpp> 00007 #include <plugins/statistical_methods/multi_dim_least_squares.hpp> 00008 //Recomputation Heuristics 00009 #include <plugins/recomputation_heuristics/periodic_recomputation.hpp> 00010 #include <plugins/recomputation_heuristics/oneshot_computation.hpp> 00011 //Optimization Criterias 00012 #include <plugins/optimization_criterias/response_time.hpp> 00013 #include <plugins/optimization_criterias/response_time_advanced.hpp> 00014 #include <plugins/optimization_criterias/throughput.hpp> 00015 #include <plugins/optimization_criterias/throughput2.hpp> 00016 #include <plugins/optimization_criterias/simple_round_robin_throughput.hpp> 00017 #include <plugins/optimization_criterias/probability_based_outsourcing.hpp> 00018 00019 namespace hype{ 00020 namespace core{ 00021 00022 bool PluginLoader::loadPlugins(){ 00023 //add Statistical Methods 00024 if(!StatisticalMethodFactorySingleton::Instance().Register("Least Squares 1D", &Least_Squares_Method_1D::create)) 00025 std::cout << "failed to load plugin! " << "'Least Squares 1D'" << std::endl; 00026 if(!StatisticalMethodFactorySingleton::Instance().Register("Least Squares 2D", &Least_Squares_Method_2D::create)) 00027 std::cout << "failed to load plugin! " << "'Least Squares 2D'" << std::endl; 00028 //add Recomputation Heuristics 00029 RecomputationHeuristicFactorySingleton::Instance().Register("Periodic Recomputation",&PeriodicRecomputation::create); 00030 RecomputationHeuristicFactorySingleton::Instance().Register("Oneshot Recomputation",&Oneshotcomputation::create); 00031 //add Optimization Criterias 00032 OptimizationCriterionFactorySingleton::Instance().Register("Response Time",&ResponseTime::create); 00033 OptimizationCriterionFactorySingleton::Instance().Register("WaitingTimeAwareResponseTime",&WaitingTimeAwareResponseTime::create); 00034 OptimizationCriterionFactorySingleton::Instance().Register("Throughput",&Throughput::create); 00035 //OptimizationCriterionFactorySingleton::Instance().Register("Throughput2",&Throughput2::create); 00036 OptimizationCriterionFactorySingleton::Instance().Register("Simple Round Robin",&SimpleRoundRobin::create); 00037 OptimizationCriterionFactorySingleton::Instance().Register("ProbabilityBasedOutsourcing",&ProbabilityBasedOutsourcing::create); 00038 OptimizationCriterionFactorySingleton::Instance().Register("Throughput2",&ProbabilityBasedOutsourcing::create); 00039 00040 00041 if(!quiet) std::cout << "[HyPE]: Loading Plugins..." << std::endl; 00042 return true; 00043 } 00044 00045 };//end namespace core 00046 }; //end namespace hype 00047