Hybrid Query Processing Engine for Coprocessing in Database Systems
HyPE
|
#include "definitions.hpp"
#include <algorithm>
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <cassert>
#include <vector>
#include <stdint.h>
#include <tbb/parallel_sort.h>
#include <tbb/task_scheduler_init.h>
#include <boost/chrono.hpp>
#include <sys/mman.h>
#include <hype.hpp>
#include <config/configuration.hpp>
#include <query_processing/operator.hpp>
#include <query_processing/processing_device.hpp>
Go to the source code of this file.
Classes | |
struct | Random_Number_Generator |
class | CPU_Serial_Sort_Operator |
class | CPU_Parallel_Sort_Operator |
class | GPU_Sort_Operator |
Enumerations | |
enum | SchedulingConfiguration { CPU_ONLY, GPU_ONLY, HYBRID } |
enum | Architecture { Architecture_32Bit, Architecture_64Bit, Architecture_32Bit, Architecture_64Bit } |
Functions | |
uint64_t | getTimestamp () |
Architecture | getArchitecture () |
void | CPU_Sort (VecPtr dataset) |
void | CPU_Sort_Parallel (VecPtr dataset) |
void | GPU_Sort (VecPtr dataset) |
VecPtr | generate_dataset (unsigned int size_in_number_of_elements) |
vector< VecPtr > | generate_random_datasets (unsigned int max_size_in_number_of_elements, unsigned int number_of_datasets) |
int | main (int argc, char *argv[]) |
enum Architecture |
Definition at line 53 of file benchmark_sorting.cpp.
Definition at line 31 of file benchmark_sorting.cpp.
void CPU_Sort | ( | VecPtr | dataset | ) |
Definition at line 68 of file benchmark_sorting.cpp.
Referenced by CPU_Serial_Sort_Operator::execute().
void CPU_Sort_Parallel | ( | VecPtr | dataset | ) |
Definition at line 74 of file benchmark_sorting.cpp.
Referenced by CPU_Parallel_Sort_Operator::execute(), and main().
VecPtr generate_dataset | ( | unsigned int | size_in_number_of_elements | ) |
Definition at line 139 of file benchmark_sorting.cpp.
Referenced by generate_random_datasets().
vector<VecPtr> generate_random_datasets | ( | unsigned int | max_size_in_number_of_elements, |
unsigned int | number_of_datasets | ||
) |
Definition at line 150 of file benchmark_sorting.cpp.
References generate_dataset().
Referenced by main().
Definition at line 55 of file benchmark_sorting.cpp.
References Architecture_32Bit, and Architecture_64Bit.
Referenced by main().
uint64_t getTimestamp | ( | ) |
Definition at line 34 of file benchmark_sorting.cpp.
Referenced by hype::queryprocessing::ProcessingDevice::getEstimatedTimeUntilOperatorCompletion(), hype_getTimestamp(), main(), and hype::queryprocessing::ProcessingDevice::run().
void GPU_Sort | ( | VecPtr | dataset | ) |
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 160 of file benchmark_sorting.cpp.
References hype::Scheduler::addAlgorithm(), hype::queryprocessing::ProcessingDevice::addOperator(), Architecture_32Bit, CPU, CPU_ONLY, CPU_Sort_Parallel(), generate_random_datasets(), getArchitecture(), hype::core::Runtime_Configuration::getHistoryLength(), hype::core::Runtime_Configuration::getMaximalReadyQueueLength(), hype::core::Runtime_Configuration::getMaximalSlowdownOfNonOptimalAlgorithm(), hype::core::SchedulingDecision::getNameofChoosenAlgorithm(), hype::core::Runtime_Configuration::getOutlinerThreshold(), hype::queryprocessing::getProcessingDevice(), hype::core::Runtime_Configuration::getRecomputationPeriod(), hype::core::Report::getRelativeEstimationError(), getTimestamp(), hype::queryprocessing::ProcessingDevice::getTotalProcessingTime(), hype::core::Runtime_Configuration::getTrainingLength(), GPU, GPU_ONLY, GPU_Sort(), HYBRID, hype::core::Report::instance(), hype::core::Runtime_Configuration::instance(), hype::Scheduler::instance(), hype::queryprocessing::ProcessingDevice::isIdle(), quiet, hype::queryprocessing::ProcessingDevice::start(), and hype::queryprocessing::ProcessingDevice::stop().