CPU balancing is pretty easy to manage at a higher level. For example, the Nim runtime balances additional Genode threads automatically, because the common high-level case is to create a thread pool for each CPU and push jobs to it. In other cases I assume that a thread will be blocked or block an external component, and running components on multiple CPUs only comes with the performance cost of communicating across multiple CPUs.
https://github.com/nim-lang/Nim/blob/55a5dcf8a47a47028707c46491072c438eb2f6c...
On Tue, 13 Mar 2018 05:19:46 -0600 Nobody III <hungryninja101@...9...> wrote:
It seems like we ought to have a balancer component or at least basic balancing built into init. A lack of balancing is a huge performance issue on modern SMP CPUs. How could we go about this? Could a server do the balancing through the CPU session interface?