Intel переписала MM CID это дало прирост производительности до 18%

Intel снова вмешалась в код ядра Linux и похоже, не зря. Новые патчи, которые они выкатили на этой неделе, уже успели вызвать оживление в технокругах. Первые тесты показывают, что базы данных, в частности PostgreSQL, стали работать до 18 % быстрее. И это не какой-то маркетинговый трюк. Тут реально ковырялись в ядре. В тех участках, где обычно лучше ничего не трогать, без святой воды и трёх резервных копий.

Intel
Intel

Что там вообще происходит?

Если отбросить сложные термины и объяснить «на пальцах», инженеры Intel решили улучшить подсистему управления памятью в Linux. Это тот самый механизм, который следит, кто, когда и сколько памяти получил. Это требуется для того чтоб система не упала в кому, когда все процессы дружно решат «а давай-ка я возьму побольше».

Данную доработку запустил Томас Глейкснер это человек, который давно крутится в мире Linux. Он работает в Linutronix (да-да, это компания, принадлежащая Intel), и, похоже, именно там решили, что пора расчистить старые залежи в коде ядра. В итоге появилось 19 патчей это целая серия правок, переписывающих кусок под названием MM CID (Memory Management Concurrency ID). На первый взгляд страшно, но суть проста: система теперь умнее распределяет память между потоками и задачами.

Ладно, а что это даёт «на земле»?

Тут самое интересное. По данным первых тестов, PostgreSQL популярная база данных, которая крутится у половины интернета, ускорилась на 14 %, а в некоторых случаях даже на 18 %. Это уже не «мелочь приятная», а очень ощутимая прибавка. Особенно если у вас сервер обрабатывает миллионы запросов в день. От этого экономия процессорного времени превращается в реальные деньги.

Производительность PostgreSQL с sysbench повышается на 14 %
Производительность PostgreSQL с sysbench повышается на 14 %

И это ещё не всё. В микротестах, где меряют не производительность всей системы, а конкретные операции. Например, создание и уничтожение потоков прирост составил аж 30 %. И это уже можно назвать турборежимом.

В микротесте на создание и уничтожение потоков производительность улучшилась на 30 %
В микротесте на создание и уничтожение потоков производительность улучшилась на 30 %

Звучит круто. Но где подвох?

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

Сам Глейкснер честно признаётся: «мы ищем дополнительные данные, чтобы выявить другие возможные улучшения или проблемные места». Что, по сути, переводится как «подождите немного, мы ещё не всё протестировали». Впрочем, если судить по опыту, у Intel хватает ресурсов и инженеров, чтобы довести идею до ума.

Почему вообще Intel этим занялась?

Ну, во-первых, потому что им это выгодно. Современные процессоры Intel активно используются в серверах, а Linux это львиная часть большинства дата-центров. Чем быстрее работает Linux, тем лучше показывают себя процессоры Intel. Тем больше иъ покупают. Выгода обоюдная.

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

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

Что получит обычный пользователь

Если вы не администрируете сервер и не гоняете PostgreSQL, скорее всего, вы вообще ничего не заметите. Но вот если у вас Linux стоит на рабочем сервере, где база данных крутится под нагрузкой, то разница будет очень даже ощутима. Особенно на системах с большим количеством потоков. Например, Xeon на 32 ядра, где каждый процент производительности имеет значение.

А теперь представьте, что те же 14–18 % ускорения можно получить просто установкой ядра с новыми патчами, без покупки нового процессора. Это почти как «бесплатное обновление мощности», и кто от такого откажется?

Технический взгляд (чуть глубже, но без фанатизма)

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

Теперь всё это работает аккуратнее. Меньше лишних переключений контекста, меньше коллизий, лучше использование кэша. И да, на уровне кода это выглядит как пара десятков тысяч строк изменений, но в итоге меньше «трения» между процессами. Всё просто: чем меньше ядро отвлекается на мелочи, тем больше ресурсов остаётся для реальной работы.

Будет ли это в обычных дистрибутивах?

Скорее всего, да. Но думаю не сразу. Пока патчи находятся на стадии обсуждения и тестирования в рассылке разработчиков ядра. Обычно проходит несколько недель (а то и месяцев), прежде чем такие обновления принимают в основную ветку Linux. Так что до Ubuntu, Fedora или Debian они доберутся чуть позже.

Тем не менее, если вы любите жить на острие технологий и не боитесь пересобрать ядро вручную, тогда можете уже сейчас скачать патчи и попробовать. Глейкснер выложил их в открытом доступе, и никто не мешает протестировать новинки на своих системах. Только не забудьте сделать бэкап. Серьёзно. Любая ошибка на уровне ядра может превратить систему в кирпич быстрее, чем вы успеете сказать «sudo reboot».

Вместо заключения

Честно говоря, я люблю такие истории. Когда крупная компания вроде Intel не просто продает железо, а реально улучшает софт, которым пользуются миллионы людей. Да, патчи ещё сырые, да, не всё протестировано, но направление верное: быстрее, стабильнее, эффективнее.

И если это только начало, то через год-два мы можем увидеть Linux, который не просто догоняет Windows по удобству, но и превосходит по скорости в реальных задачах. А пока остаётся наблюдать, тестировать и, конечно, обсуждать. Ведь без комьюнити Linux не был бы тем, чем он является: системой, созданной не корпорацией, а людьми, которые не могут пройти мимо строчки кода, написанной «не так».

Понравилась статья?

Помогите Setiwik.ru создавать больше глубоких обзоров и новостей. Один клик — и ваш вклад помогает держать серверы включёнными и авторов мотивированными!

Спасибо, что вы с нами!

Nazario
Nazario

Я — Nazario, тот самый человек, который больше десяти лет ковыряется в Linux и Windows системах не ради хобби, а потому что это — работа и жизнь. Всё, что вы читаете на Setiwik.ru, — это не пересказ справки из мануала, а результат десятков реальных кейсов, выстраданных конфигов и ночных перезагрузок.

Я не претендую на истину в последней инстанции. Но если мой опыт может кому-то упростить работу — значит, всё это не зря. Здесь нет «магии», только практика: от настроек сервера до неожиданных багов, которые не гуглятся с первого раза.

Setiwik.ru — это место, где IT становится чуть менее хаотичным. Заходите почаще — будем разбираться вместе.

Добавить комментарий

  1. Bori

    Ну интел хочет больше продаж вот и ковыряет ядро linux. Если бы все так делали то я согласен что Linux бы уже давно обогнал windows. Но Win всех держит только из-за игр и пиратки :) если нельзя будет пирать на win и играть то она быстро загнется.

    На линуксе очень сложно пиратить :) весь софт либо free либо 100% покупать…

    Ответить