LINUX.ORG.RU

Абсолютно Честный Планировщик (процессов для ядра)


0

0

В связи с тем, что новый планировщик от Con Kolivas не получил согласия от Линуса, а также не смог решить всех проблем, связанных с "отзывчивостью" компьютера при больших нагрузках, Ingo Molnar решил написать с нуля новый "Абсолютно Честный Планировщик" (для переключения процессов ядром Линукса). Реализация от Ingo имеет следующие преимущества: отказ от использования runqueues, использование жёсткого наносекундного режима переключения задач, который не зависит от частоты процессора и переменной HZ, а самое важное, что в этом планировщике нет никакой эвристики, т.е. достигается максимальная интерактивность всех запущенных в системе процессов. Единственная доступная для регулирования переменная - это /proc/sys/kernel/sched_granularity_ns, которая служит для переключения планировщика между режимами desktop (низкие задержки) и server (хорошее пакетирование заданий). Оригинальный патч размером 100KB был написан всего за 62 часа.

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Ответ на: комментарий от annoynimous

>Вкратце: предлагаемый планировщик имеет O(log(n)) сложность, что является некоторым шагом назад, но все же гораздо лучше, чем O(n).

Напомните плиз, что такое O(n) :) А то забыть успел материал первого курса :) К тому же я так эту тему и не понял... Писал во всяких выражениях, потому что "так полагается", как блондинки пишут dx в интегралах :)

AsphyX ★★★
()
Ответ на: комментарий от AsphyX

O(n) - читается о большое от эн, означает величина пропорциональная n ,в пределе конечно, применяется для описания отношения предельных величин, т.е. lim(X)/lim(n) -> const*n. Еще есть O(1) - постоянная величина т.е отношение lim(x)/lim(n) -> const, o(n) - бесконечно малая величина по отношению к n, т.е. lim(X)/lim(n) - > 0. Здесь в контексте имеется ввиду время работы алгоритма в зависимости от количества процессов.

Кстати, кто нибуди попробовал? У меня после патча перестал запускатся syslog-ng.

anonymous_pro
()
Ответ на: комментарий от v1go

>Ассимптотическая сложность алгоритма...

Летят на воздушном шаре Холмс и Ватсон. Шар остыл и спустился в гористой местности. Ватсон спрашивает у прхожего:'Где мы находимся'. Тот отвечает:'Вы находитесь в корзине воздушного шара'- и пошел дальше.

-Как вам нравится этот математик, Ватсон?

-Холмс, но откуда такая уверенность, что он математик.

-Он дал совершенно точный, полный, и никому не нужный ответ. ;)

anonymous_pro
()
Ответ на: комментарий от anonymous_pro

> Еще есть O(1) - постоянная величина т.е отношение lim(x)/lim(n) -> const

Это не правильно.

Тот факт, что |f(n)| <= C|g(n)| для всех n >= N обычно записывают как f = O(g). Стремления к константе это не предполагает.

anonymous
()
Ответ на: комментарий от anonymous

Нет правильно! Подставте в ваше выражение вместо g единицу и получите константу. Кстати вы изложили то же, что и я, но в других обозначениях. Честно говоря, может в другом случае я бы не обратил на этот пост внимания, но здесь, помоему, мое изложение более понятно для не подготовленного читателя, т.е. читателя не изучавшего углубленно матанализ и функан.

anonymous_pro
()
Ответ на: комментарий от anonymous_pro

Для переодических функций действительно предел неуместен, ладно согласен O(1) - функция ограниченая константой.

anonymous_pro
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.