This is how it works:
Here I have English and German datasets, and English is about 3x larger than German.
So I have 2 io_bound, 12 cpu_bound tasks, totaling 14 at the start.
When German ends, that extra is also used for cpu_bound tasks (not something that I want, because of context-switching).
Also, as you see some workers have more than one task (at this image 20 total jobs), because not-running-tasks sometimes return 2, it increased. Not a problem thou, they are queued. And I don’t want to queue them all to be able to rescale to idle cores. Would cluster.adapt() be helpful for it?
If I have left it alone, only 6 logical cores would run English chunks - so I “steal workers”. Is worker-stealing for these cases?
