Microsoft изучают LTO + PGO для ядра Linux

10.09.2020      24395

Ян Бирман –  менеджер по разработке программного обеспечения в Microsoft –  представил на конференции Linux Plumbers Conference доклад об исследовании профильной оптимизации ядра Linux.

Большинство поставщиков программного обеспечения используют оптимизацию времени компоновки (LTO) и оптимизацию на основе профиля (PGO) для повышения производительности компилятора. Интересной новостью стало то, что инженеры Microsoft изучают LTO + PGO для достижения большей производительности ядра Linux.

История вопроса

Использование оптимизации времени компоновки в ядре Linux не является новой концепцией. Несколько разных поставщиков на протяжении многих лет предлагали исправления LTO для ядра Linux. Но это не давало больших изменений производительности. 

В свое время Линус Торвальдс не нашел существенных преимуществ применения LTO в ядре. В наши дни LTO с современным компилятором GCC уже используется в дистрибутивах openSUSE, а вскоре Fedora будет использовать LTO по умолчанию при сборке своих пакетов. Clear Linux пошли еще дальше, применяя AutoFDO (автоматическая оптимизация с обратной связью) для повышения производительности своего дистрибутива.

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

Microsoft+Linux

Интерес Microsoft к PGO появился из-за «внутреннего запроса клиента» по вопросу производительности Linux. Microsoft активно использует LTO и PGO в Windows с  компилятором MSVC, что улучшает производительность на 5% – 20%.

Работа Microsoft над оптимизацией производительности Linux ведется не первый год. В июне компания представила утилиту ProcMon для мониторинга процессов в Linux, а год назад встроила полноценное ядро Linux в Windows, сделав его частью WSL 2.0 – подсистемы Windows Subsystem for Linux. Кроме того, Microsoft является платиновым членом Linux Foundation.

Для исследования использовались серверные ARM-процессоры Marvell Thunder X3. Marvel сейчас занимается глубокой оптимизацией CPU под нужды конкретных заказчиков и не планирует выпускать «общие» версии.

Перед командой Бирмана стояла задача максимально увеличить производительность облачного сервиса на Linux с архитектурой ARM. Исходным дистрибутивом был Ubuntu 19.10 с предустановленными GCC 9.2.1, binutils 2.33 и kernel 5.3. Ранее разработчики не использовали LTO из-за проблемы совместимости в компиляторах GCC и LLVM. Чтобы ее решить, Энди Клин из Intel написал патч для корректной работы LTO с ARM.

Одним из перспективных сценариев применения LTO и PGO на ARM64 инженеры Microsoft считают повышение производительности в резидентной системе управления базами данных класса NoSQL – Redis.

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

После конференции LPC2020 Microsoft планирует продолжить изучать PGO для ядра Linux.


Автор:
Обозреватель


Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. awk 741 11.09.20 08:36 Сейчас в теме
Ждем Microsoft Linux XP...
2. Darklight 32 11.09.20 09:34 Сейчас в теме
(1)Вполне вероятно, что в будущем Микрософт действительно может выпустить новую ОС (вероятно уже не в семействе Windows), которая в большей степени будет основана на наработка Linux, чем на windows. В этом есть много преимуществ - сейчас Linux ядро доминирует на ARM архитектурах, и иных не x86 архитектурах, и имеет достаточно высокий уровень охвата в профессиональных и специализированных отраслях на x86 архитектуре, особенно в серверной и промышленной (научной) среде. И это не спроста (тут финансовая составляющая не очень существенна, ведь часто такие системы на Linux имеют не дешёвую платную поддержку).

Компания Микрософт не спроста уже встроила ядро Linux в свои современные Windows решения.
Далее возможны два пути:
1. Либо будет продолжаться постепенная гибридизация Windows и Linux - так, что в итоге грань будет окончательно стёрта и на такой гибридной ОС будут одинаково работать и Windiws и Linux приложения (правда в этом случае не удастся достичь наибольшей оптимизации, да и по-прежнему придётся тянуть большой багаж старой совместимости). Пока ОС Windows развивается в таком ключе - вот скоро обещают поддержку GUI Xwindows на Windows ;-)

2. Либо отточив навыки и набравшися опыта на гибридизации. Мелкомягкие возьмутся за разработку новой ОС - уже в большей степени на ядре Linux (но с кучей своих оптимизаций и дополнений). Естественно, встроив хороший эмулятор для поддержки старых приложений для Windows. В этом есть очень много смысла:
- Можно активно ориентироваться на ARM архитектуру - она сейчас в тренде, и вполне может вытеснить x86 архитектуру
- Можно изначально ориентироваться на кросс-поддержку разных архитектур - тем самым расширяя потенциальные рынки сбыта (с такими ресурсами как и Микрософта такая задача не выглядит утопической)
- Можно отказаться о поддержки старых API и устаревших архитектурных фишек - которые сейчас приходится поддерживать из-за обратной совместимости. Тем самым повысив эффективность актуальной модели - скорость и безопасность выполнения программного кода.
- Это развяжет руки и Intel (ключевым партнёром мелкомягких) - она сможет выпустить для такой ОС совершенно новые процессоры - тоже лишённые багажа устаревшей совместимости - полностью перешедшие на RISC архитектуру, имеющие более простое внутреннее устройство, а значит и меньшее число транзисторов и более эффективные пакеты TDP
- Под новый API и новый процессор можно будет выпустить более эффективные компиляторы - которые будут генерировать ещё более производительный код
- Программирование тоже сразу можно затачивать под кросс-платформенную разработку - это дело ближайшего будущего отрасли
- С новой кросс-платформенной ОС можно попробовать снова выйти на рынок мобильных приложений - особенно с лозунгом - Работай дома, на работе и вне - на разных устройствах, но в одной и той же среде, с тем же функционалом и теми же данными, моментально, без переключений, да хоть одновременно!
- Ну и про маркетинг это вообще отдельная песня - под такую разработку можно развернуть нехилую рекламную компанию - и привлечь много новых клиентов!
- А прямая поддержка Linux в первую очередь привлечёт тех, кто на ней уже работает - профессиональное сообщество - на новой ОС они смогут так же эффективно запускать свои профессиональные Linux приложения: те же сервера WEB и СУБД например. Или какие-то специализированные супер-приложения, разработанные для Linux.

В общем, поживём, узнаем!
SKravchenko; +1 Ответить
Оставьте свое сообщение

См. также

«Сколково» объявил отбор перспективных ИИ-проектов для получения грантов

Новость Искусственный интеллект ИТ-Новость

В 2024 году «Сколково» выделит пилотным проектам в сфере искусственного интеллекта гранты на общую сумму 554 млн рублей. В результате отбора финансирование получат проекты с применением ИИ в областях производства, операционной деятельности и в работе предоставляемых сервисов.

12.04.2024    605    AnastasiaKl    3       

3

В программу подготовки спортивных программистов вошли бег и скорость печати

Новость ИТ-Новость

Пятничное: в России вступил в силу стандарт подготовки по дисциплине «спортивное программирование». В стандарт вошли требования к физическим показателям спортсменов и скорости набора текста.

16.02.2024    717    VKuser24342747    2       

1

Росстандарт утвердил протокол LoRaWAN для интернета вещей

Новость ИТ-Новость

Федеральное агентство по техническому регулированию и метрологии (Росстандарт) утвердило национальный стандарт протокола LoRaWAN RU, таким образом он получил официальный статус. Технология используется для беспроводной передачи данных между устройствами интернета вещей.

19.01.2024    496    VKuser24342747    0       

2

Новый закон откладывает на год вступление в силу изменений в порядок регистрации на сайтах

Новость Законодательство ИТ-Новость

12 декабря вступил в силу Федеральный закон, меняющий срок, к которому все владельцы сайтов должны внести изменения в порядок авторизации пользователей на сайте. Закон вводит переходный период до 1 января 2025 года.

20.12.2023    667    VKuser24342747    2       

1

Вышло крупное обновление для Android Studio

Новость Мобильные приложения ИТ-Новость

Новая версия Android Studio под номером 2023.1 получила имя Hedgehog. Появились возможности контролировать производительность приложений и управлять подключенными устройствами.

07.12.2023    826    VKuser24342747    2       

3

GitHub опубликовал результаты ежегодного исследования проектов с открытым исходным кодом

Новость GitHub ИТ-Новость

GitHub собрал данные об Open Source проектах в рамках ежегодного исследования Octoverse. Компания изучила географию репозиториев, используемые языки программирования и нейросети, а также активность сообщества.

15.11.2023    538    VKuser24342747    1       

2

Некоммерческие проекты смогут получить бесплатный доступ к GigaChat API

Новость ИТ-компания ИТ-Новость

Компания «Сбер» заявила, что будет бесплатно предоставлять доступ к API нейросети для генерации текста GigaChat для некоммерческих проектов. Однако для них будет ограничено число доступных токенов.

01.11.2023    674    VKuser24342747    2       

3

Состоялся релиз свободной среды разработки Geany 2.0

Новость ИТ-Новость Программист

Вышла новая версия Geany 2.0. Обновление затронуло внешний вид программы, расширило поддержку файлов и сторонних проектов, добавило новые способы работы с кодом.

25.10.2023    723    VKuser24342747    0       

1

Минцифры подготовило критерии по выбору оператора реестра провайдеров хостинга

Новость Минцифры ИТ-Новость Роскомнадзор

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

25.10.2023    392    VKuser24342747    0       

1

Минцифры составило алгоритм действий для компаний, у которых не работает VPN

Новость Минцифры ИТ-Новость

Минцифры подготовило разъяснения для российских организаций, у которых возникли перебои в работе VPN-сервисов для клиентов и сотрудников из-за блокировки запрещенных ресурсов Роскомнадзором.

24.10.2023    651    VKuser24342747    0       

0

«Сбер» объявила о доступности SberLinux OS Server для российских компаний

Новость Импортозамещение ИТ-Новость

«СберТех», дочерняя компания «Сбера», объявила о предоставлении доступа к собственной серверной операционной системе SberLinux OS Server российским компаниям. ОС включена в реестр отечественного ПО.

20.10.2023    920    VKuser24342747    0       

2

Минцифры внесло изменения в проект правил идентификации клиентов веб-хостингов

Новость Минцифры ИТ-Новость Роскомнадзор

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

18.10.2023    479    VKuser24342747    0       

1

Google выпустила финальную версию Android 14

Новость Android Google ИТ-Новость

Google выпустила новую версию мобильной ОС Android 14. Изменения затронули настройки внешнего вида и безопасности. Были расширены возможности камеры и инструментов для хранения данных.

12.10.2023    712    VKuser24342747    0       

1

Яндекс объявил об открытии исходного кода DataLens

Новость Аналитика ИТ-Новость Яндекс

BI-система Yandex DataLens теперь развивается в опенсорс. Код продукта выложен для всех на GitHub. Любой желающий сможет развернуть DataLens на своем железе и доработать его под свои сценарии применения.

03.10.2023    1466    ЕленаЧерепнева    1       

6

Роскомнадзор создаст реестр хостинг-провайдеров

Новость Минцифры ИТ-Новость Роскомнадзор

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

02.10.2023    620    VKuser24342747    0       

1

«СберТех» представил репозиторий GitVerse с ИИ-помощником для написания кода

Новость Импортозамещение ИТ-Новость Программист

«СберТех» начал прием заявок на тестирование веб-сервиса для публикации ИТ-проектов GitVerse. Платформа подходит для разработки программ с открытым и закрытым кодом.

26.09.2023    853    VKuser24342747    2       

1

ИП и юрлица смогут использовать смартфон для создания и замены электронной подписи

Новость ИТ-Новость ФНС Цифровая подпись

ФНС внесла изменения в правила оформления электронной подписи руководителя организации и ИП. Станет возможным продлевать ее и записывать при помощи мобильного устройства.

18.09.2023    444    VKuser24342747    1       

1

Журнал IEEE Spectrum опубликовал рейтинг популярности языков программирования

Новость ИТ-Новость Языки программирования

Журнал Института инженеров электротехники и электроники IEEE Spectrum подготовил рейтинг самых популярных языков программирования в 2023 году. Статистика разделена на три категории.

01.09.2023    1337    VKuser24342747    4       

2

В бета-версии Microsoft 365 появилась поддержка языка Python для Excel

Новость ИТ-Новость Языки программирования

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

28.08.2023    715    VKuser24342747    0       

2

Специалисты Калифорнийского университета установили, что боты справляются с CAPTCHA лучше, чем люди

Новость ИТ-Новость

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

24.08.2023    1176    VKuser24342747    23       

2

Google Chrome начнет поддерживать квантово-устойчивые алгоритмы шифрования

Новость Google Безопасность ИТ-Новость

В версии Google Chrome 116 появится поддержка алгоритмов шифрования, устойчивых к попыткам дешифрации при помощи квантовых вычислений. Технология объединяет преимущества классической и инновационной криптографии.

24.08.2023    494    VKuser24342747    0       

1

В реестр российского ПО включен первый комплекс обработки больших данных

Новость Импортозамещение Минцифры ИТ-Новость Реестр ПО

Минцифры внесло в реестр отечественного ПО программно-аппаратный комплекс «Скала-Р», предназначенный для обработки больших данных. Это первый комплекс с таким функционалом, включенный в перечень.

22.08.2023    483    VKuser24342747    0       

1

Microsoft внедрила новые функции в GitHub Copilot и анонсировала Windows Copilot

Новость GitHub Искусственный интеллект

ИИ-помощник для разработчиков GitHub Copilot теперь не только в реальном времени анализирует код, предлагает варианты для его улучшения и помогает найти решение проблем в разработке, но и  показывает ссылки на репозитории, из которых взят код. 

17.08.2023    1189    VKuser24342747    0       

1

В JetBrains разработали ИИ-помощника для аналитиков данных

Новость Аналитика Искусственный интеллект

JetBrains представила нейросеть Ask AI для онлайн-блокнота Datalore. Виртуальный ассистент способен генерировать код на нескольких языках, предлагать доработки и упрощать процесс аналитики данных. 

16.08.2023    682    VKuser24342747    0       

1

Исследование: ChatGPT дает неправильный ответ на половину вопросов о программировании

Новость Искусственный интеллект ИТ-Новость

Чат-бот OpenAI ошибается в 52% случаев, когда отвечает на вопросы по программированию. Однако делает это так убедительно, что пользователи не замечают ошибки. 

14.08.2023    1070    VKuser24342747    5       

3