Hybrid Query Processing Engine for Coprocessing in Database Systems
HyPE
global_definitions.hpp
Go to the documentation of this file.
00001 
00002 #pragma once
00003 
00004  #define HYPE_ENABLE_PARALLEL_QUERY_PLAN_EVALUATION
00005 
00006 //#include <limits>
00007 
00008 #ifdef __cplusplus
00009 
00010 namespace hype{
00011 #endif
00012 
00013    //enum ProcessingDevice{PD0,PD1,PD2,PD3,PD4,PD5,PD6,PD7,PD8,PD9,PD10,PD11,PD12,PD13,PD14,PD15,PD16,PD17,PD18,PD19,PD20,PD21,PD22,PD23,PD24,PD25,PD26,PD27,PD28,PD29,PD30,PD31,PD32,PD33,PD34,PD35,PD36,PD37,PD38,PD39,PD40,PD41,PD42,PD43,PD44,PD45,PD46,PD47,PD48,PD49,PD50,PD51,PD52,PD53,PD54,PD55,PD56,PD57,PD58,PD59,PD60,PD61,PD62,PD63,PD64,PD65,PD66,PD67,PD68,PD69,PD70,PD71,PD72,PD73,PD74,PD75,PD76,PD77,PD78,PD79,PD80,PD81,PD82,PD83,PD84,PD85,PD86,PD87,PD88,PD89,PD90,PD91,PD92,PD93,PD94,PD95,PD96,PD97,PD98,PD99,PD100};
00014 
00015    //enum ProcessingDeviceMemory{PD_Memory_0,PD_Memory_1,PD_Memory_2,PD_Memory_3,PD_Memory_4,PD_Memory_5,PD_Memory_6,PD_Memory_7,PD_Memory_8,PD_Memory_9,PD_Memory_10,PD_Memory_11,PD_Memory_12,PD_Memory_13,PD_Memory_14,PD_Memory_15,PD_Memory_16,PD_Memory_17,PD_Memory_18,PD_Memory_19,PD_Memory_20,PD_Memory_21,PD_Memory_22,PD_Memory_23,PD_Memory_24,PD_Memory_25,PD_Memory_26,PD_Memory_27,PD_Memory_28,PD_Memory_29,PD_Memory_30,PD_Memory_31,PD_Memory_32,PD_Memory_33,PD_Memory_34,PD_Memory_35,PD_Memory_36,PD_Memory_37,PD_Memory_38,PD_Memory_39,PD_Memory_40,PD_Memory_41,PD_Memory_42,PD_Memory_43,PD_Memory_44,PD_Memory_45,PD_Memory_46,PD_Memory_47,PD_Memory_48,PD_Memory_49,PD_Memory_50,PD_Memory_51,PD_Memory_52,PD_Memory_53,PD_Memory_54,PD_Memory_55,PD_Memory_56,PD_Memory_57,PD_Memory_58,PD_Memory_59,PD_Memory_60,PD_Memory_61,PD_Memory_62,PD_Memory_63,PD_Memory_64,PD_Memory_65,PD_Memory_66,PD_Memory_67,PD_Memory_68,PD_Memory_69,PD_Memory_70,PD_Memory_71,PD_Memory_72,PD_Memory_73,PD_Memory_74,PD_Memory_75,PD_Memory_76,PD_Memory_77,PD_Memory_78,PD_Memory_79,PD_Memory_80,PD_Memory_81,PD_Memory_82,PD_Memory_83,PD_Memory_84,PD_Memory_85,PD_Memory_86,PD_Memory_87,PD_Memory_88,PD_Memory_89,PD_Memory_90,PD_Memory_91,PD_Memory_92,PD_Memory_93,PD_Memory_94,PD_Memory_95,PD_Memory_96,PD_Memory_97,PD_Memory_98,PD_Memory_99,PD_Memory_100};
00016    
00017    typedef enum {PD0,PD1,PD2,PD3,PD4,PD5,PD6,PD7,PD8,PD9,PD10} ProcessingDeviceID;
00018    
00019    typedef enum {PD_Memory_0,PD_Memory_1,PD_Memory_2,PD_Memory_3,PD_Memory_4,PD_Memory_5,PD_Memory_6,PD_Memory_7,PD_Memory_8,PD_Memory_9,PD_Memory_10} ProcessingDeviceMemoryID;
00020    
00021    typedef enum {CPU,GPU,FPGA,NP} ProcessingDeviceType;  //CPU,GPU,FPGA, Network Processor
00022    
00023    //enum DeviceTypeConstraint{ANY_DEVICE,CPU_ONLY,GPU_ONLY,FPGA_ONLY,NP_ONLY}; //ALL,CPU,GPU,FPGA, Network Processor
00024 
00025    typedef enum {ANY_DEVICE,CPU_ONLY,GPU_ONLY,FPGA_ONLY,NP_ONLY} DeviceTypeConstraint; //ALL,CPU,GPU,FPGA, Network Processor
00026 
00027    typedef enum {NO_COPY,COPY_CPU_TO_GPU,COPY_GPU_TO_CPU,COPY_CPU_TO_GPU_TO_CPU} CopyDirection;
00028 
00029    typedef enum {Architecture_32Bit,Architecture_64Bit} Architecture;
00030    
00031    //struct StatisticalMethods{
00032    typedef enum{
00033       Least_Squares_1D,
00034       Multilinear_Fitting_2D
00035    } StatisticalMethod;
00036    //};
00037    
00038       typedef enum{
00039          No_Recomputation,
00040          Periodic//,
00041          //RelativeErrorBased
00042       } RecomputationHeuristic;
00043 
00044 // struct RecomputationHeuristics{
00045 //    enum RecomputationHeuristic{
00046 //       No_Recomputation,
00047 //       Periodic//,
00048 //       //RelativeErrorBased
00049 //    };
00050 // };
00051    //{"Response Time","WaitingTimeAwareResponseTime","Throughput","Simple Round Robin","ProbabilityBasedOutsourcing","Throughput2"};
00052    
00053       typedef enum {
00054          ResponseTime,
00055          WaitingTimeAwareResponseTime,
00056          Throughput,
00057          Simple_Round_Robin,
00058          ProbabilityBasedOutsourcing,
00059          Throughput2
00060       } OptimizationCriterion;
00061 
00062 // struct OptimizationCriterions{
00063 //    enum OptimizationCriterion{
00064 //       ResponseTime,
00065 //       WaitingTimeAwareResponseTime,
00066 //       Throughput,
00067 //       Simple_Round_Robin,
00068 //       ProbabilityBasedOutsourcing,
00069 //       Throughput2
00070 //    };
00071 // };
00072 
00073 
00074 
00075 //#ifdef __cplusplus
00076 //struct StatisticalMethods{typedef hype::StatisticalMethod StatisticalMethod;};
00077 //struct RecomputationHeuristics{typedef hype::RecomputationHeuristic RecomputationHeuristic;};
00078 //struct OptimizationCriterions{typedef hype::OptimizationCriterion OptimizationCriterion;};
00079 
00080 //#endif
00081 
00082 #ifdef __cplusplus   
00083    namespace core{
00084 #endif
00085 
00086 /* 
00087    enum DebugMode{quiet=0,
00088                   verbose=1,
00089                   debug=1,
00090                   print_time_measurement=0};//*/
00091 
00092 /*
00093    enum DebugMode{quiet=0,
00094                   verbose=1,
00095                   debug=1,
00096                   print_time_measurement=0};//*/
00097 
00099 
00100         typedef enum {
00101             quiet = 1,
00102                   verbose=0,
00103                   debug=0,
00104                   print_time_measurement=0} DebugMode;//*/
00105 
00106 
00107 
00108 
00109 
00110 #ifdef __cplusplus
00111    };//end namespace core
00112 }; //end namespace hype
00113 #endif
00114 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines