Hybrid Query Processing Engine for Coprocessing in Database Systems
HyPE
hype::queryprocessing::ProcessingDevice Class Reference

#include <processing_device.hpp>

Collaboration diagram for hype::queryprocessing::ProcessingDevice:

List of all members.

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< OperatorPtrOperatorList

Private Member Functions

 ProcessingDevice (const ProcessingDevice &pd)
ProcessingDeviceoperator= (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_

Detailed Description

Definition at line 27 of file processing_device.hpp.


Member Typedef Documentation

Definition at line 49 of file processing_device.hpp.


Constructor & Destructor Documentation


Member Function Documentation

Definition at line 125 of file processing_device.cpp.

References getTimestamp().

Here is the call graph for this function:

Definition at line 137 of file processing_device.cpp.

Referenced by main(), and hype::queryprocessing::Operation_Benchmark< Type >::run().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

ProcessingDevice& hype::queryprocessing::ProcessingDevice::operator= ( const ProcessingDevice ) [private]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 35 of file processing_device.cpp.

References thread_.

Referenced by main(), and hype::queryprocessing::Operation_Benchmark< Type >::run().

Here is the caller graph for this function:


Member Data Documentation

Definition at line 51 of file processing_device.hpp.

Referenced by addOperator(), and run().

Definition at line 57 of file processing_device.hpp.

Referenced by isIdle(), and run().

Definition at line 53 of file processing_device.hpp.

Referenced by addOperator(), isIdle(), and run().

Definition at line 52 of file processing_device.hpp.

Definition at line 54 of file processing_device.hpp.

Referenced by start(), and stop().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines