Ядро Linux: целевая задержка против минимальной гранулярности

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

Или как мы определяем целевую задержку и минимальную гранулярность.

  • Математическое объяснение высоко ценится.

1 ответ

как мы определяем целевую задержку и минимальную гранулярность.

Из "Разработка ядра Linux" Робертом Лавом:

1)

CFS устанавливает цель для своего приближения к "бесконечно малой" продолжительности планирования в идеальной многозадачности. Эта цель называется целевой задержкой.

2)

Обратите внимание, что по мере того, как число выполняемых задач приближается к бесконечности, доля выделенного процессора и назначенного временного интервала приближается к нулю. Поскольку в конечном итоге это приведет к неприемлемым затратам на переключение, CFS устанавливает минимальный уровень для временного интервала, назначенного каждому процессу. Этот минимальный уровень называется минимальной гранулярностью.

Таким образом, целевая задержка - это период, в течение которого все задачи очереди запуска планируются хотя бы один раз. А минимальная степень детализации - это минимальное время, в течение которого задаче будет разрешено запускаться на процессоре, прежде чем она будет исключена.

Рекомендации:

Другие вопросы по тегам