I’m reading this documentation and it says
The core FoundationDB server process is fdbserver. Each fdbserver process uses up to one full CPU core, so a production FoundationDB cluster will usually run N such processes on an N-core system.
To make configuring, starting, stopping, and restarting fdbserver processes easy, FoundationDB also comes with a singleton daemon process, fdbmonitor, which is started automatically on boot. […]
Does fdbmonitor pin fdbserver processes to CPUs? From poking around the code, it seems like the answer is no.
I would think that this is important for best performance. At our company we run a large cluster of redis servers, which are also single-threaded, and in order to maximize throughput and minimize latency we have to pin each redis-server process to a dedicated CPU and also pin NIC rx queue IRQs to different CPUs.
(And on large machines with multiple NUMA nodes it seems even more important to ensure that at least each server process is pinned to a single node so that it cannot allocate memory on the wrong domain.)
Does this concern make sense, or have I misunderstood something? Are these features which fdbmonitor could add one day, or is the idea that in certain cases FDB users ought not to use fdbmonitor and should run the fdbservers according to their particular needs?