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

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

10.09.2020     

Ян Бирман –  менеджер по разработке программного обеспечения в 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.



Источник: https://infostart.ru/journal/news/tekhnologii/microsoft-izuchayut-lto-pgo-dlya-yadra-linux_1292194/
Автор:
Сергей Кравченко Обозреватель


Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. awk 725 11.09.20 08:36 Сейчас в теме
2. Darklight 27 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 Ответить
Оставьте свое сообщение

См. также

CES 2021: главные анонсы первой технологической выставки года

Новость Инновации ИТ-новость Микроэлектроника

CES (Consumer Electronics Show) в Лас-Вегасе традиционно открывает год на мировом рынке технологий. Из-за ограничений, связанных с пандемией, выставку провели онлайн, но это не помешало производителям представить интересные новинки.

вчера в 13:50    1320    user1015646    0       

Представлен GitLab 13.7: автооткат при сбоях и улучшенная проверка мердж-реквестов

Новость git Автоматизация ИТ-новость Новости компаний

Компания GitLab выпустила новый релиз платформы для работы с Git-репозиториями. В GitLab 13.7 добавили 45 новых функций, в том числе автоматический откат при сбоях и инструмент проверяющих для запросов на слияние.

22.01.2021    1666    user1015646    0       

Red Hat заменит CentOS бесплатной Red Hat Enterprise Linux

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

Red Hat в декабре объявила о прекращении поддержки CentOS 8 в 2021 году. Это вызвало волну негодования среди разработчиков, но теперь всё встало на свои места: компания представила бесплатные версии Red Hat Enterprise Linux для команд.

21.01.2021    1939    user1015646    0       

Российские исследователи представили новый фреймворк для работы с большими данными

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

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

21.01.2021    1471    user1015646    2       

Конец Flash: Adobe стала блокировать динамический контент

Новость Интернет ИТ-новость

Компания Adobe блокирует Flash-контент на веб-сайтах, которые используют Flash Player. Разработчик больше не поддерживает устаревшую и небезопасную технологию.

21.01.2021    1528    user1015646    0       

Новая система находит ошибки при разработке ПО в режиме реального времени

Новость Автоматизация ИТ-новость

Специалисты исследовательской группы SOM Research Lab разработали инструмент проверки моделей программного обеспечения, который находит ошибки непосредственно в процессе создания модели, а не после ее завершения.

20.01.2021    2120    user1015646    0       

Искусственный интеллект научился обыгрывать людей, не зная правил игры

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

Британская компания DeepMind представила новую разработку в сфере искусственного интеллекта. Система MuZero успешно обыгрывает опытных спортсменов и геймеров, даже не зная правил игры.

20.01.2021    1995    user1015646    2       

Тетрис помог повысить заполняемость отелей

Новость Автоматизация ИТ-новость

Алгоритм RoomTetris, разработанный исследователями из LION Laboratory (Learning and Intelligent Optimization) – Лаборатории обучения и интеллектуальной оптимизации, избавит отельеров от овербукинга. Вдохновением для ученых послужила игра «Тетрис».

19.01.2021    1616    user1015646    5       

Нейросеть научили создавать изображения по текстовому описанию

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

Разработчики компании OpenAI представили нейронную сеть DALL-E. Она анализирует англоязычный текст и создает изображения на его основе.

19.01.2021    1852    user1015646    0       

Разработчики портируют Linux на Mac с процессором M1

Новость Linux Микроэлектроника

Компания Apple представила первые компьютеры на базе процессоров M1 собственной разработки. Разработчик Гектор Мартин решил создать сборку Linux специально для этих компьютеров. 

18.01.2021    1136    user1015646    4       

10 стартапов в области машинного обучения, за которыми стоит следить в 2021 году

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

По данным Crunchbase, в 2020 году компании, связанные с искусственным интеллектом и машинным обучением, получили рекордное финансирование – 28 млрд долларов. Представляем список из 10 самых перспективных стартапов в этой области.

18.01.2021    1505    SKravchenko    0       

Fujifilm и IBM создали ленточный накопитель с рекордным объемом памяти

Новость Дата-центры ИТ-новость Облачные технологии

Fujifilm и IBM повысили емкость ленточных накопителей до рекордных 580 терабайт информации. Это значительно превосходит максимальную емкость SSD – 100 ТБ и жестких дисков – 30 ТБ.

13.01.2021    1446    user-programmist    0       

Эксперты назвали 10 навыков для ИТ-специалистов, которые обеспечат прибавку к зарплате

Новость Автоматизация Аналитика Искусственный интеллект ИТ-новость

Зарплаты в ИТ-сфере – одни из самых высоких, и у специалистов здесь существует масса возможностей для роста. Специалисты компании Burning Glass определили, какими навыками должны обладать сотрудники, нацеленные на максимальную прибавку к зарплате.

12.01.2021    1634    user1015646    2       

Против монополии: Apple получила патент на поисковый алгоритм

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

Apple начала активно разрабатывать собственную поисковую систему. Из-за возможных антимонопольных санкций США против Google компания Тима Кука может лишиться возможности пользоваться сервисами поискового гиганта.

11.01.2021    895    VKuser24342747    0       

FreeBSD перевела репозиторий на Git

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

FreeBSD откажется от использования системы контроля версий Subversion (SVN) и перейдет на Git. Об этом в рассылке объявил разработчик Уорнер Лош.

30.12.2020    1518    user1015646    0       

Вышла бета-версия Go 1.16

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

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

30.12.2020    2042    SKravchenko    0       

Microsoft позволит создавать пользовательские функции в Excel

Новость Infostart Software Partners Маркет

В Excel появилась новая функция – LAMBDA – для превращения пользовательских формул в многоразовые функции. Пользователи смогут создавать правила для управления данными внутри Excel, так же, как и в любом другом языке – Java, PHP или Python.

29.12.2020    2341    SKravchenko    2       

Microsoft и МТС планируют совместно развивать российский интернет вещей

Новость ИТ-новость Телекоммуникации Цифровая экономика

МТС и Microsoft договорились совместно развивать российский интернет вещей путем интеграции платформы для разработки решений интернета вещей Microsoft Azure IoT Central и сети интернета вещей NB-IoT МТС.

28.12.2020    1335    user-programmist    1       

Bloomberg оценил компанию JetBrains в $7 млрд

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

По данным Bloomberg Billionaires Index, стартап JetBrains стоит около 7 млрд. долларов. В отличие от технологических компаний, которые продают акции для поддержки развития, руководители JetBrains не полагаются на средства венчурных капиталистов.

28.12.2020    1447    SKravchenko    0       

Cloudflare станет хостинг-провайдером для статических сайтов JAMstack

Новость Интернет ИТ-новость

Cloudflare запустила сервис Pages для создания сайтов при помощи подхода JAMstack. Веб-ресурсы, разработанные при помощи платформы, будут опубликованы в существующей сети провайдера CDN.

25.12.2020    1231    VKuser24342747    0       

GitHub откажется от аутентификации по логину и паролю

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

Крупнейший хостинг репозиториев кода GitHub пересмотрит политику аутентификации. Пароли перестанут поддерживать – их полностью заменят токены и SSH-ключи.

24.12.2020    1394    user1015646    2       

В Telegram появятся платные функции

Новость ИТ-новость Мессенджеры

Основатель Telegram Павел Дуров рассказал о будущем мессенджера. Команда разработчиков планирует внедрить платные функции, чтобы компенсировать расходы на развитие сервиса.

23.12.2020    1708    user1015646    0       

Составлен рейтинг приложений для предустановки на смартфоны и умные ТВ

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

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

23.12.2020    1541    user1015646    4       

Microsoft запатентовала технологию оценки эффективности совещаний

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

Microsoft реализует системы мониторинга сотрудников для оценки производительности организации. Одно из последних решений компании – вычислительная система Meeting Insight от Microsoft, которая способна создать «оценку качества» проведенного совещания.

22.12.2020    2065    capitan    1       

Octoverse 2020: GitHub опубликовал главный отчет года

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

Крупнейший хостинг репозиториев кода GitHub назвал 2020-й «годом экстраординарных изменений». Переход на удаленку повысил продуктивность работы команд и позволил уделять больше времени проектам с открытым исходным кодом.

22.12.2020    2100    user1015646    0