1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-08 14:22:09 +03:00

MCOL-5044 Initial version of a fair thread pool

PP now uses PriorityThreadPool that arbitrary picks another jobs pack
    to run. This scheduling discipline tend to run portions of a single query
    forcing other simultaneous queries to wait. In result parallel queries
    timings variance is high. The FairThreadPool picks the job with the smallest
    amount of work done so far(see the code for details)
This commit is contained in:
Roman Nozdrin
2022-04-17 17:32:33 +00:00
committed by Roman Nozdrin
parent 44d326ef93
commit 4b51820db1
6 changed files with 659 additions and 6 deletions

View File

@@ -54,8 +54,6 @@ class PriorityThreadPool
virtual int operator()() = 0;
};
// typedef boost::function0<int> Functor;
struct Job
{
Job() : weight(1), priority(0), id(0)