I have one question for
@_jhunsaker
When actually configuring the monad execution binary,
you can see AllowedCPUs and CPUAffinity.
This determines how many CPUs are allocated for actual parallel execution.
The default is 1-7 cores, where cores 1 and 2 are used for io_using and core 7 is used as an auxiliary core. This leaves 4 cores available.
Looking at some options in the code, there are `nthreads` and `nfibers`.
These determine how many physical threads to use on the allocated cores and reserve separate space for thread scheduling tasks.
nthreads determines the actual number of cores for parallel execution. Its current default is “4,” likely the optimal number considering various scenarios.
I understand that using a typical entry-level server deployed across multiple clouds as a validator, aiming for decentralization, makes a 16-core server the right choice (considering BFT, OS, and RPC together).
But it's said that 4 cores can handle 10,000 TPS. Would increasing the core allocation to 8 improve performance further? (like 15,000~20,000 TPS?)
So, if using a server with more cores at the same core clock speed, would parallel processing performance improve?
I'm curious how much room for performance improvement Monad has here.
@monad