Русский
Русский
English
Статистика
Реклама

Microsoft оптимизирует ядро Linux для серверных ARM



На конференции Linux Plumbers Conference 2020 разработчики Microsoft рассказали о своем экспериментальном проекте оптимизации ядра Linux для серверных ARM-процессоров. С докладом выступил главный менеджер по разработке программного обеспечения Ян Бирман.

По словам специалиста, проект стартовал по внутреннему запросу компании. Linux уже используется в проектах Azure Cloud, Azure Sphere и Windows Subsystem for Linux. Перед командой Бирмана поставили задачу максимизировать производительность облачного сервиса на Linux при использовании процессоров с архитектурой ARM или x86 с 64-битной разрядностью. Разработчикам позволили скомпилировать ядро для операционной системы с собственными параметрами и флагами.



Исходный дистрибутив Ubuntu 19.10 с предустановленными GCC 9.2.1, binutils 2.33 и kernel 5.3. Процессор сервера 64-битный ARM Marvell Thunder X2. После мозгового штурма команда решила использовать оптимизацию LTO и PGO для сборки ядра.



Оптимизация профилирования (PGO или FDO) и оптимизация времени связи (LTO или LTCG) существенно замедляют процесс сборки и требует больше оперативной памяти для работы компилятора, но в теории дают прирост скорости выполнения команд на 10-20%. PGO редко используется разработчиками, а LTO не так давно стала применяться для сборки ядер и других пакетов. Ранее разработчики опасались использовать оптимизацию времени связи из-за проблем совместимости в компиляторах GCC и LLVM. Команда Бирмана обратилась за помощью к опытному разработчику ядра Linux Энди Клину, который выпустил патч для корректной работы LTO с ARM-процессорами. Чтобы заставить работать PGO, разработчики изучили документацию и методом проб и ошибок добились стабильной работы.



Завершив сборку ядра, команда протестировала производительность на резидентной системе управления базами данных класса NoSQL с открытым исходным кодом redis. После выполнения различных команд разработчики отчитались о приросте скорости выполнения команд на 5-20%. Данные получены из внутреннего бенчмарк теста redis.





Кстати, не так давно Microsoft выпустила обновление KB4566116 для Windows 10. Апдейт добавляет в 1909 и 1903 версии ОС поддержку подсистемы Windows Subsystem for Linux 2 (WSL 2). Это дает возможность использовать полноценное ядро Linux. Оно в WSL2 не является частью Windows по умолчанию, а загружается динамически и обновляется посредством встроенных в ОС инструментов.
Источник: habr.com
К списку статей
Опубликовано: 31.08.2020 16:23:29
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании selectel

Процессоры

Разработка под linux

Софт

Linux

Microsoft

Arm

Разработка

Оптимизация ядра

Категории

Последние комментарии

  • Имя: Murshin
    13.06.2024 | 14:01
    Нейросеть-это мозг вселенной.Если к ней подключиться,то можно получить все знания,накопленные Вселенной,но этому препятствуют аннуннаки.Аннуннаки нас от неё отгородили,установив в головах барьер. Подр Подробнее..
  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru