| ▲ | rastignack 4 hours ago | |
I would be interested about a more detailed architecture overview of the io scheduler (like this: https://www.scylladb.com/2021/04/06/scyllas-new-io-scheduler...) and the thread scheduler. PostgreSQL has historically been bad at managing the noisy neighbor problem, but with thread pools, and io priorities, it can be solved. Has this been tackled here ? | ||
| ▲ | malisper 3 hours ago | parent [-] | |
I'll need to write up how the scheduler works at some point, but it's heavily based on these papers[0][1]. It solves two different problems. First, it lets us throttle resource-intensive queries. Second, it enables work stealing. If you have idle cores on your machine, we'll assign those cores to running queries to help speed them up. That means if you have an over-provisioned machine, we'll make use of the extra capacity to speed your queries up. [0] https://15721.courses.cs.cmu.edu/spring2016/papers/p743-leis... [1] https://db.in.tum.de/~kohn/papers/query-scheduling-sigmod21.... | ||