The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

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

25.03.2012 19:46

Кон Коливас (Con Kolivas) представил обновлённую версию планировщика задач BFS (Brain Fuck Scheduler), ориентированного на обеспечение оптимальной отзывчивости, интерактивности и пропускной способности при решении типичных пользовательских задач на обычных компьютерах. BFS имеет достаточно простую архитектуру, не усложнённую решением таких задач, как справедливое распределение приоритетов и обеспечение высокой масштабируемости, что обычно не востребовано на пользовательских системах.

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



  1. Главная ссылка к новости (https://lkml.org/lkml/2012/3/2...)
  2. OpenNews: Оценка производительности портированного для FreeBSD планировщика задач BFS
  3. OpenNews: Перевод статьи по структуре файловой системы BFS
  4. OpenNews: Сравнение производительности планировщиков задач BFS и CFS
  5. OpenNews: Кон Коливас представил BFS, новый планировщик задач для Linux ядра
  6. OpenNews: Автор CFS провел исследование производительности планировщика задач BFS
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/33444-linux
Ключевые слова: linux, kernel, patch, bfs, scheduler
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (62) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, megabaks (ok), 19:59, 25/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ждём pf 3.3
     
     
  • 2.24, pavlinux (ok), 23:40, 25/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Народ, там на LMKL есть ссылочка хорошая

    [code]
         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
    [/code]

    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

     
     
  • 3.39, megabaks (ok), 01:55, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну rt для десктопа негоден ни разу, в отличии от
    а скрестить...получится хрен знает что
    ни рт ни десктоп ни сервак ядро
    чушь какая-то
     
     
  • 4.40, pavlinux (ok), 02:07, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > чушь какая-то

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

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

     
     
  • 5.42, Viliar (ok), 11:30, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Подскажи, добрый человек, как ты определял hitrate L2 кэша?
     
     
  • 6.57, Мурзик (?), 18:52, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    на глаз
    мяяяу
     
  • 6.59, pavlinux (ok), 20:47, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ни я, Mike Galbraith - https://lkml.org/lkml/2012/3/25/38
     
  • 4.45, Андрей (??), 13:46, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А рзве цель -rt как раз ни в том, что "между десктоп и rt не должно быть противоречия". Т.е. не запуская rt-процессов, обычные процессы не должны ничего особенного от планировщика почувствовать.
     
     
  • 5.62, all_glory_to_the_hypnotoad (ok), 13:16, 27/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    нет, цель РТ давать гарантированные задержки и часто это идёт за счёт существенного падения производительности в общем. Целевая ниша - специальные железки типа там автопилотов.. в ощем, везде где неконтролируемая задержка может привести к негативному результату.
     
  • 2.30, Аноним (-), 00:34, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > ждём pf 3.3

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

     
     
  • 3.38, megabaks (ok), 01:54, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ну тебе не дают, а нормальным людям дают, и вполне ощутимый
     
     
  • 4.47, Аноним (-), 14:37, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ну тебе не дают, а нормальным людям дают, и вполне ощутимый

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

     
     
  • 5.58, megabaks (ok), 19:50, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ололошеньки
     
  • 5.60, DannyBoy (?), 07:49, 27/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    После прочтения сей статьи поставил себе вместе с pf-3.2.5 gentoo-3.3.0. Решил во время компиляции глянуть флеш-видео 360п. При BFS таких лагов просто не было, даже если смотреть в более лучшем качестве.

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

     
     
  • 6.61, ананим (?), 13:03, 27/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    дык там помимо сабжа ещё куча изменений.
    -ck patchset (BFS), BFQ, TuxOnIce and LinuxIMQ и в частности таймер - в 3.3 до 1000, в пф до 10000, что явно влияет на отзывчивость десктопа.
     
     
  • 7.63, DannyBoy (?), 14:48, 27/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ты прав, но я не менял значение в 1000.
     
  • 7.64, pavlinux (ok), 03:11, 28/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > и в частности таймер - в 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,... Вау, крошка, да ты крут!!!

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

     

  • 1.2, антоним (?), 20:15, 25/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    А что это тут у нас на графике? Было нечто 64.4 мс, теперь стало 63.9 или 63.6, другими словами примерно на 0,8% или 1,2% меньше. Коливас может и крутой чувак, но не зная что это стало лучше на 1% трудно сказать стоит ли вообще овчинка выделки.
     
     
  • 2.3, xandry (ok), 20:35, 25/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Если производительность повышается даже немного, то явно стоит развиваться в данном направлении.
     
     
  • 3.7, ананим (?), 21:14, 25/03/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Производительность как раз уменьшается.
    Отзывчивость (вроде как) увеличивается.
    Ну и если у вас реакция как терминатора... то да, на 0.1% сможете быстрее выстрелить.
     
     
  • 4.9, Аноним (-), 21:17, 25/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Производительность как раз уменьшается.

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

     
     
  • 5.34, ананим (?), 01:09, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> Производительность как раз уменьшается.
    >Согласно этому графику - увеличивается.

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

     
     
  • 6.51, Аноним (-), 14:48, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > неа, согласно графику там время, а не мегафлопы. :D

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

     
  • 4.12, Аноним (-), 22:04, 25/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну и если у вас реакция как терминатора... то да, на 0.1% сможете быстрее выстрелить.

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

     
  • 4.18, Аноним (-), 22:53, 25/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > сможете быстрее выстрелить.

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

     
     
  • 5.20, Аноним (-), 23:00, 25/03/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    вообще то там миллисекунды
     
  • 5.46, ананим (?), 14:29, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну вообще-то если вы не замечаете секунду - вы не терминатор а слоупок. За секунду можно раз 5 пальнуть в кваке.

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

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

     
     
  • 6.52, Аноним (-), 14:56, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > разница составляет менее 1%.

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

     
  • 3.28, Аноним (-), 00:30, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Если производительность повышается даже немного, то явно стоит развиваться в данном направлении.

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

     
     
  • 4.43, Аноним (-), 13:01, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вообще-то предлогалось сделать планировщики заменяемыми(как в дисковой подсистеме). Не думаю, что много кому на десктопе нужны сигрупс(и да, после перехода на системд, который их активно пользует, лучше не стало).
     
     
  • 5.48, Аноним (-), 14:41, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Вообще-то предлогалось сделать планировщики заменяемыми(как в дисковой подсистеме).
    > Не думаю, что много кому на десктопе нужны сигрупс(и да, после
    > перехода на системд, который их активно пользует, лучше не стало).

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

     
  • 2.5, Адольф (?), 20:48, 25/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Не мс, а секунд
     
     
  • 3.8, ананим (?), 21:16, 25/03/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А процент тотже.
    Во парадокс.
     

  • 1.4, Аноним (-), 20:38, 25/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >BFS имеет достаточно простую архитектуру

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

     
  • 1.6, Anonplus (?), 20:48, 25/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А почему его патчи никак в ядро не примут?
     
     
  • 2.10, СуперАноним (?), 21:39, 25/03/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Видимо, название Торвальдсу не нравится ;)
     
     
  • 3.14, Аноним (-), 22:06, 25/03/2012 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Видимо, название Торвальдсу не нравится ;)

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

     
  • 3.15, Аноным (ok), 22:14, 25/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Должно нравится, он любит дерзкие выражения и даже троллинг.
     
     
  • 4.29, Аноним (-), 00:32, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Должно нравится, он любит дерзкие выражения и даже троллинг.

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

     
  • 2.11, Аноним (-), 21:42, 25/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А все только потому, что появился некий Кон Коливас, чувак с завышенным ЧСВ и давай городить свои велосипеды. Такое не нужно в ядре, кому надо, тот сам вкомпилит.
     
     
  • 3.13, Аноним (-), 22:05, 25/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > некий Кон Коливас

    Проиграл.

     
     
  • 4.16, Харитон (?), 22:27, 25/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> некий Кон Коливас
    > Проиграл.

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

     
     
  • 5.23, pavlinux (ok), 23:31, 25/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>> некий Кон Коливас
    >> Проиграл.
    > Крутится рулетка, играет джаз...
    > Крутится рулетка, играет джаз...
    > Я проиграл...
    > Я - Коливас!

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

     
     
  • 6.27, Аноним (-), 00:15, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Там всё гораздо банальнее, они просто с Торвальдсом поцапались
    > и обозвали друг друга тупыми бакланами,... ну и так далее...

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

     
     
  • 7.33, pavlinux (ok), 01:02, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> Там всё гораздо банальнее, они просто с Торвальдсом поцапались
    >> и обозвали друг друга тупыми бакланами,... ну и так далее...
    > Судя по тому, как работает BFS, прав был таки Торвальдс :)

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

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

     
     
  • 8.35, ананим (?), 01:15, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    да и на моих 4 пршнях тоже бестолковая никакой разницы не заметил, зато всякие ... текст свёрнут, показать
     
     
  • 9.37, pavlinux (ok), 01:20, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Он когда первый патч сделал, везде в анонсах летало, что это ваще для старых мал... текст свёрнут, показать
     
     
  • 10.49, Аноним (-), 14:44, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Видимо, он с огромным трудом нашел единственный проц, где его поделие хоть чуть-... текст свёрнут, показать
     
  • 10.54, Аноним (-), 15:00, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Логично И совпадает с моими наблюдениями ... текст свёрнут, показать
     
     
  • 11.55, Аноним (-), 15:02, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Это был ответ на 36 ... текст свёрнут, показать
     
  • 9.65, alex.h (??), 09:19, 28/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Можно про это подробнее или ссылочку ... текст свёрнут, показать
     
  • 8.50, Аноним (-), 14:46, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Для меня применение понятия рабочий к планировщику CPU без cgroups - деление н... текст свёрнут, показать
     
  • 3.31, Аноним (-), 00:36, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Такое не нужно в ядре, кому надо, тот сам вкомпилит.

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

     
  • 2.25, Аноним (-), 00:12, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А потому, что он не только уступает CFS по функциональности, но и проигрывает ему на "своем поле": на обычном десктопе CFS из свежих ядер заметно шустрее, чем BFS.
     

  • 1.17, AlexAT (ok), 22:33, 25/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Судя по графику (разница в пределах 1%) и
    >>> BFS имеет достаточно простую архитектуру, не усложнённую решением таких задач, как справедливое распределение приоритетов и обеспечение высокой масштабируемости

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

     
  • 1.19, kosha (?), 22:55, 25/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На графике сравнение дается по двойному серверному процесору с 16 потоками, как бы не совсем дексктоп компьютер. А если результаты сравнения привести к реальному рабочему компьютеру один процесор на 2-4 ядра, какой результат будет?
     
  • 1.21, Аноним (-), 23:11, 25/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Помню встречал утверждение, что BFS более правильно разделяет нагрузку для процессов с разными приоритетами CFS. Мол CFS почти напроч игнорирует значение nice, а BFS правильно его обрабатывает. Например, если на компьютере в фоне работает несколько неприоритетных процессов, готовых запольнить все процессорное время, то пользователь этого не замичает при использовании BFS и замичает при использовании CFS. Это в самом деле так?
     
     
  • 2.26, Аноним (-), 00:14, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Скорее наоборот, BFS "не усложнен" такой "ненужной на десктопе" фичей, как поддержка приоритетов.
     
  • 2.41, Аноним (-), 10:06, 26/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Это в самом деле так?

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


     

  • 1.22, pavlinux (ok), 23:25, 25/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >... при решении типичных пользовательских задач на обычных компьютерах.

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

     
  • 1.32, Аноним (-), 00:40, 26/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > не усложнённую решением таких задач, как справедливое распределение приоритетов и обеспечение высокой масштабируемости, что обычно не востребовано на пользовательских системах

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

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

     
  • 1.36, pavlinux (ok), 01:16, 26/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Там позже отметился 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 ([b]L2 misses hurt like hell[/b])

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру