The OpenNET Project / Index page

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

Для Linux представлен планировщик задач BLD (Barbershop Load Distribution)

13.02.2012 12:04

В списке рассылки разработчиков ядра Linux представлена реализация альтернативного алгоритма планирования задач - BLD (Barbershop Load Distribution). В отличие от используемого в настоящее время планировщика, BLD ограничивается решением задачи по корректному распределению нагрузки путем отслеживания не всех привязанных к CPU очередей, а только наиболее и наименее загруженных очередей выполнения (rq, runqueue). BLD не пытается балансировать нагрузку на систему в контексте отслеживания бездействующих idle-процессов, а акцентирует внимание на распределении всей нагрузки между имеющимися процессорами наиболее простым путём с минимальным числом усложнений.

Для пояснения сути нового алгоритма приведена аналогия с парикмахерской в которой менеджер (планировщик задач) выстраивает клиентов (процессы) в несколько очередей (runqueue) к парикмахерам (CPU), с учётом загруженности парикмахеров организуя очередь так, чтобы клиенту пришлось ждать как можно меньше времени. При использовании алгоритма BLD при приходе нового "клиента" (процесса) планировщик выбирает наименее загруженную очередь и помещает в неё процесс. При этом на BLD ложится задача по вычислению нагрузки в каждой очереди и перегруппировки очередей в соответствии с вычисленной нагрузкой. Соответственно процесс для выполнения снимается с верхушки наиболее загруженной очереди, а вновь прибывающие заявки помещаются в конец наименее нагруженной очереди. Так как перераспределение списка очередей происходит постоянно, удаётся добиться равномерного распределения ресурсов между ожидающими выполнения задачами, без использования методов балансировки нагрузки и без оглядки на число CPU.

Классический планировщик задач ядра Linux при поступлении нового процесса пытается выявить наименее загруженный CPU, постоянно пересчитывая параметры каждой очереди. Одновременно, с целью обеспечения оптимальной балансировки, те же операции проделываются при принятии решения о том какой процесс следует начать выполнять внутри очереди. Если очередь к CPU пуста (idle), планировщик пытается переместить в неё элементы из наиболее загруженной очереди другого CPU, выступая в роли балансировщика нагрузки.

В настоящее время для тестирования подготовлен базовый прототип BLD, который ещё нуждается в доработке, чистке и оптимизации. Тем не менее BLD уже показывает хорошую производительность для таких типов нагрузки, как сборка ядра из исходных текстов. Из проблемных областей называется недостаточная справедливость при выполнении такой активности, как порождение одним процессом произвольного числа нитей. По мнению автора разработки, проводить сравнения производительности пока рано, прототип пока нацелен на обкатку базовых принципов. Главным достоинством BLD является сам подход, показывающий что достаточно простыми методами можно добиться равномерного распределения нагрузки, не заботясь особенно о том сколько CPU используется в системе и соответственно без лавинообразного падения производительности на накладные расходы при увеличении числа CPU (BLD обеспечивает уровень производительности O(n), где n - число CPU).

  1. Главная ссылка к новости (https://lkml.org/lkml/2012/2/1...)
  2. OpenNews: Для ядра Linux представлен планировщик ввода-вывода FIOPS для SSD-накопителей
  3. OpenNews: Оценка производительности портированного для FreeBSD планировщика задач BFS
  4. OpenNews: Третья версия планировщика задач SCHED_DEADLINE для ядра Linux
  5. OpenNews: Автор CFS провел исследование производительности планировщика задач BFS
  6. OpenNews: Кон Коливас представил BFS, новый планировщик задач для Linux ядра
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/33070-bld
Ключевые слова: bld, linux, kernel, scheduler
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (69) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, GG (ok), 14:15, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Не прошло и пяти лет
     
  • 1.2, arcade (ok), 14:16, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Интересно, а оно будет корректно избегать распределения задач на HT суб-ядра при отсутвии максимальной нагрузки?
     
     
  • 2.4, pavlinux (ok), 14:20, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Все нормальные в Linux отрубают ХыперТрыйдинг
     
     
  • 3.7, Аноним (-), 14:21, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А что оно дает?
     
     
  • 4.10, pavlinux (ok), 14:26, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > А что оно дает?

    А я откуда знаю, это вы его включаете. :)

     
     
  • 5.48, Аноним (-), 15:58, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> А что оно дает?
    > А я откуда знаю, это вы его включаете. :)

    Оно может дать процентов 20 бонуса на сильно многопоточных вычислениях. А может и не дать. Потенциально позволяет поплотнее загрузить блоки выполнения за декодерами. Фэйк? Фэйк, 20% от ядра никак не тянет на честное ядро.  Ну так вон у бульдозера и отключать как-то нечего - там 8 ядер тоже фэйковые. Реально оно себя ведет примерно как 6-ядерник на целочисленных операциях. АМДшники тоже у интела научились этому читерству. Ага, чтобы вывесить фэйковое как-бы-ядро-х86, совсем не обязательно реализовывать полный набор всех блоков за декодером ;)

     
     
  • 6.58, pro100master (ok), 16:29, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Фэйк, 20% от ядра никак не тянет на честное ядро.

    откуда 20%? Ванда нашептала? :) mov [addr], eax; jmp [addr]; и ваше 100%-е ядро будет 100 тактов 100% свободным, и это, если КП сейчас хоть сколько нибудь свободен. Это если по памяти. Если по софту, то тут спецы пытаются сделать ровной загрузку и выполнение 4-х инструкций за такт (до коре1 было 3), а вы про обычный софт :))) 7-zip выдаёт от 50 до почти 100% прирост скорости от НТ на некоторых данных.

     
     
  • 7.60, Аноним (-), 16:48, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > 7-zip выдаёт от 50 до почти 100% прирост скорости от НТ на некоторых данных.

    А на всех остальных - 20-50% торможение от HT.

     
     
  • 8.85, fidaj (ok), 18:44, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    а это уже как раз от неправильной работы планировщика, который ни в зуб ногой не... текст свёрнут, показать
     
     
  • 9.102, Аноним (-), 16:14, 14/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Хм, разве в современных ядрах планировщик не HT aware Есть же такая опция вроде... текст свёрнут, показать
     
  • 8.90, pro100master (ok), 20:23, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    удивительно, но когда у вас тормозит , 50 транзисторов простаивают Впрочем, н... текст свёрнут, показать
     
     
  • 9.94, Аноним (-), 00:21, 14/02/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Спасибо гипертрейдингу за это ... текст свёрнут, показать
     
  • 8.100, Shifty (?), 11:57, 14/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Торможение становится проблемой в неоптимизированных под НТ играх В остальном не... текст свёрнут, показать
     
  • 7.96, Аноним (-), 04:04, 14/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Насколько я понимаю, цель этой пляски с бубном - показать софту больше ядер чтоб... большой текст свёрнут, показать
     
  • 4.12, Ваня (??), 14:37, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • –11 +/
    Без НТ у каждого процессора по 1 набору регистров, с использованием НТ - по 2 набора, в результате ОС определяет его как 2 процессора. Процессор редко загружен на 100%, в даже на 100% загруженном процессоре есть простои, и НТ позволяет использовать это для извлечения дополнительной вычислительной мощности. На слабых процессорах или при невысокой загрузке удвоение числа ядер приводит к повышению отзывчивости и более плавной работе.
     
     
  • 5.14, pavlinux (ok), 14:45, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > Без НТ у каждого процессора по 1 набору регистров, с использованием НТ - по 2 набора,

    Регистры из воздуха возникают?
    Вано, там как не тужся, вход и выход в и из Гипертрубы все равно один. :)


     
     
     
    Часть нити удалена модератором

  • 7.22, ВКПб (?), 15:01, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Гипертрединг позволяет одновременно разным потокам обрабатывать раздельно float и integer операции. Например это поможет при конвертировании видео, где аудио целочисленная математика, а видео - математика с запятой. А вот если все потоки только float либо только integer, то поймаешь тормоза, что и видно на линпаке.
     
     
  • 8.26, pavlinux (ok), 15:07, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну почти угадал А в общем - софт для HT, как и для любой параллелезации, над... текст свёрнут, показать
     
     
  • 9.30, ВКПб (?), 15:11, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Да ладно, обычно замедляется не сильнее чем на 2-3 , бывают конечно редкие исклю... текст свёрнут, показать
     
  • 8.28, Ваня (??), 15:08, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • –8 +/
    Вики, цитата 1 Эта технология увеличивает производительность процессора при опр... большой текст свёрнут, показать
     
     
  • 9.35, pavlinux (ok), 15:23, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    На википедии как и на заборе написано й, а там даже дров нет Физически у ка... текст свёрнут, показать
     
     
  • 10.37, Ваня (??), 15:26, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Как и в спеках Интела ... текст свёрнут, показать
     
     
  • 11.41, pavlinux (ok), 15:34, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ладно, Вано, думай чё хошь, а из-за HT в Linux тормоза Мне не веришь, порой ине... текст свёрнут, показать
     
     
  • 12.46, Аноним (-), 15:42, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Не только в Linux ... текст свёрнут, показать
     
  • 12.56, Аноним (-), 16:14, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Да нет там никаких особых тормозов Просто фич довольно читерский Сам по себе ... текст свёрнут, показать
     
     
  • 13.69, Ваня (??), 17:17, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Нда На 5-тонный грузовик грузить 5 тонн это жуткое читерство ... текст свёрнут, показать
     
     
  • 14.78, Аноним (-), 18:00, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, читерство - это пытаться загрузить на 5-тонный грузовик 10 тонн Стоя на ме... текст свёрнут, показать
     
     
  • 15.82, Ваня (??), 18:11, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Где Расписываю работу проца на пальцах стоит человек, ему во входной лоток л... большой текст свёрнут, показать
     
  • 10.42, x0r (??), 15:35, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    HT второй аппаратный набор регистров, переключение контекста должно проходить ... текст свёрнут, показать
     
     
  • 11.47, pavlinux (ok), 15:45, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Да нет там набора, HT это тот же планировщик, тока в проце, работает по принцип... текст свёрнут, показать
     
     
  • 12.51, Аноним (-), 16:06, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    HT - это всего лишь абстракция, позволяющая чуть поплотнее прогрузить блоки выпо... текст свёрнут, показать
     
  • 9.86, ВКПб (?), 18:51, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Но так твоя педевикия и подтверждает мои слова, читай внимательно Хотя что толк... текст свёрнут, показать
     
  • 3.36, СуперАноним (?), 15:23, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Все нормальные в Linux отрубают ХыперТрыйдинг

    А что, в AMD A4, A6 действительно на каждое реальное ядро по два квазиядра?

     
     
  • 4.40, arcade (ok), 15:32, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>Все нормальные в Linux отрубают ХыперТрыйдинг
    > А что, в AMD A4, A6 действительно на каждое реальное ядро по
    > два квазиядра?

    Там эти же тапки, но абсолютно в другой профиль, например если случае 2 x 2 (2 physical x 2 logical) с Intel оптимальная стратегия использования это брать только реальные ядра, то в случае с AMD c точностью до наоборот, поскольку реальных задержек в работе квазиядер с какой-то там высокой точностью нет, то когда мы грузим всё на два ядра первого модуля второй модуль может вырубиться совсем а первый перейдёт в режим Turbo Core с повышенной частотой. И вместо проседания производительности как на HT мы получим прирост.

     
  • 4.43, Ваня (??), 15:35, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Ядро одно, два набора регистров. Это чем-то похоже на функцию (ядро), в которую можно передать разные данные (набор регистров), но код функции от этого не поменяется.

    Про наличие/отсутствие функций лучше уточнять на сайте производителя по каждой конкретной модели.

     
     
  • 5.74, ВКПб (?), 17:36, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ты хоть понимаешь, что опять пишешь? AMD A6 это обыкновенный K10 о встроенным GPU. Вот тебя и поймали в 100500-й раз. Лучше про HT продолжай копировать цытаты которые ты даже не понимаешь.
     
  • 3.38, Аноним (-), 15:27, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Все нормальные в Linux отрубают ХыперТрыйдинг

    Да нормальные его везде отрубают, не только в линаксе.

     
  • 3.84, fidaj (ok), 18:42, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    и ловят падение производительности при некоторых типах задач...
     
  • 3.88, Аноним (-), 19:11, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А я наоборот - включаю. У /me в любимой генточке компиляние идет куды как быстрее, разница, как говориццо, дана в ощущениях. Без всяких бенчей, чисто визуально. Ну а в каком-нить дебиане или красношапке от НТ может и вправду нет толку. Да и хрен бы с ними, се есть отрада некрофилов, не более.
     
     
  • 4.103, Аноним (-), 16:17, 14/02/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    i7 и атом - некрофилия? Ну-ну...
     
  • 2.32, Аноним (-), 15:20, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Интересно, а оно будет корректно избегать распределения задач на HT суб-ядра при
    > отсутвии максимальной нагрузки?

    А зачем? HT он на то и нужен, чтобы неэффективно ресурсы распределять.

     

  • 1.3, pavlinux (ok), 14:19, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    > При этом на BLD ложится задача по вычислению
    > нагрузки в каждой очереди и перегруппировки
    > очередей в соответствии с вычисленной нагрузкой.

    Вас тут не стояло, перейдите в конец соседней!!!

     
     
  • 2.53, Аноним (-), 16:08, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Вас тут не стояло, перейдите в конец соседней!!!

    Так если она короче - почему бы и нет? :)

     

  • 1.5, Аноним (5), 14:20, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если будет реальный выигрыш, то почему бы и нет.
     
  • 1.6, Аноним (-), 14:21, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень скудно написано. Чем оно лучше того же BFS? Где сравнительные данные?
     
     
  • 2.8, Аноним (-), 14:24, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Очень скудно написано. Чем оно лучше того же BFS? Где сравнительные данные?

    Там же сказано: есть только проект концепции прототипа. Нечего еще сравнивать.

     
  • 2.9, pavlinux (ok), 14:24, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ...пой читаешь?

    > ... проводить сравнения производительности пока рано,
    >   прототип пока нацелен на обкатку базовых принципов.

     

  • 1.11, Нанобот (?), 14:35, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    >показывает хорошую производительность для таких типов нагрузки, как сборка ядра из исходных текстов

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

     
     
  • 2.13, pavlinux (ok), 14:38, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Примеры более стабильных тестов, в студию?!
    Которыми пользуются все.
    Которые работаю везде.
    Которые не используют внешние библиотеки и зависимости.
    Результаты которых, только по одному названию можно
    интерпретировать для своей машины, даже не проводя тестов.

      

     
     
  • 3.18, arcade (ok), 14:55, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Компиляция ядра + cpuburn(n+1) + тест хождения в базу через веб сервер.

    Компиляция порождает кучу мелких быстроживущих процессов, cpuburn в случае неправильной организации перераспределения приоритетов быстро и с удовольствием отодвинет все остальные процессы а база/вебсервер превосходно покажут остаточную интерактивность.

    Хороший планировщик должен не просто разгрести эту сракофонию, он должен убедиться что все процессы и в том числе cpuburn получают одинаковый пенальт, а не по степени неудачности как сейчас на Фре в SCHED_ULE. Вот свежие патчи Мотина вселяют оптимизм.

     
     
  • 4.34, pavlinux (ok), 15:21, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Компиляция ядра + cpuburn(n+1) + тест хождения в базу через веб сервер.

    Ну это все нагромождение, из-за которой теряется однозначность.
    У сборки ядра, средняя погрешность не более 2%

     
     
  • 5.59, arcade (ok), 16:38, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> Компиляция ядра + cpuburn(n+1) + тест хождения в базу через веб сервер.
    > Ну это все нагромождение, из-за которой теряется однозначность.
    > У сборки ядра, средняя погрешность не более 2%

    Сборка ядра никак не тестирует affinity и заполненость очередей. Может всё вышесказанное и нагромождение, но при тестировании шедулера только на компиляции он в вычислительных задачах будет плавать.

     

  • 1.50, iZEN (ok), 16:02, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Для пояснения сути нового алгоритма приведена аналогия с парикмахерской в которой менеджер (планировщик задач) выстраивает клиентов (процессы) в несколько очередей (runqueue) к парикмахерам (CPU), с учётом загруженности парикмахеров организуя очередь так, чтобы клиенту пришлось ждать как можно меньше времени.

    Ни разу не был в такой парикмахерской.

    Обычно в парикмахерских два зала: мужской и женский. И очереди, соответственно, только две: в мужской зал (пул мужских парикмахеров) и в женский (пул женских парикмахеров). Клиент парикмахерской встаёт в одну из очередей и ждёт своей очереди на обслуживание. Бывают небольшие парикмахерские, в которых универсальные парикмахеры и одна общая очередь, где все в очереди ждут пока освободится парикмахер.

     
     
  • 2.64, Аноним (-), 16:56, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ни разу не был в такой парикмахерской.
    > Обычно в парикмахерских два зала: мужской и женский. И очереди, соответственно, только
    > две: в мужской зал (пул мужских парикмахеров) и в женский (пул
    > женских парикмахеров). Клиент парикмахерской встаёт в одну из очередей и ждёт
    > своей очереди на обслуживание. Бывают небольшие парикмахерские, в которых универсальные
    > парикмахеры и одна общая очередь, где все в очереди ждут пока
    > освободится парикмахер.

    Это у вас CFS-парикмахерская :)

     
  • 2.76, Ваня (??), 17:41, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    @@:
    lock btc [mutex]
    jnc @b

    ; выбрать поток для выполнения

    lock btr [mutex]

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

     
     
  • 3.97, Аноним (-), 04:06, 14/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    cli ; eat this, nut!
     
     
  • 4.101, Ваня (ok), 14:58, 14/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем Проблема не в прерывании, которое вмешается, а в том что мутекс один на 2... большой текст свёрнут, показать
     
     
  • 5.107, Аноним (-), 02:13, 18/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Зачем? Проблема не в прерывании, которое вмешается,

    Специально для Вани лучше сразу делать как-то так:
    cli
    hlt

     

  • 1.91, ZeroOne (ok), 21:58, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если алгоритм так просто, то возникает вопрос (задам последовав аналогии про парикмахерской) - учитывается ли то, что за человек пришёл (процесс обрабатывается)? К примеру, он может иметь длинные волосы, может прямые, может густые (разные по сложности выполнения), может иметь густые волосы, а может редкие (количество подключаемых библиотек).
    Я думаю такие параметры весьма и весьма важны.
     
     
  • 2.92, Аноним (-), 22:04, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > - учитывается ли то, что за человек пришёл (процесс обрабатывается)? К
    > примеру, он может иметь длинные волосы, может прямые, может густые (разные
    >  по сложности выполнения), может иметь густые волосы, а может редкие (количество подключаемых библиотек).

    Процессору без разницы какой кусок инструкций выполнить в заданный квант времени. По аналогии с парикмахерской парикмахер отстригает небольшой пучок волос и опять отправляет посетителя в очередь. Если посетитель важный то он может застолбить больше мест в очереди и таким образом его подстригут быстрее :-)

     
     
  • 3.93, arisu (ok), 22:36, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Процессору без разницы какой кусок инструкций выполнить в заданный квант времени.

    кстати, нет. но учитывать в шедулере ещё и это — мегаоверкил.

     

  • 1.98, ram_scan (?), 07:10, 14/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Такое очучение что все кто эти планировщики пишут о теории массового обслуживания ни ухом ни рылом. Обсасывается на 4 курсе практически любого технического ВУЗа тема эта. И все давным давно открыто и переоткрыто.
     
     
  • 2.99, Аноним (-), 11:50, 14/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Такое очучение что все кто эти планировщики пишут о теории массового обслуживания
    > ни ухом ни рылом. Обсасывается на 4 курсе практически любого технического
    > ВУЗа тема эта. И все давным давно открыто и переоткрыто.

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

     
     
  • 3.104, nuclight (ok), 00:36, 18/02/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Такое очучение что все кто эти планировщики пишут о теории массового обслуживания
    >> ни ухом ни рылом. Обсасывается на 4 курсе практически любого технического
    >> ВУЗа тема эта. И все давным давно открыто и переоткрыто.
    > Проблема в том, что это _теория_ массового обслуживания, которая более-менее работает в
    > идеальных условиях. В планировщике задач нужно учитывать кучу нюансов и подводных
    > камней, что сводит на нет все теоретические измышления.

    Чувак, ты удивишься, но в науке _всё_ - теории. Что никак не мешает им работать на практике у тех, кто осилил и учёл.

     
     
  • 4.105, Anon100500 (?), 01:53, 18/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кого-то вы мне напомнили. Ааа, моего препода по базам данных. Вот он тоже всегда толкает про науку и математику (RA, Datalog, BCNF, 4NF и проч.). ИЧСХ он ни ДНЯ не работал по специальности и не сделал ни одного реального проекта. И ему тоже невдомёк, что в реальной жизни срать хотели на нормализацию. Есть ещё такие вещи как простота поддержки, простота работы, оптимизации.
     
     
  • 5.106, arisu (ok), 01:57, 18/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    так это ж сферический нуклайт в вакууме, он всегда такой.
     
     
  • 6.108, Аноним (-), 02:16, 18/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > так это ж сферический нуклайт в вакууме, он всегда такой.

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

     
  • 4.109, Аноним (-), 02:19, 18/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Сферический двигатель Венкеля тоже по науке заруливает всех, но вот что-то я не вижу серийных автомобилей с ним, а знаете почему? Его очень сложно сделать, имеет маленький ресурс, сложно обслуживать и чинить. Поэтому никто не заморачиваеться и ставят рядную четвёрку или V6.
     
     
  • 5.110, Аноним (-), 04:01, 18/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Сферический двигатель Венкеля тоже по науке заруливает всех, но вот что-то я
    > не вижу серийных автомобилей с ним, а знаете почему? Его очень
    > сложно сделать, имеет маленький ресурс, сложно обслуживать и чинить. Поэтому никто
    > не заморачиваеться и ставят рядную четвёрку или V6.

    Ну вот вся бсда так и выглядит. Вон они делали generic подсистему журналирования. Так чтобы "для всех ФС - одним махом". Правда, "все ФС" оказались аж целым UFSом, древним и бестолковым, так что только выкрасить и выбросить. Есть еще ZFS, но тот реализует совсем другую механику и его эти приседания не интересуют. Отличная логика развития, как раз в таком духе.

     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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