Компания 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 лет.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Компания Red Hat поделилась планами, касающимися Linux-ядра в RHEL 6», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.