LINUX.ORG.RU

Кодируете видео? С BFS вы сэкономите время!

 , , ,


0

1

Кэспер Сэндберг (Kasper Sandberg) провёл сравнение производительности системы на последнем ядре (2.6.32) с BFS и со стандартным шедулером CFS. Тест показал первенство всё ещё не принятого в основную ветку творения Кона Коливаса (Con Kolivas) в кодировании видео.

Для сжатия видео использовался кодер x264, запущенный на четырёхядерном Core2 Quad Q9300. Каждый из трёх (низкая скорость кодирования, средняя и высокая) тестов запускался с различным числом потоков: от 1 до 16, с шагом один.

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



Проверено: Shaman007 ()
Последнее исправление: alexsaa (всего исправлений: 2)

раз стандартный шеллудер такой плохой, чтож его не выкинут? линус вообще лучше знает, кому чего надо.

зы не копируйте видео, не нарушайте копирастические законы

RedPossum ★★★★★
()

BFS

Вчерась только собирал 2.6.32 с bfs313. Наблюдаю корелляцию с лором, и не впервые уже :)

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

troop> Если посмотреть более старые тесты, то можно увидеть, что отставание CFS там гораздо сильнее. В .32 оставание уже гораздо меньше. Есть основания пологать, что в .33, ситуация еще лучше для CFS

Потому, что бесполезный быдлокодеришко Инго Молнар переделывает CFS по образу и подобию BFS. Видите ли, этому бездарю, который нифига полезного в своей жизни не сделал, мешает самомнение принять BFS наравне с CFS для выбора.

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

r0mik> кодирование можно реализовать CUDA

А за такое руки отрывать надо.

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

Led> Что ты этим хотел сказать?

Очевидно, он хотел сказать то, что сам Инго Молнар признал CFS defective by design

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

ttnl2> Ещё надо учесть, что BFS плохо работает с NUMA и заточен под нужды десктопа. Поэтому CFS выкинуть не удасться.

И не надо выкидывать. Надо лишь принять BFS и дать возможность выбора.

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

>Очевидно, он хотел сказать то, что сам Инго Молнар признал CFS defective by design

Для своих задач CFS очень даже не плох, для компов где количество ядер от 8 и более. На меньшем количестве ядер алгоритм CFS вносит излишний оверхед. BFS лишён оверхеда, но и масшатируемость много меньше.

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

>бесполезный быдлокодеришко Инго Молнар...,

который нифига полезного в своей жизни не сделал


Я так понял, что это шутка.

Надо лишь принять BFS и дать возможность выбора.


Беглый взгляд на код BFS дает понять, что его код сырой, далек
от стабильности и написан на скорую руку:

struct rq {
#ifdef CONFIG_SMP
#ifdef CONFIG_NO_HZ
unsigned char in_nohz_recently;
#endif
#endif

(там еще много таких приколов).

Если Линус и товарищи, учитывая степень адекватности Кона Коливаса,
решат, что им не в падлу поддерживать сразу два планировщика, то будет
вам два планировщика в ядре.

Лично я, ознакомившись с тестами и почитав LKML, выступаю за то,
чтобы к лучшей работе на десктопе заточили бы CFS. BFS не привносит
ничего революционно нового, в нем нет особой необходимости.

Возможно, что в обозримом будущем в ядро включат RT-патч, и линукс
официально станет реалтаймовым. Это, в отличие от смешных нескольких
процентов, действительно полезное улучшение, к которому нужно стремиться.

Кстати, кто не в курсе, Коливас тоже участвовал в разработке CFS..

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

Robotron> Для своих задач CFS очень даже не плох

Вот именно. Для своих. А Инго Молнар утверждает, что для _всех_ задач он лучший.

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

Если CFS затачивать под десктоп, на серверах он будет хуже. Так что лучше иметь несколько планировщиков.

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

Затачивают обычно добавлением ifdef'ов, которые определяются при конфигурации. Так что ничто не ухудшится. Интересен другой случай. Была бы возможность вообще отключить эти области планирования. Зачем они на двухядерном десктопе?! Все эти функции по нахождению самых простаивающих групп и т.д. Но такой возможности ни в одном планировщике нет.

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

>Затачивают обычно добавлением ifdef'ов, которые определяются при конфигурации.

Не только. Есть ещё /proc/sys/kernel/sched_*

Была бы возможность вообще отключить эти области планирования. Зачем они на двухядерном десктопе?!

/proc/sys/kernel/sched_features - недостаточно для «отключения областей планирования»?

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

ЕМНИП Коливас когда-ты пытался пропихнуть код для динамического выбора шедулера для процессов (не для IO). Почему его не приняли - хз

Это дало бы куда больше крутилок, и действительно можно было бы выбрать и настроить нужный.

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