Operating systems questions and answers, OS University exam questions, scheduling of processes and threads in a multiprocessor is complicated than single processor
Question:
List the reasons why the scheduling of processes and threads on a multi-processor system is more complicated than scheduling them on a uni-processor system.
Answer:
Concurrently executing processes may require access to shared data. This may lead to inconsistency. Hence, we need mechanisms to ensure data consistency.
More than one processor is available, so load-balancing is an issue.
Difficult to debug of non-deterministic execution sequences due to the unpredictable rate of progress of threads executing on different processors (due to differences in processor speeds).
Cache affinity needs to be considered in CPU scheduling decision.
Modern CPU architectures have many subtle features, such as multi-core, that are hard to exploit properly in user-level programming.
Scheduling is two dimensional in multi-processor system. Hence, the scheduler has to decide which thread to run first and which CPU to run for that thread. So, the extra dimension makes scheduling too complicated.
No comments:
Post a Comment