为什么我们需要使用双端队列来进行工作窃取?(例如在Cilk中)所有者从顶部执行任务,而窃贼从底部进行窃取。这有什么用处呢?
我们可能会有多个窃贼从底部进行窃取。那么,我们不是仍然需要锁定吗?我在某处读到过,较大的任务(例如在树中创建的任务)被添加到底部。因此从底部进行窃取更加有效率(通信成本更低,因为窃贼通过窃取它们变得更加忙碌)。是吗?
为什么我们需要使用双端队列来进行工作窃取?(例如在Cilk中)所有者从顶部执行任务,而窃贼从底部进行窃取。这有什么用处呢?
我们可能会有多个窃贼从底部进行窃取。那么,我们不是仍然需要锁定吗?我在某处读到过,较大的任务(例如在树中创建的任务)被添加到底部。因此从底部进行窃取更加有效率(通信成本更低,因为窃贼通过窃取它们变得更加忙碌)。是吗?