You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
MCOL-5044 This patch replaces PriorityThreadPool with FairThreadPool that uses a simple
operations + morsel size weight model to equally allocate CPU b/w parallel query morsels. This patch delivers better parallel query timings distribution(timings graph resembles normal distribution with a bigger left side thus more queries runs faster comparing with PrioThreadPool-based single-node installation). See changes in batchprimitiveprocessor-jl.h and comments in fair_threadpool.h for important implementation details
This commit is contained in:
committed by
Roman Nozdrin
parent
0f0b3a2bed
commit
fd8ba33f21
@ -137,6 +137,11 @@ class BatchPrimitiveProcessor
|
||||
fBusy = b;
|
||||
}
|
||||
|
||||
size_t getWeight() const
|
||||
{
|
||||
return weight_;
|
||||
}
|
||||
|
||||
uint16_t FilterCount() const
|
||||
{
|
||||
return filterCount;
|
||||
@ -433,6 +438,9 @@ class BatchPrimitiveProcessor
|
||||
uint ptMask;
|
||||
bool firstInstance;
|
||||
uint64_t valuesLBID;
|
||||
uint32_t weight_;
|
||||
|
||||
static const uint64_t maxResultCount = 1048576; // 2^20
|
||||
|
||||
friend class Command;
|
||||
friend class ColumnCommand;
|
||||
|
Reference in New Issue
Block a user