Hybrid Query Processing Engine for Coprocessing in Database Systems
HyPE
|
#include <processing_device.hpp>
Public Member Functions | |
ProcessingDevice () | |
bool | addOperator (OperatorPtr op) |
void | start () |
void | stop () |
void | run () |
bool | isIdle () |
double | getEstimatedTimeUntilIdle () |
double | getTotalProcessingTime () |
Private Types | |
typedef std::list< OperatorPtr > | OperatorList |
Private Member Functions | |
ProcessingDevice (const ProcessingDevice &pd) | |
ProcessingDevice & | operator= (const ProcessingDevice &) |
double | getEstimatedTimeUntilOperatorCompletion () |
Private Attributes | |
OperatorList | operators_ |
boost::condition_variable | new_operator_available_ |
boost::condition_variable | operator_queue_full_ |
boost::mutex | operator_mutex_ |
boost::thread | thread_ |
uint64_t | start_timestamp_of_currently_executed_operator_ |
double | estimated_execution_time_of_currently_executed_operator_ |
bool | operator_in_execution_ |
double | estimated_execution_time_for_operators_in_queue_to_complete_ |
double | total_measured_execution_time_for_all_executed_operators_ |
Definition at line 27 of file processing_device.hpp.
typedef std::list<OperatorPtr> hype::queryprocessing::ProcessingDevice::OperatorList [private] |
Definition at line 49 of file processing_device.hpp.
Definition at line 18 of file processing_device.cpp.
hype::queryprocessing::ProcessingDevice::ProcessingDevice | ( | const ProcessingDevice & | pd | ) | [private] |
Definition at line 41 of file processing_device.cpp.
References estimated_execution_time_for_operators_in_queue_to_complete_, hype::core::Runtime_Configuration::getMaximalReadyQueueLength(), hype::core::Runtime_Configuration::instance(), new_operator_available_, operator_mutex_, operators_, and quiet.
Referenced by main(), and hype::queryprocessing::Operation_Benchmark< Type >::run().
Definition at line 119 of file processing_device.cpp.
double hype::queryprocessing::ProcessingDevice::getEstimatedTimeUntilOperatorCompletion | ( | ) | [private] |
Definition at line 125 of file processing_device.cpp.
References getTimestamp().
Definition at line 137 of file processing_device.cpp.
Referenced by main(), and hype::queryprocessing::Operation_Benchmark< Type >::run().
Definition at line 111 of file processing_device.cpp.
References operator_in_execution_, and operator_mutex_.
Referenced by main(), and hype::queryprocessing::Operation_Benchmark< Type >::run().
ProcessingDevice& hype::queryprocessing::ProcessingDevice::operator= | ( | const ProcessingDevice & | ) | [private] |
Definition at line 62 of file processing_device.cpp.
References debug, estimated_execution_time_for_operators_in_queue_to_complete_, estimated_execution_time_of_currently_executed_operator_, getTimestamp(), new_operator_available_, operator_in_execution_, operator_mutex_, operators_, quiet, start_timestamp_of_currently_executed_operator_, total_measured_execution_time_for_all_executed_operators_, and verbose.
Referenced by hype::queryprocessing::Executor().
Definition at line 28 of file processing_device.cpp.
References hype::queryprocessing::Executor(), and thread_.
Referenced by main(), and hype::queryprocessing::Operation_Benchmark< Type >::setup().
Definition at line 35 of file processing_device.cpp.
References thread_.
Referenced by main(), and hype::queryprocessing::Operation_Benchmark< Type >::run().
double hype::queryprocessing::ProcessingDevice::estimated_execution_time_for_operators_in_queue_to_complete_ [private] |
Definition at line 58 of file processing_device.hpp.
Referenced by addOperator(), and run().
double hype::queryprocessing::ProcessingDevice::estimated_execution_time_of_currently_executed_operator_ [private] |
Definition at line 56 of file processing_device.hpp.
Referenced by run().
boost::condition_variable hype::queryprocessing::ProcessingDevice::new_operator_available_ [private] |
Definition at line 51 of file processing_device.hpp.
Referenced by addOperator(), and run().
Definition at line 57 of file processing_device.hpp.
boost::mutex hype::queryprocessing::ProcessingDevice::operator_mutex_ [private] |
Definition at line 53 of file processing_device.hpp.
Referenced by addOperator(), isIdle(), and run().
boost::condition_variable hype::queryprocessing::ProcessingDevice::operator_queue_full_ [private] |
Definition at line 52 of file processing_device.hpp.
Definition at line 50 of file processing_device.hpp.
Referenced by addOperator(), and run().
uint64_t hype::queryprocessing::ProcessingDevice::start_timestamp_of_currently_executed_operator_ [private] |
Definition at line 55 of file processing_device.hpp.
Referenced by run().
boost::thread hype::queryprocessing::ProcessingDevice::thread_ [private] |
Definition at line 54 of file processing_device.hpp.
double hype::queryprocessing::ProcessingDevice::total_measured_execution_time_for_all_executed_operators_ [private] |
Definition at line 59 of file processing_device.hpp.
Referenced by run().