Explain the popular multiprocessor thread-scheduling strategies.

Load Sharing: Processes are not assigned to a particular processor. A global queue of
threads is maintained. Each processor, when idle, selects a thread from this queue.
Note that load balancing refers to a scheme where work is allocated to processors on
a more permanent basis.

Gang Scheduling: A set of related threads is scheduled to run on a set of processors atthe same time, on a 1-to-1 basis. Closely related threads / processes may be scheduledthis way to reduce synchronization blocking, and minimize process switching. Group scheduling predated this strategy.

Dedicated processor assignment: Provides implicit scheduling defined by assignment of threads to processors. For the duration of program execution, each program is allocated a set of processors equal in number to the number of threads in the program.Processors are chosen from the available pool.

Dynamic scheduling: The number of thread in a program can be altered during the
course of execution.

No comments:

Post a Comment