Почему планировщики BFQ и BFS не включены в официальное ядро ​​Ubuntu?


24

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

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

Оба планировщика включены в многочисленные наборы патчей и альтернативные ядра, которые, как известно, повышают интерактивность и производительность рабочего стола (например, linux-pf , liquorix-kernel и linux-ck ).

Итак, мой вопрос : учитывая то, как Ubuntu стремится к отличному рабочему столу, почему несерверные сборки ОС не поставляются с этими планировщиками, когда доказано, что они лучше с точки зрения интерактивной производительности?


Более подробную информацию о двух планировщиках можно найти здесь:


1
Аббревиатура BFS, а не BFQ, верно? Или это здесь интенсивно?
Jobin

@ Jobin Ой, ты прав. BFS - это планировщик процессов, и он включен в набор патчей linux-ck, как и BFQ. Я отредактирую вопрос, чтобы отразить это.
Glutanimate

Есть ли тесты с заметным приростом производительности BFS по сравнению с планировщиком Ubuntu по умолчанию Deadline? Связанные тесты сравнивают только с CFQ
NGRhodes

1
@NGRhodes Да, в этом сравнении вы можете видеть, что авторы достигли примерно одинаковой пропускной способности между BFQ и крайним сроком, при этом удалось сократить время запуска приложений при последовательной загрузке диска на один порядок (с BFQ, то есть). Подобные сравнения вы найдете в первой статье, указанной выше.
Glutanimate

3
Почему бы вам не попытаться предложить это на ubuntu-devel-обсудить ?
Андреа Корбеллини

Ответы:


14

Быстрый ответ :

  1. Оба планировщика не работают вообще или работают хорошо для всех поддерживаемых платформ Linux (частота, архитектура, потребление ресурсов, ...)
  2. Похоже, что Торвальдс просто не хочет поддерживать более одного планировщика

Пояснения:

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

Они еще совсем молоды. Лучший пример - это то, что объясняется в разделе часто задаваемых вопросов BFS на тему «Насколько это масштабируемо?».

В этой части говорится, что у BFS проблемы с производительностью, когда у вас много логических процессоров. Эта единая точка применяется для серверов и высокопроизводительных ПК (указано число 16, поэтому это означает, что простой сервер за 1000 долларов США будет иметь проблемы с производительностью). Таким образом, вы исключаете Ubuntu Server из этого патча, вы также исключаете физические двухпроцессорные конфигурации, которые теперь легко достигают этого числа.

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

Как всегда, со многими "если" ...

  • Если каждый пользователь Ubuntu является настольным пользователем
  • Если все машины каждого пользователя Ubuntu являются правильными ПК для планировщиков

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

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

Дополнительные источники:

Ссылка не может оставаться вечной, вот статья, которую я нашел о BFS на h-online . Это самый официальный, который я нашел. Однако , если вы Google трудно , вы можете найти реальное утверждение. Я думаю, что это может быть на kerneltrap.

Смотрите третий абзац названия статьи Феникс. Я приведу это здесь в случае, если ссылка умирает:

В настоящее время интеграция BFS в основную ветку разработки Linux кажется маловероятной, поскольку Линус Торвальдс уже дал понять, что не хочет поддерживать несколько планировщиков. Кроме того, дистрибьюторы Linux, как правило, предпочитают образ единого ядра, который обеспечивает оптимальную производительность в самых разных системах без специальной настройки. Может случиться так, что разработчики CFS улучшат свой планировщик в областях, охватываемых BFS - бонус для сообщества пользователей.

Линус Торвальдс Нить об этом.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.