1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

[MCOL-4849] Parallelize the processing of the bytestream vector.

This patch changes the logic of the `receiveMultiPrimitiveMessages`
function in the following way:

1. We have only one aggregation thread which reads the data from Queue (which is populated
by messages from BPPs).
2. Processing of the received `bytestream vector` could be in parallel depends on the
type of `TupleBPS` operation (join, fe2, ...) and actual thread pool workload.

The motivation is to eliminate some amount of context switches.
This commit is contained in:
Denis Khalikov
2021-10-13 15:31:05 +03:00
parent 650d45fcc1
commit b382f681a1
4 changed files with 786 additions and 665 deletions

View File

@ -225,6 +225,10 @@ public:
return fMaxThreads;
}
/** @brief get the issued number of threads
*/
inline size_t getIssuedThreads() { return fIssued; }
/** @brief queue size accessor
*
*/
@ -292,6 +296,7 @@ public:
fDebug = d;
}
friend class ThreadPoolMonitor;
protected: