2013-02-11 5 views
0

Я хотел знать, работает ли функция schedule() на каждом процессоре, или это всего лишь одно расписание() для каждого процессора.Планировщик Linux на NUMA и SMP

Если на каждом процессоре/ядре имеется копия расписания(), как процессы отправляются на конкретный процессор/CPU. Это задача балансировки нагрузки? Существует ли только один балансировщик нагрузки для всех процессоров или выполняется распределенным способом с использованием флагов/метода связи?

ps- Я знаю работу классов планирования и т. Д., Но мне сложно определить распределение процессов между различными стадионами.

ответ

0

Каким образом процессы отправляются на конкретный рабочий стол CPU/cpu. Это задача балансировки нагрузки?

Да. В многопроцессорной системе балансировщик нагрузки периодически проверяет, не загружены ли нагрузки ЦП; если они есть, процессор выполняет кросс-процессорную балансировку задач.

Есть ли только один балансировщик нагрузки, работающий для всех процессоров, или выполняется распределенным способом с использованием флагов/метода связи?

Да. В планировании SMP существует только одно расписание() и одна балансировка нагрузки, которые управляют многозадачностью между несколькими ядрами.

Refer: Inside the Linux scheduler.