18 #ifndef PIPELINE_STAGE_H
19 #define PIPELINE_STAGE_H
37 #include <unordered_map>
110 std::string databaseName,
114 bool whetherToPersiste,
115 std::string& errMsg);
118 std::string databaseName,
122 std::string& errMsg);
127 std::string databaseName,
129 std::string& errMsg);
138 std::string& errMsg);
143 std::vector<PageCircularBufferPtr>& sourceBuffers,
148 std::string& errMsg);
156 std::vector<PageCircularBufferIteratorPtr>& iterators,
159 std::vector<PageCircularBufferPtr>& sinkBuffers,
161 std::string& errMsg);
171 std::vector<PageCircularBufferPtr> combinerBuffers,
bool storeCompressedShuffleData(char *bytes, size_t numBytes, std::string databaseName, std::string setName, std::string address, int port, std::string &errMsg)
void runPipelineWithShuffleSink(HermesExecutionServer *server)
void runPipeline(HermesExecutionServer *server, std::vector< PageCircularBufferPtr > combinerBuffers, SetSpecifierPtr outputSet)
shared_ptr< DataProxy > DataProxyPtr
bool storeShuffleData(Handle< Vector< Handle< Object >>> data, std::string databaseName, std::string setName, std::string address, int port, bool whetherToPersiste, std::string &errMsg)
Handle< TupleSetJobStage > & getJobStage()
std::vector< PageCircularBufferIteratorPtr > getUserSetIterators(HermesExecutionServer *server, int numThreads, bool &success, std::string &errMsg)
Handle< TupleSetJobStage > jobStage
bool sendData(PDBCommunicatorPtr conn, void *bytes, size_t size, std::string databaseName, std::string setName, std::string &errMsg)
shared_ptr< SharedMem > SharedMemPtr
std::shared_ptr< PartitionedHashSet > PartitionedHashSetPtr
void feedSharedBuffers(HermesExecutionServer *server, std::vector< PageCircularBufferPtr > &sourceBuffers, int numPartitions, int &counter, PDBBuzzerPtr tempBuzzer, bool &success, std::string &errMsg)
std::shared_ptr< PDBCommunicator > PDBCommunicatorPtr
void runPipelineWithBroadcastSink(HermesExecutionServer *server)
void executePipelineWork(int i, SetSpecifierPtr outputSet, std::vector< PageCircularBufferIteratorPtr > &iterators, PartitionedHashSetPtr hashSet, DataProxyPtr proxy, std::vector< PageCircularBufferPtr > &sinkBuffers, HermesExecutionServer *server, std::string &errMsg)
shared_ptr< PDBBuzzer > PDBBuzzerPtr
shared_ptr< Configuration > ConfigurationPtr
std::shared_ptr< PipelineStage > PipelineStagePtr
std::shared_ptr< PDBLogger > PDBLoggerPtr
size_t getBackendCircularBufferSize(bool &success, std::string &errMsg)
void runPipelineWithHashPartitionSink(HermesExecutionServer *server)
std::shared_ptr< SetSpecifier > SetSpecifierPtr
std::vector< int > nodeIds
DataProxyPtr createProxy(int i, pthread_mutex_t connection_mutex, std::string &errMsg)
PipelineStage(Handle< TupleSetJobStage > stage, SharedMemPtr shm, PDBLoggerPtr logger, ConfigurationPtr conf, NodeID nodeId, size_t batchSize, int numThreads)