Linux 6.9 обеспечит более быструю загрузку на больших системах с большим количеством оперативной памяти.

Такс, талисман ядра Linux

Ядро Linux является основой операционных систем (ОС) Linux и основным интерфейсом между аппаратным обеспечением компьютера и его процессами.

Несколько дней назад Делимся здесь, в блоге, новостью об одном из изменений. Что мы можем найти при запуске ядра Linux 6.9, который сейчас находится в разработке и уже стало известно о различных изменениях и мы объявили, что EXT2 уже перешёл в категорию устаревших, а также что использование старого драйвера NTFS будет оставлено в пользу драйвер, разработанный Paragon Software.

Сейчас в последних новостях о новых возможностях, которые нам представит Linux 6.9, заключается в том, что Эта версия ядра значительно улучшит время запуска. для пользователей, управляющих системами с большим объемом оперативной памяти, особенно теми, которые Они используют страницы HugeTLB. Это приводит к значительному сокращению времени, необходимого для инициализации этих страниц во время процесса загрузки системы.

Теме статьи:
Paragon выпустила реализацию NTFS для ядра Linux

И изменение, добавленное в Linux 6.9. позволит системам с большим количеством страниц HugeTLB добиться заметного снижения во время начала. Например, в системах емкостью 2 ТБ, где инициализировано 1800 страниц по 1 ГБ, что в настоящее время они занимают от 1 до 2 секунд из 10 секунд., что, несомненно, является значительным улучшением в наше время. Аналогичным образом, на хостах Intel емкостью 12 ТБ, где инициализируется 11 776 страниц по 1 ГБ, что может занять более минуты, вы увидите значительное сокращение времени запуска.

Эти достижения стали возможными благодаря самоотверженной работе разработчика Linux Ган Ли из Bytedance, который реализовал серию патчей, прошедших многочисленные проверки для обеспечения эффективной работы. Существующая инфраструктура ядра, такая как padata_do_multithreaded, использовался с минимальными модификациями для достижения этих результатов.

Два обновления в v6…

– Исправлена ​​потенциальная ошибка в Together_bootmem_prealloc_node.
Реализация padata_do_multithreaded гарантирует, что каждый
Задача Together_bootmem_prealloc_node обрабатывает узел. Однако описанный API
в комментарии padata_do_multithreaded указывает, что также padata_do_multithreaded
Вы можете назначить задаче несколько узлов вместе_bootmem_prealloc_node.

Чтобы избежать возможных ошибок из-за будущих изменений в padata_do_multithreaded,
Together_bootmem_prealloc_parallel используется для обертывания
Together_bootmem_prealloc_node.

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

Кроме того, Также стоит упомянуть еще одно изменение. которые были включены в Linux 6.9, который представляет собой патч от опытного инженера Linux из Intel, который представляет улучшенный метод ограничения пропускной способности памяти при обновлениях кэша x86., аналогичный тому, который используется Intel в процессорах RDT и AMD EPYC с кодом resctrl.

Автор патча упоминает, что:

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

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

Чтобы избежать ненужных колебаний ускорения на каждой итерации, используется флаг «delta_comp», чтобы указать фактические изменения пропускной способности, которые будут записаны на следующей итерации в «delta_bw». Регулирование уменьшается только в том случае, если текущая пропускная способность плюс delta_bw ниже целевого значения пользователя.

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

Если вы интересно узнать об этом больше, вы можете ознакомиться с подробностями по следующим ссылкам: