Column-oriented GPU-accelerated Database Management System
CoGaDB
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_

Member Typedef Documentation


Constructor & Destructor Documentation


Member Function Documentation

Todo:
Implement function! sum all Estimated Execution times of operators in operator list! OR better updated on add/remove from queue! Finally, add the rest time of current oeprator, which is provided by getEstimatedTimeUntilOperatorCompletion()
Todo:
Implement function! store start timestamp of operator currently running and the Estiamted Execution Time for him -> compute rest time using current timestamp

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

Here is the caller graph for this function:

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

Referenced by hype::queryprocessing::Operation_Benchmark< Type >::setup().

Here is the caller graph for this function:

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

Here is the caller graph for this function:


Member Data Documentation


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