I wonder in practice how much overhead one pays for introducing several work queues. What algorithms does one use to decide when to steal and who to steal from? Do you always need to track which queue has the most work so others can steal from it, or does that tracking mechanism itself introduce another large overhead cost that is not worth it?
I wonder in practice how much overhead one pays for introducing several work queues. What algorithms does one use to decide when to steal and who to steal from? Do you always need to track which queue has the most work so others can steal from it, or does that tracking mechanism itself introduce another large overhead cost that is not worth it?