Previous | Next --- Slide 17 of 64
Back to Lecture Thumbnails
nickbowman

In this case, we see that having many worker queues (one corresponding to each thread) allows for two regimes – the first, where all workers have work remaining in their personal queues, requires no synchronization and introduces no overhead while the second, where some workers have emptied their work queues and go around "stealing" from others, requires similar synchronization strategies that we saw when we only had one work queue. An intelligent initial distribution of work to worker queues can have good performance impacts by reducing the amount of time in critical section, while a poor initial work distribution practically degrades to the same performance as the case of having just one shared work queue.

Please log in to leave a comment.