LINUX.ORG.RU

Линус о выборе планировщика


0

0

"Люди, которые думали, что SD был 'прекрасен', просто игнорировали действительность" - сказал Линус Торвальдс, объясняя, почему он выбрал планировщик CFS, написанный Инго Молинаром вместо планировщика SD, написанного Коном Коливасом.

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

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



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

Вы не совсем правы, на мой взгляд.

1. Линус некоторое время назад посмотрел на код SD и он ему не понравился. По ссылке есть эта инфа:

That's really what it boils down to. I was actually planning to merge CK for a while. The _code_ didn't faze me.

2. Честные планировщики, как я понимаю (и Кон это признаёт), придумали давно. Инго реализовал просто один из известных алгоритмов. Просто после Кона.

3. Заслуга Кона в том, что он привлёк внимание к проблеме и своими действиями доказал, что это важно.

4. Там было далеко не одно сообщение. Более того, Линус честно написал, что ветку про -CK он специально не читал. Как не читает и ветку про -MM или -FS. Это специализированные мейл-листы и они его мало интересуют, т.к. людям, которые там водятся интересны только специфические проблемы и наплевать на всё остальное. Инфу он получал от людей, которые делали CC в своих письмах.

5. Позиция Линуса, хотя и не бесспорна, имеет логическое объяснение. Да, Кон первым написал планировщик такого типа для ядра. Но ни качество кода, ни качество поддержки кода Линуса не устроили. И имея альтернативу он сделал вполне осознанный и оправданный выбор. Качественный код и нормальный мейнтейнер. Без истерик.

6. Планировщик Кона действительно хорошо. Но по дважды слепому тестированию он не лучше чем CFS. Так зачем плодить сущности? Вот найдут там багу, а он в ядре. Кто будет править при таком отношении, как, по впечатлению Линуса, сложилось у Кона?

7. Лично я считаю, что планировщик Инго быстро доведут до ума. Он за 3 месяца смог написать то, что Кон делал годы. Это, на мой взгляд, показывает качество и кода и программера.

8. То, что Кон на коричневую субстанцию изошёл ни ему ни ядру не помогло. Но тут каждый сам выбирает.

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

> В то время как в freeBSD и оффтопике отход от дел лидера ни на что существтвено не повлияет, потому что сущствует авторитетная группа людей которая всегда согласованно принимает решения,

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

> Вот случись что с Лиинусом, что будет с ядром? Хаос и анархия (десяток основных маинтейнеров, разругавшись начнут поддерживать каждый свою ветку)!

Группа топ мейнтейнеров сформирует авторитетную группу.

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

>Да дело не в том, что Коливас якобы на кого-то кидается. Все дело в том что он "не привязан" к разработке ядра, это лишь небольшая часть его жизни, у него другая работа, другая жизнь - это лишь хобби. Следовательно, он мог бы сделать то, что он сделал (бросил разработку), несколько позже, когда бы его планировщик был уже в ветке лишь потому, что ему это занятие просто наскучило. А кто будет поддерживать его код? Почитайте интервью с Коном. Его мотивация имеет исключительно эгоцентричный характер. В этом плане он не надежен, о чем и говорит Линус.

Полностью согласен. +1

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

> Но сначала они долго будут спорить, чью реализацию выбрать для "общей части", так как одинаковая производительность и подход это совсем не одинаковый код

Если люди не могут найти общий язык в команде, то лучше им уйти, что Кон и сделал. Командная работа это поиск лучшего решения, а не проталкивание своего кода.

> А через полгода после включения в ядро один из планировщиков уберут, а у разработчиков второго появится резонный вопрос: а зачем мы это всё делали???

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

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

угу, а еще подрабатываю написанием прог на visual basic

lester ★★★★
()

Рекомендую еще письма почитать. Очень интересные вещи всплывают:

Im still not so keen about this, Ingo never did get CFS to match SD in smoothness for 3d applications, where my test subjects are quake(s), world of warcraft via wine, unreal tournament 2004. And this is despite many patches he sent me to try and tweak it.

Kasper Sandberg

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

>Лично я считаю, что планировщик Инго быстро доведут до ума. Он за 3 месяца смог написать то, что Кон делал годы. Это, на мой взгляд, показывает качество и кода и программера.

Возможно он написал его так быстро благодаря этим годам.

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

> если его на отдельные пакеты не делят, как в дебиане.

Интересно, люди читаю, что сами пишут? Вы же написали:

"И так *исходники* ядра один и самых больших пакетов в дистрибутиве."

Мне интересно, в каком дистрибутиве на отдельные пакеты делят исходники?!

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

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

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

> А кто будет поддерживать его код?

А что, его код настолько запутан, что в нём никто, кроме него не может разобраться?

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

>Мне интересно, в каком дистрибутиве на отдельные пакеты делят исходники?!

А мне интересно, в какой школе так плохо учат русскому языку? Речь шла про tetex/texlive. В debian его делят на кучу мелких пакетов, в большинстве других дистрибутивов он идёт в виде нескольких больших. В дженте вообще весь техлайв одним куском раньше ставился.

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

> еще бы, создатель первого хорошего планировщика

Бред сивой кобылы. Кон как-то написал, что его планировщик очень хороший, на что его резонно спросили - если твой планировщик настолько хорош, почему ты выпустил почти 40 (_сорок_) его версий и исправлений?

Кон идет лесом, наматывая свои сопли на кулак.

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

> Линус по-прежнему игнорирует проблемы CFS на некоторых desktop

> workload'ах с участием 3d графики.

Бред. Читай LKML внимательнее.

> Одно я не понимаю: почему нельзя было включить и SD, и CFS с

> возможностью выбора их at compile time? Это было бы справедливо и не

> усложняло бы run-time ядро.

Читай LKML внимательнее.

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

> >Одно я не понимаю: почему нельзя было включить и SD, и CFS с

> > возможностью выбора их at compile time? Это было бы справедливо и не

> > усложняло бы run-time ядро.

> А нафига два практически одинаковых шедуллера. И так исходники ядра

> один и самых больших пакетов в дистрибутиве.

Linus абсолютно прав говоря, что держать два идентичных планировщика с возможностью выбора - это отвратительно! В итоге когда у кого-то будут какие-то проблемы с SD, он просто переключится на CFS, и наоборот. В итоге в ядре будет два глючных планировщика, недоведенных до ума. В очередной раз поражаюсь прозорливости Торвальдса!

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

> действительно, планировщиков I/O вон сколько в ядро напихали.

Почитай хотябы про них. Чтобы хоть примерное понятие имметь, о чем споришь. А то как-то в лужу пернул совсем не в кассу.

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

> Кон как-то написал, что его планировщик очень хороший, на что его резонно спросили - если твой планировщик настолько хорош, почему ты выпустил почти 40 (_сорок_) его версий и исправлений?

Бред сивой кобылы (C)

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

Или _непрограммисты_ думают, что программы так просто с неба валятся уже готовыми и оптимизированными?

Вон, наш проект имеет последний билд за номером 1145. И будет еще дополнительных 30-50 до следующего релиза. А ты говоришь сорок... ;)

dave ★★★★★
()

а перевести всю новость?

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

+1 Возможно планировщик Коливаса и был лучше, но где гарантия, что он в какой-то период его не бросит, и скажет: "надоело" (а так по сути и получилось). И кто тогда будет поддерживать планировщик, срочно кому-то бросать часть своей работы и работать над планировщиком ?

А вообще у талантливых людей часто амбиции бывают - ничего не поделаешь.

И жалко конечно, что Коливас уходит. Будем надеяться, что вернется.

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

>> Почему-то у меня при упоминании preemption Инго Молнар вспоминается

>Ну и почему же? Автором preemption был Robert M Love.

Если копнуть дальше, то preemption был написан в Montavista, а Robert Love только портировал их патчи на свежие ядра и затем поддерживал.

Ingo Molnar не имеет к этому отношения. А preemption ассоциируется с Con Colivas потому, что тот первый в своих ядрах включил preemption по умолчанию и показал, что они очень полезны на десктопе.

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

> А мне интересно, в какой школе так плохо учат русскому языку?

А мне в ответ интересно, в какой школе вас научили, что кроме вас нет никого. :) Только сейчас дошло, что "исходники ядра" это не source пакет, а полный набор, для тех, кому для компиляции заголовков нехватает...

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

>Кон как-то написал, что его планировщик очень хороший, на что его резонно спросили - если твой планировщик настолько хорош, почему ты выпустил почти 40 (_сорок_) его версий и исправлений?

Уржаться. На приличных проектах в SVN лежат _многие десятки тысяч_ ревизий :)

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

>> Линус наш вождь, что сказал, так и будет!!!

> А Разве не РМС?

У нас теперь два вождя - Линус под GPL2only, РМС под GPL3 or later :(

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

> Мне интересно, в каком дистрибутиве на отдельные пакеты делят исходники?!

В Дебиан. Сравните все пакеты Ruby и оригинальные сорсы. И это не единственный пример, если вам почему-то интересен такой бред.

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

>>Кон как-то написал, что его планировщик очень хороший, на что его резонно спросили - если твой планировщик настолько хорош, почему ты выпустил почти 40 (_сорок_) его версий и исправлений?

>Уржаться. На приличных проектах в SVN лежат _многие десятки тысяч_ ревизий :)

Ревизия и версия -- разные, очень разные вещи. Потому что 40 версий сделал, к хорошему варианту и пришел.

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

> Сравните все пакеты Ruby и оригинальные сорсы. И это не единственный пример, если вам почему-то интересен такой бред.

И вы туда же... :-/ Объясняю медленно и второй раз. Вот исходники проги. В дистрибутивах их заворачивают в пакет. Из пакета с исходниками получается один или несколько бинарных пакетов. Так вот, вы можете сказать, где пакеты с исходниками в виде нескольких файлов представлены?

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

> Вон, наш проект имеет последний билд за номером 1145. И будет еще дополнительных 30-50 до следующего релиза. А ты говоришь сорок... ;)

Типа от того, что его ещё 30-50 раз пересоберут, проект избавится от багов и вообще станет белым и пушистым? Коммерческий небось, ага? ;)

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

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

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

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

И такое тоже бывает. ИМХО подобное должно происходить как можно чаще, а то уже за смогом неба не видно, а за свистелками и абстракциями - скорости.

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

Эх прошли те времена, когда людям было достаточно терминальной консоли, которых к машине с камушком в всего-ничего - пару МГц и парой Мб мозга, хватало для всех дел. И бухгалтерия вертелась, и документы клевались. И пальцы у людей к мышке не приросли за неимением оной, и простые пользователи знали о Shell'е больше оных ЛОР'овцев. О золотая эра UNIX - где ты - вернись.

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

Забыл ритуальное биение в бубен (пользователя) и жертвоприношения кровавые (оных же, во славу цифровых богов). Хрен теперь эра вернётся :\

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

Если только не случится маленькая такая термоядерная война, коея сотрёт прпоетарщегов и прочих нечестивцев с лица планеты сей.

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

>Да дело не в том, что Коливас якобы на кого-то кидается. Все дело в том что он "не привязан" к разработке ядра, это лишь небольшая часть его жизни, у него другая работа, другая жизнь - это лишь хобби. Следовательно, он мог бы сделать то, что он сделал (бросил разработку), несколько позже, когда бы его планировщик был уже в ветке лишь потому, что ему это занятие просто наскучило.

+1 ... или обиделся бы на что нибудь еще. Если человек обиделся и "хлопнул дверью" теперь, он запросто мог бы это сделать и в будущем.

При всём, опять-же, уважении.

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

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

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

ЧОрт, "землю хавать" - это очень и очень круто. Видать человечество обречено, раз до такого не додумалось...

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

Но нам всё равно придётся рано или поздно зохавать Землю, хотю бы во имя любви Джа!

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

> Бред сивой кобылы. Кон как-то написал, что его планировщик очень хороший, на что его резонно спросили - если твой планировщик настолько хорош, почему ты выпустил почти 40 (_сорок_) его версий и исправлений?

Ждём 40 исправлений CFS, но уже не в виде отдельного патча, а в составе ядра.

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

>А что, его код настолько запутан, что в нём никто, кроме него не может разобраться?

А давайте одни будут писАть, а другие поддерживать?

anonymous
()

А почему тупой мудак бирди удаляет сообщения, которые ему не нравятся?

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

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

Читай GPL, парень, и не говори глупости. В плагиате невозможно обвинить человека, пишущего под GPL и использующего исходники GPL.

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

В этом, кстати, смысл GPL.

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

>Linus абсолютно прав говоря, что держать два идентичных планировщика с возможностью выбора - это отвратительно!

А шесть разных?

И вообще, ванильными ядрами кто пользуется?

И разве команда cfq пыталась довести до ума sd?

Чушь говоришь.

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

> Эх прошли те времена, когда людям было достаточно терминальной консоли, которых к машине с камушком в всего-ничего - пару МГц и парой Мб мозга, хватало для всех дел.

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

> И бухгалтерия вертелась, и документы клевались.

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

> И пальцы у людей к мышке не приросли за неимением оной

Наверное, очень старая эпоха. Я вот ещё помню мушку, включающуюся в клавиатуру. Которая при движении дублировала стрелки...

> О золотая эра UNIX - где ты - вернись.

Знаете, что посоветую, не зовите её, лучше уходите туда сами. Поселитесь в музее, будете пугать пользователей-посетителей. Потому что дальше такого не будет.

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