Компания Red Hat поделилась планами, касающимися Linux-ядра в RHEL 6
6 мая 2010 года
На сайте компании Red Hat опубликован обзор планов по подготовке Linux-ядра для будущего релиза Red Hat Enterprise Linux 6. Как известно, ядро из состава RHEL сильно отличается от базового ядра, например, число добавленных и бэкпортированых патчей для ядра 2.6.18 из состава RHEL 5 соизмеримо с размером стандартного ядра 2.6.18: в состав пакета с ядром входит около 4 тыс. патчей, суммарный размер которых превышает 130 Мб.
Подготовка ядра для промышленного дистрибутива не такая простая задача, в стандартном ядре постоянно ведется разработка каких-то новшеств, не все из которых отвечают промышленным стандартам качества, кроме того, реализация некоторых новых систем имеет долгосрочную перспективу и часто не добавляется целиком после готовности, а разделяется на этапы, размытые на несколько релизов. В качестве примера приводится инициатива по увеличению отзывчивости ядра при выполнении задач реального времени, постепенно развиваемая от версии к версии.
Поэтому задача подготовки ядра для RHEL сводится к выбору оптимального баланса, сочетающего:
- Включение зрелой промышленной функциональности;
- Включение скрытых возможностей, добавленных с расчетом на будущее, например, элементы повышения масштабируемости для аппаратных систем, которые возможно получат распространение только через несколько лет;
- Отключение компонентов, которые не имеют отношения или еще не готовы для промышленных систем.
В состав первой бета-версии RHEL 6 входило ядро 2.6.32, но на самом деле номер версии пакета с ядром носит условный характер, его содержимое мало связано с содержимым аналогичной "ванильной" версии, например, в настоящий момент в ядре RHEL6 больше от ядра 2.6.34, чем от 2.6.32. В будущем перенос новых возможностей из основной ветки ядра будет продолжен и ядро из состава RHEL будет постоянно поддерживаться в актуальном состоянии, в него будет добавляться поддержка нового оборудования и код новых подсистем.
При этом важным моментом является гарантированная неизменность ABI-интерфейса ядра на всем протяжении семилетнего жизненного цикла дистрибутива, как с точки зрения стабильности системных вызовов, так и с позиции интерфейса для драйверов устройств. Например, релиз RHEL 4 (RHEL 5) был выпущен в 2005 году (2007 г.), добавление поддержки нового оборудования в ядро производилось до 2009 года (2011 г.), а выпуск обновлений с исправлением ошибок продлится до 2012 года (2014 г.).
Из новшеств, которые планируется реализовать в ядре для RHEL 6, но которые ранее отсутствовали в RHEL 5, можно отметить:
- Cgroups (Control Groups). Группы контроля позволяют организовать тонкий контроль за распределением и управлением ресурсами аппаратного обеспечения. Cgroups работают на уровне групп процессов и позволяют управлять доступом к ресурсам процессора, памяти, пропускной способности сетевых интерфейсов и дисковой подсистемы ввода/вывода. Cgroups также позволяет определить ограничения для гостевых операционных системы при их виртуализации.
- Улучшение поддержки Realtime: многие наработки по обеспечению гарантированного и предсказуемого времени выполнения задач, ранее представленные в рамках продукта Red Hat Enterprise MRG Realtime, будут интегрированы в основное ядро дистрибутива;
- Управление питанием. Из возможностей, связанных с управлением питанием отмечается tickless-режим, позволяющий ядру динамически менять интенсивность генерации прерываний таймера, что увеличивает время нахождения процессора в состоянии с пониженным энергопотреблением, как следствие процессор меньше нагревается и уменьшаются расходы на электроэнергию.
- Виртуализация. В код по поддержке работы ядра в гостевом окружении будет добавлена серия оптимизаций, направленных на увеличение производительности ввода/вывода, на уменьшение потребления памяти и поддержку виртуализированных аппаратных устройств. Данные нововведения позволят организовать прямое обращение к аппаратным устройствам из гостевой ОС, без траты ресурсов на трансляцию запросов через гипервизор, увеличат производительность при обращении к большим наборам страниц памяти.
- Поддержка менеджера памяти KSM ("Kernel Samepage Merging"), определяющего факты использования разными процессами идентичных по содержанию областей памяти и производящего их объединение в один блок. Особенно эффективна данная система для систем виртуализации, в которых наблюдается больше дублирование данных в памяти (данные типовых ОС или просто забитые нулями области), через совместное использование одинаковых блоков в разных виртуальных окружениях можно высвободить существенное количество памяти.
- Переключение видеорежимов на уровне ядра - KMS (Kernel Mode Setting), позволяет увеличить производительность графической подсистемы, добиться бесшовной загрузки, избежать скачков и мерцания при переключении видеорежима, обеспечить работу нескольких мониторов и проекторов, решить проблемы с переходом в спящий режим.
- Масштабируемость: ядро RHEL 6 будет поддерживать новейшие конфигурации систем с большим количеством процессоров, огромным объемом памяти и наличием большого количества связанных шин и периферии. Так как уже сегодня можно приобрести сервер с 64 CPU и 2 Тб ОЗУ, задел в масштабируемость делается с запасом, сделанным с расчетом на будущее развитие индустрии в течение ближайших 5 лет.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.