Previous | Next --- Slide 46 of 64
Back to Lecture Thumbnails
jessicaaa

I got the reasons why we steal from the top here. I just want to make sure - is what we're doing here like block assignment that we assign a block of cont to each thread, or i'm mixing things up?

haiyuem

@jessicaaa I don't think this is related to block assignment. Block assignment is when we statically assign a fixed part of the work to a certain thread. Here it is dynamic scheduling where each thread competes for what to work on next.

danieljm

Not sure if we touched on this already, but I'm curious what the optimal choice of victim would be in this case and in general. I could imagine that stealing from the thread with the most work on their stack would be closer to optimal than simply choosing a random thread to steal from, but even an efficient concurrent priority queue implementation that keeps the queues sorted by size would result in an overhead that the randomized solution avoids entirely.

blipblop

I'm wondering what does "maximum locality" mean in this slide?

stanwie

I am not sure whether it is a side-product benefit we get due to stealing the largest amount of work, which sugguests that larger amount of work is more likely to leverage the cache locality.

Please log in to leave a comment.