A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
|
#include <PipelineStage.h>
Public Member Functions | |
~PipelineStage () | |
PipelineStage (Handle< TupleSetJobStage > stage, SharedMemPtr shm, PDBLoggerPtr logger, ConfigurationPtr conf, NodeID nodeId, size_t batchSize, int numThreads) | |
bool | storeShuffleData (Handle< Vector< Handle< Object >>> data, std::string databaseName, std::string setName, std::string address, int port, bool whetherToPersiste, std::string &errMsg) |
bool | storeCompressedShuffleData (char *bytes, size_t numBytes, std::string databaseName, std::string setName, std::string address, int port, std::string &errMsg) |
bool | sendData (PDBCommunicatorPtr conn, void *bytes, size_t size, std::string databaseName, std::string setName, std::string &errMsg) |
size_t | getBackendCircularBufferSize (bool &success, std::string &errMsg) |
std::vector < PageCircularBufferIteratorPtr > | getUserSetIterators (HermesExecutionServer *server, int numThreads, bool &success, std::string &errMsg) |
void | feedSharedBuffers (HermesExecutionServer *server, std::vector< PageCircularBufferPtr > &sourceBuffers, int numPartitions, int &counter, PDBBuzzerPtr tempBuzzer, bool &success, std::string &errMsg) |
DataProxyPtr | createProxy (int i, pthread_mutex_t connection_mutex, std::string &errMsg) |
void | executePipelineWork (int i, SetSpecifierPtr outputSet, std::vector< PageCircularBufferIteratorPtr > &iterators, PartitionedHashSetPtr hashSet, DataProxyPtr proxy, std::vector< PageCircularBufferPtr > &sinkBuffers, HermesExecutionServer *server, std::string &errMsg) |
Handle< TupleSetJobStage > & | getJobStage () |
int | getNumThreads () |
void | runPipeline (HermesExecutionServer *server, std::vector< PageCircularBufferPtr > combinerBuffers, SetSpecifierPtr outputSet) |
void | runPipeline (HermesExecutionServer *server) |
void | runPipelineWithShuffleSink (HermesExecutionServer *server) |
void | runPipelineWithBroadcastSink (HermesExecutionServer *server) |
void | runPipelineWithHashPartitionSink (HermesExecutionServer *server) |
Private Attributes | |
Handle< TupleSetJobStage > | jobStage |
size_t | batchSize |
int | numThreads |
NodeID | nodeId |
PDBLoggerPtr | logger |
ConfigurationPtr | conf |
SharedMemPtr | shm |
OperatorID | id |
std::vector< int > | nodeIds |
Definition at line 64 of file PipelineStage.h.
pdb::PipelineStage::~PipelineStage | ( | ) |
Definition at line 57 of file PipelineStage.cc.
pdb::PipelineStage::PipelineStage | ( | Handle< TupleSetJobStage > | stage, |
SharedMemPtr | shm, | ||
PDBLoggerPtr | logger, | ||
ConfigurationPtr | conf, | ||
NodeID | nodeId, | ||
size_t | batchSize, | ||
int | numThreads | ||
) |
Definition at line 61 of file PipelineStage.cc.
DataProxyPtr pdb::PipelineStage::createProxy | ( | int | i, |
pthread_mutex_t | connection_mutex, | ||
std::string & | errMsg | ||
) |
void pdb::PipelineStage::executePipelineWork | ( | int | i, |
SetSpecifierPtr | outputSet, | ||
std::vector< PageCircularBufferIteratorPtr > & | iterators, | ||
PartitionedHashSetPtr | hashSet, | ||
DataProxyPtr | proxy, | ||
std::vector< PageCircularBufferPtr > & | sinkBuffers, | ||
HermesExecutionServer * | server, | ||
std::string & | errMsg | ||
) |
Definition at line 342 of file PipelineStage.cc.
void pdb::PipelineStage::feedSharedBuffers | ( | HermesExecutionServer * | server, |
std::vector< PageCircularBufferPtr > & | sourceBuffers, | ||
int | numPartitions, | ||
int & | counter, | ||
PDBBuzzerPtr | tempBuzzer, | ||
bool & | success, | ||
std::string & | errMsg | ||
) |
size_t pdb::PipelineStage::getBackendCircularBufferSize | ( | bool & | success, |
std::string & | errMsg | ||
) |
Handle< TupleSetJobStage > & pdb::PipelineStage::getJobStage | ( | ) |
Definition at line 83 of file PipelineStage.cc.
int pdb::PipelineStage::getNumThreads | ( | ) |
Definition at line 88 of file PipelineStage.cc.
std::vector< PageCircularBufferIteratorPtr > pdb::PipelineStage::getUserSetIterators | ( | HermesExecutionServer * | server, |
int | numThreads, | ||
bool & | success, | ||
std::string & | errMsg | ||
) |
Definition at line 236 of file PipelineStage.cc.
void pdb::PipelineStage::runPipeline | ( | HermesExecutionServer * | server, |
std::vector< PageCircularBufferPtr > | combinerBuffers, | ||
SetSpecifierPtr | outputSet | ||
) |
Definition at line 868 of file PipelineStage.cc.
void pdb::PipelineStage::runPipeline | ( | HermesExecutionServer * | server | ) |
void pdb::PipelineStage::runPipelineWithBroadcastSink | ( | HermesExecutionServer * | server | ) |
void pdb::PipelineStage::runPipelineWithHashPartitionSink | ( | HermesExecutionServer * | server | ) |
void pdb::PipelineStage::runPipelineWithShuffleSink | ( | HermesExecutionServer * | server | ) |
bool pdb::PipelineStage::sendData | ( | PDBCommunicatorPtr | conn, |
void * | bytes, | ||
size_t | size, | ||
std::string | databaseName, | ||
std::string | setName, | ||
std::string & | errMsg | ||
) |
bool pdb::PipelineStage::storeCompressedShuffleData | ( | char * | bytes, |
size_t | numBytes, | ||
std::string | databaseName, | ||
std::string | setName, | ||
std::string | address, | ||
int | port, | ||
std::string & | errMsg | ||
) |
|
private |
Definition at line 71 of file PipelineStage.h.
|
private |
Definition at line 83 of file PipelineStage.h.
|
private |
Definition at line 89 of file PipelineStage.h.
|
private |
Definition at line 68 of file PipelineStage.h.
|
private |
Definition at line 80 of file PipelineStage.h.
|
private |
Definition at line 77 of file PipelineStage.h.
|
private |
Definition at line 92 of file PipelineStage.h.
|
private |
Definition at line 74 of file PipelineStage.h.
|
private |
Definition at line 86 of file PipelineStage.h.