Task scheduling algorithm that limits concurrency
You (or the algo) probably assigns a constant amount of time slice per process. Since amount is constant, as with number of process increases this effectively hinders concurrency. If this is the case, you need a fair scheduler type algorithm. Check on different algo's on a linux kernel may have.