Previous | Next --- Slide 25 of 60
Back to Lecture Thumbnails
kayvonf

Question: Why is the "overhead" of static work assignment typically lower than that incurred by a program that employs dynamic work assignment?

lament

The simplest part of the answer (probably not the whole answer you are looking for) is that static work assignments are

  1. generally easy to compute
  2. require less work-load monitoring at run time
  3. require less (if any) work-load re-assignment than dynamic assignment.
  4. likely require the threads to synchronize less often 3 is probably the cause with the most impact, in that it occurs most often and leads to more overhead than 1 or 2. In a static assignment, a thread is just handed its work and chugs along; it doesn't have to wait to be handed more work, and it will not interrupted then shifted onto another task.
landuo

The overhead of static work assignment is lower than that of dynamic work assignment is that the processor has little computation to do at run time to determine work assignment because it is pre-defined.

sanchuah

Because the scheduler of static work assignment does not need computation to decide how to assign a work to which core, but the one of dynamic work assignment scheduler needs to calculate the best fit core of a work on the fly.