URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 83780
[ Назад ]

Исходное сообщение
"Обновление планировщика задач BFS с поддержкой ядра Linux 3.3"

Отправлено opennews , 25-Мрт-12 19:59 
Кон Коливас (Con Kolivas) представил (https://lkml.org/lkml/2012/3/24/39) обновлённую версию планировщика задач BFS (http://ck.kolivas.org/patches/bfs/) (Brain Fuck Scheduler), ориентированного на обеспечение оптимальной отзывчивости, интерактивности и пропускной способности при решении типичных пользовательских задач на обычных компьютерах. BFS имеет достаточно простую архитектуру, не усложнённую решением таких задач, как справедливое распределение приоритетов и обеспечение высокой масштабируемости, что обычно не востребовано на пользовательских системах.


Новая версия BFS претерпела достаточно большие архитектурные изменения, необходимые для адаптации работы с ядром 3.3 и не заметные для конечного пользователя. Из изменений, которое может быть замечено пользователями отмечается задействование по умолчанию для x86-систем  аккаунтинга IRQ с высоким разрешением, что позволит решить ранее наблюдаемые проблемы с аккаунтингом системного времени.

<center><img src="http://www.opennet.ru/opennews/pics_base/0_1332690542.png" style="border-style: solid; border-color: #606060; border-width: 1px;" title="" border=0></center>


URL: https://lkml.org/lkml/2012/3/24/39
Новость: http://www.opennet.ru/opennews/art.shtml?num=33444


Содержание

Сообщения в этом обсуждении
"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено megabaks , 25-Мрт-12 19:59 
ждём pf 3.3

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено pavlinux , 25-Мрт-12 23:40 
Народ, там на LMKL есть ссылочка хорошая


     TOWARDS TRANSPARENT CPU SCHEDULING

                   by
           Joseph T. Meehean

A dissertation submitted in partial fulfillment of
       the requirements for the degree of
           Doctor of Philosophy
           (Computer Sciences)

                at the
    UNIVERSITY OF WISCONSIN–MADISON

http://www.cs.wisc.edu/adsl/Publications/meehean-thesis11.pdf

Да и остальные тож интересные - http://research.cs.wisc.edu/adsl/Publications/

---

А по теме, буквально на той неделе ковырял -rt патчи,
гонял на Atom D425 (это 2 ядра на 1.8GHz, по 512Мb L2)
так вот, там latency от 25-38 мкс.

---

Скрестить чтоль BFS и RT ?!?!? :D


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено megabaks , 26-Мрт-12 01:55 
ну rt для десктопа негоден ни разу, в отличии от
а скрестить...получится хрен знает что
ни рт ни десктоп ни сервак ядро
чушь какая-то

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено pavlinux , 26-Мрт-12 02:07 
> чушь какая-то

А там новый режим появился - Basic RT (легкий РеалТайм, c ментолом, для девочек).
---

В общем, не буду делать, бенчмарки у него жуткие, не попадания в L2 кэш 25% !!!


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Viliar , 26-Мрт-12 11:30 
Подскажи, добрый человек, как ты определял hitrate L2 кэша?

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Мурзик , 26-Мрт-12 18:52 
на глаз
мяяяу

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено pavlinux , 26-Мрт-12 20:47 
Ни я, Mike Galbraith - https://lkml.org/lkml/2012/3/25/38

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Андрей , 26-Мрт-12 13:46 
А рзве цель -rt как раз ни в том, что "между десктоп и rt не должно быть противоречия". Т.е. не запуская rt-процессов, обычные процессы не должны ничего особенного от планировщика почувствовать.

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено all_glory_to_the_hypnotoad , 27-Мрт-12 13:16 
нет, цель РТ давать гарантированные задержки и часто это идёт за счёт существенного падения производительности в общем. Целевая ниша - специальные железки типа там автопилотов.. в ощем, везде где неконтролируемая задержка может привести к негативному результату.

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 26-Мрт-12 00:34 
> ждём pf 3.3

... без BFS (ибо какой смысл тащить кривые патчи, если они не дают никакого выигрыша?)


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено megabaks , 26-Мрт-12 01:54 
ну тебе не дают, а нормальным людям дают, и вполне ощутимый

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 26-Мрт-12 14:37 
> ну тебе не дают, а нормальным людям дают, и вполне ощутимый

Нормальные люди юзают свежий CFS, который ощутимо шустрее, чем BFS.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено megabaks , 26-Мрт-12 19:50 
ололошеньки

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено DannyBoy , 27-Мрт-12 07:49 
После прочтения сей статьи поставил себе вместе с pf-3.2.5 gentoo-3.3.0. Решил во время компиляции глянуть флеш-видео 360п. При BFS таких лагов просто не было, даже если смотреть в более лучшем качестве.

Hardware: core2duo 8400(3ГГц, 2 ядра) и 2 Гб ОЗУ.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено ананим , 27-Мрт-12 13:03 
дык там помимо сабжа ещё куча изменений.
-ck patchset (BFS), BFQ, TuxOnIce and LinuxIMQ и в частности таймер - в 3.3 до 1000, в пф до 10000, что явно влияет на отзывчивость десктопа.

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено DannyBoy , 27-Мрт-12 14:48 
Ты прав, но я не менял значение в 1000.

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено pavlinux , 28-Мрт-12 03:11 
> и в частности таймер - в 3.3 до 1000, в пф до 10000,
> что явно влияет на отзывчивость десктопа.

Ага щаз, сто тыщь питсот раз...

# grep freq /proc/driver/rtc

periodic IRQ frequency  : 1024
max user IRQ frequency  : 64
periodic_freq   : 1024

Частоты, что выше этих значений, "шатает" как
пьяную кобылу с бодуна, +/-5000 us - это нормально.

То, что у вас 10000 это CONFIG_HZ - вакуумный модулятор
таймаутов, задержек и нужен лишь как единый знаменатель
при синхронизациях. И вообще, все продвинутые уже давно юзают NO_HZ.
  
---
Ядро - это не то место, где надо махать своим органом,
pf-3.2.5, gentoo-3.3.0, bfs, bfq, tux-on-ice, reiser4,
btrfs, wayland, systemd, nosql,... Вау, крошка, да ты крут!!!

Понасували говна всякого, уникальные вы мои. :)


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено антоним , 25-Мрт-12 20:15 
А что это тут у нас на графике? Было нечто 64.4 мс, теперь стало 63.9 или 63.6, другими словами примерно на 0,8% или 1,2% меньше. Коливас может и крутой чувак, но не зная что это стало лучше на 1% трудно сказать стоит ли вообще овчинка выделки.

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено xandry , 25-Мрт-12 20:35 
Если производительность повышается даже немного, то явно стоит развиваться в данном направлении.

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено ананим , 25-Мрт-12 21:14 
Производительность как раз уменьшается.
Отзывчивость (вроде как) увеличивается.
Ну и если у вас реакция как терминатора... то да, на 0.1% сможете быстрее выстрелить.

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 25-Мрт-12 21:17 
> Производительность как раз уменьшается.

Согласно этому графику - увеличивается. Правда на мизер порядка 1%. Что достаточно логично.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено ананим , 26-Мрт-12 01:09 
>> Производительность как раз уменьшается.
>Согласно этому графику - увеличивается.

неа, согласно графику там время, а не мегафлопы. :D


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 26-Мрт-12 14:48 
> неа, согласно графику там время, а не мегафлопы. :D

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


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 25-Мрт-12 22:04 
> Ну и если у вас реакция как терминатора... то да, на 0.1% сможете быстрее выстрелить.

Удачное сравнение.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 25-Мрт-12 22:53 
> сможете быстрее выстрелить.

Ну вообще-то если вы не замечаете секунду - вы не терминатор а слоупок. За секунду можно раз 5 пальнуть в кваке.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 25-Мрт-12 23:00 
вообще то там миллисекунды

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено ананим , 26-Мрт-12 14:29 
>Ну вообще-то если вы не замечаете секунду - вы не терминатор а слоупок. За секунду можно раз 5 пальнуть в кваке.

странные люди... а вам не всё-равно в кваке, что вы до этого простоите столбом 63 секунды или 64?

зыж
разница составляет менее 1%.
усё.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 26-Мрт-12 14:56 
> разница составляет менее 1%.

И это еще лучший результат. Логично предположить, что были и похуже.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 26-Мрт-12 00:30 
> Если производительность повышается даже немного, то явно стоит развиваться в данном направлении.

BFS - это не развитие, а деградация. В частности, в нем нет поддержки cgroups, которые, при правильном приготовлении, позволяют добиться значительного увеличения отзывчивости и производительности. В саморекламных "тестах" от Коливаса это, разумеется, пропущено.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 26-Мрт-12 13:01 
Вообще-то предлогалось сделать планировщики заменяемыми(как в дисковой подсистеме). Не думаю, что много кому на десктопе нужны сигрупс(и да, после перехода на системд, который их активно пользует, лучше не стало).

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 26-Мрт-12 14:41 
> Вообще-то предлогалось сделать планировщики заменяемыми(как в дисковой подсистеме).
> Не думаю, что много кому на десктопе нужны сигрупс(и да, после
> перехода на системд, который их активно пользует, лучше не стало).

Странно. У меня даже после банального включения autogroup все летает просто реактивно, старое ведро с BFS на этом фоне выглядит жутким тормозом.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Адольф , 25-Мрт-12 20:48 
Не мс, а секунд

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено ананим , 25-Мрт-12 21:16 
А процент тотже.
Во парадокс.

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 25-Мрт-12 20:38 
>BFS имеет достаточно простую архитектуру

А по названию и не скажешь.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Anonplus , 25-Мрт-12 20:48 
А почему его патчи никак в ядро не примут?

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено СуперАноним , 25-Мрт-12 21:39 
Видимо, название Торвальдсу не нравится ;)

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 25-Мрт-12 22:06 
> Видимо, название Торвальдсу не нравится ;)

Ему много чего не нравится. KDE SC 4, GNOME 3, Fedora, openSUSE, пароли root.. ))


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноным , 25-Мрт-12 22:14 
Должно нравится, он любит дерзкие выражения и даже троллинг.

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 26-Мрт-12 00:32 
> Должно нравится, он любит дерзкие выражения и даже троллинг.

Зато он не любит индусов и кривой код. Так что по совокупности - не видать Коливасу мейнстрима, как своих ушей.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 25-Мрт-12 21:42 
А все только потому, что появился некий Кон Коливас, чувак с завышенным ЧСВ и давай городить свои велосипеды. Такое не нужно в ядре, кому надо, тот сам вкомпилит.

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 25-Мрт-12 22:05 
> некий Кон Коливас

Проиграл.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Харитон , 25-Мрт-12 22:27 
>> некий Кон Коливас
> Проиграл.

Крутится рулетка, играет джаз...
Крутится рулетка, играет джаз...
Я проиграл...
Я - Коливас!


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено pavlinux , 25-Мрт-12 23:31 
>>> некий Кон Коливас
>> Проиграл.
> Крутится рулетка, играет джаз...
> Крутится рулетка, играет джаз...
> Я проиграл...
> Я - Коливас!

Там всё гораздо банальнее, они просто с Торвальдсом поцапались
и обозвали друг друга тупыми бакланами,... ну и так далее...


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 26-Мрт-12 00:15 
> Там всё гораздо банальнее, они просто с Торвальдсом поцапались
> и обозвали друг друга тупыми бакланами,... ну и так далее...

Судя по тому, как работает BFS, прав был таки Торвальдс :)


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено pavlinux , 26-Мрт-12 01:02 
>> Там всё гораздо банальнее, они просто с Торвальдсом поцапались
>> и обозвали друг друга тупыми бакланами,... ну и так далее...
> Судя по тому, как работает BFS, прав был таки Торвальдс :)

Это Вы зря, вещь рабочая, но больше 4-х ядер бестолковая.
Ну а  Коливас, как и Рейзер матюгались с ним из-за необходимости
использования функций API ядра, а не писания своих аналогов.
Но ни BFS, ни уж тем более Reiser4 не получаются на чистом Linux API.

Вот BTRFS умнее сделали, сначала внедрились в ядро
в кастрированном виде, а теперь херачат чего хотят. :)


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено ананим , 26-Мрт-12 01:15 
>Это Вы зря, вещь рабочая, но больше 4-х ядер бестолковая.

да и на моих 4 пршнях тоже бестолковая.
никакой разницы не заметил, зато всякие сигроупс и туева хуча с ними связанная (напрмер фриз - "зафризиваю" браузер к примеру, когда не пользуюсь, чтоб кипятильником ноут не работал) идёт лесом.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено pavlinux , 26-Мрт-12 01:20 
>>Это Вы зря, вещь рабочая, но больше 4-х ядер бестолковая.
> да и на моих 4 пршнях тоже бестолковая.

Он когда первый патч сделал, везде в анонсах летало, что это ваще
для старых маломощных компов, типа Пень 133МГц. Я вот и не знаю,
нафига он бенчмарки на 16-потоковом Хеон_е делал.

Нарыл бы процессоры, какой-нить RDC R8610, STPC Consumer II, иль Geode,
может как Embedded Scheduler прокатит.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 26-Мрт-12 14:44 
> Он когда первый патч сделал, везде в анонсах летало, что это ваще
> для старых маломощных компов, типа Пень 133МГц. Я вот и не знаю,
> нафига он бенчмарки на 16-потоковом Хеон_е делал.

Видимо, он с огромным трудом нашел единственный проц, где его поделие хоть чуть-чуть выигрывает, а не сливает.
Я BFS пробовал и на рабочем компе (i5 750), и на домашнем (athlon 2800+) - и там, и там CFS заметно отзывчивее.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 26-Мрт-12 15:00 
Логично. И совпадает с моими наблюдениями.

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 26-Мрт-12 15:02 
> Логично. И совпадает с моими наблюдениями.

Это был ответ на #36.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено alex.h , 28-Мрт-12 09:19 
> напрмер фриз - "зафризиваю" браузер к примеру, когда не пользуюсь,
> чтоб кипятильником ноут не работал

Можно про это подробнее или ссылочку?



"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 26-Мрт-12 14:46 
> Это Вы зря, вещь рабочая, но больше 4-х ядер бестолковая.

Для меня применение понятия "рабочий" к планировщику CPU без cgroups - деление на ноль.
Если cgroups не нужны - ставь фрю или винду, нафига вообще тебе линукс?


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 26-Мрт-12 00:36 
> Такое не нужно в ядре, кому надо, тот сам вкомпилит.

Не понимаю, кому вообще нужно отрубать себе очень полезные фичи (например, cpu cgroups) без какого-либо выигрыша?


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 26-Мрт-12 00:12 
А потому, что он не только уступает CFS по функциональности, но и проигрывает ему на "своем поле": на обычном десктопе CFS из свежих ядер заметно шустрее, чем BFS.

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено AlexAT , 25-Мрт-12 22:33 
Судя по графику (разница в пределах 1%) и
>>> BFS имеет достаточно простую архитектуру, не усложнённую решением таких задач, как справедливое распределение приоритетов и обеспечение высокой масштабируемости

Оно того не стоит. Быть может, как сменяемый планировщик - нормально для желающих экспериментов. Если не ошибаюсь - в ядро вроде бы приняли инфраструктуру для сменяемости планировщиков - так что могут и принять в мейнстрим.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено kosha , 25-Мрт-12 22:55 
На графике сравнение дается по двойному серверному процесору с 16 потоками, как бы не совсем дексктоп компьютер. А если результаты сравнения привести к реальному рабочему компьютеру один процесор на 2-4 ядра, какой результат будет?

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 25-Мрт-12 23:11 
Помню встречал утверждение, что BFS более правильно разделяет нагрузку для процессов с разными приоритетами CFS. Мол CFS почти напроч игнорирует значение nice, а BFS правильно его обрабатывает. Например, если на компьютере в фоне работает несколько неприоритетных процессов, готовых запольнить все процессорное время, то пользователь этого не замичает при использовании BFS и замичает при использовании CFS. Это в самом деле так?

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 26-Мрт-12 00:14 
Скорее наоборот, BFS "не усложнен" такой "ненужной на десктопе" фичей, как поддержка приоритетов.

"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено Аноним , 26-Мрт-12 10:06 
> Это в самом деле так?

CFQ default, CGROUPS not set, PREEMPT_NONE=y, NR_CPUS=1, типовой localhost, до 3-х сборок c gcc, фактически загрузка заметна на доке индикатора загрузки.



"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено pavlinux , 25-Мрт-12 23:25 
>... при решении типичных пользовательских задач на обычных компьютерах.

Ах...енно, бенчмарки планировщика для хомячков делать на
2-х 8-тредовых Intel Xeon E5620, с суммарными 24 мегами L2 кэша :D


"Обновление планировщика задач BFS с поддержкой ядра Linux 3.3"
Отправлено Аноним , 26-Мрт-12 00:40 
> не усложнённую решением таких задач, как справедливое распределение приоритетов и обеспечение высокой масштабируемости, что обычно не востребовано на пользовательских системах

Если перевести с маркетингового на русский:
написавший эту поделку индус настолько ленив, что не стал утруждать себя поддержкой киллер-фич, как раз и обеспечивающих высокую отзывчивость CFS.

Результат вполне предсказуем: сейчас CFS дает ощутимо более быструю отзывчивость (особенно при правильно приготовленных cgroups), чем BFS. На что рассчитывает Коливас - непонятно.


"Обновление планировщика задач BFS с поддержкой ядра Linux 3...."
Отправлено pavlinux , 26-Мрт-12 01:16 
Там позже отметился Mike Galbraith, это который AUTOGROUP написал,
https://lkml.org/lkml/2012/3/25/38

Опустил BFS ниже плинтуса, особо понравилось:

#
What about low latency?  A couple latency bound loads:

tbench 8
Q6600 desktop box
CFS Throughput 1159.6 MB/sec 8 procs      1.000
BFS Throughput 701.2 MB/sec 8 procs        .604 (L2 misses hurt like hell)