|
|
|
|
|
by darwin67
877 days ago
|
|
Which part of BEAM are you talking about?
I know some cases can be solved by it already, but not almost every need. The fairness of the BEAM scheduler is not the same as multi-tenant fairness.
I'm aware of lcnt in Erlang that helps with contention, but that will have a hit in throughput like any other locks. Unless I'm missing something? |
|
If you wanted to make it truly fair you could spin up a GenServer per tenant and you would have a max concurrency per tenant of 1, but still all executing equally in parallel without 1 tenant stealing CPU time from the others. Contention is a non-issue. Fairness is built in.
You get the fault tolerance, isolation and observability as a by product too.
That's just my first reaction on reading it.