Год назад мы писали о том, что из ядра Linux 6.7 полностью уберут код, который связан с архитектурой IA-64 и процессорами Intel Itanium. Ведь еще три года назад Линус Торвальдс назвал процессоры Intel Itanium «потерянными» для ядра Linux. При этом в свое время Itanium казались вполне перспективными. Но не срослось, как говорится. Поддержку этих чипов практически убрали, но теперь нашлась команда, которая спасла архитектуру от полного забвения сообществом Linux.
Решение о прекращении поддержки процессоров архитектуры IA-64 (Itanium) в GNU Compiler Collection (GCC) — стандартном компиляторе для систем Linux — отменено. Поддержка архитектуры будет обеспечиваться немецкой компанией ExactCODE. Подробности — под катом.
История чипов
Архитектура IA-64 и процессоры Itanium разработаны в сотрудничестве AMD и HP. Itanium стал первой попыткой Intel перейти от 32-битных к 64-битным вычислениям. HP рассматривала эту архитектуру как замену устаревшей PA-RISC с сохранением совместимости с UNIX-системами. Чипы Itanium предполагались как замена 32-разрядным процессорам не только для серверов, но и для настольных систем.
Первые процессоры Itanium появились на рынке в мае 2001 года. Архитектура IA-64 создавалась без поддержки инструкций x86 (IA-32), что сделало существующее ПО несовместимым и потребовало значительных затрат на перенос приложений, что в значительной степени повлияло на неудачу этого проекта. В специализированных СМИ процессоры Itanium получили ироничное прозвище «Itanic», намекая на аналогию с трагической судьбой лайнера Titanic.
Ситуация изменилась в 2003 году, когда AMD представила серверные процессоры Opteron на архитектуре AMD K8, которые имели 64-битные расширения AMD64 и были совместимы с 32-битным кодом x86. Это вынудило Intel начать выпуск процессоров с поддержкой 64-разрядных вычислений для серверов и настольных систем.
В 2004 году команда HP, разрабатывавшая Itanium, перешла в Intel, и с тех пор компания самостоятельно продвигала проект IA-64. Интерес к Itanium постепенно снижался, и уже в 2009-2010 годах Microsoft (Windows Server 2008 R2 стала последней версией с поддержкой Itanium) и Red Hat отказались от поддержки IA-64. Oracle ушла в 2011 году, а SUSE прекратила поддержку после выпуска SUSE Linux 11 в 2009 году. Поддержка Itanium в фирменной операционной системе HP — HP-UX 11 — продлится до конца 2025 года.
В мае 2017 года Intel представила последнюю линейку 64-битных процессоров Itanium серии 9700 на базе микроархитектуры IA-64 с кодовым названием Kittson. Процессоры были изготовлены по 32-нанометровому техпроцессу и стали последними продуктами под брендом Itanium. На момент выпуска серии 9700 единственным клиентом Itanium была компания HPE, созданная в 2015 году в результате реорганизации HP, и только она собиралась использовать процессоры в своих серверах серии Integrity.
GCC сохранит поддержку Itanium
GNU Compiler Collection (GCC) — это кроссплатформенный набор компиляторов, преобразующих исходный код программ, написанный на различных языках программирования высокого уровня, в машинный код, исполняемый процессорами. В составе GCC присутствуют компиляторы для таких языков, как C, C++, Objective-C, Fortran, Ada, Go, GAS, D, Modula-2. GCC является стандартным компилятором в большинстве операционных систем на базе Linux и ранее использовался в различных версиях BSD. Разработка GCC курируется Фондом свободного ПО (Free Software Foundation, FSF), а сам код распространяется на условиях лицензии GNU GPLv3.
Ранее было объявлено, что начиная с версии 15 GCC прекратит поддержку архитектуры IA-64, на базе которой работают серверные процессоры, разработанные совместно Intel и HP. Причиной для отказа стала недостаточная заинтересованность в поддержке устаревшей архитектуры с ограниченной пользовательской базой. Теперь GCC для операционных систем GNU/Linux и других Unix-подобных платформ сохранит поддержку процессоров Itanium от Intel.
В начале 2021 года Линус Торвальдс объявил о прекращении поддержки Itanium. Он заявил, что «технология мертва»: «HPE больше не принимает заказы на новое оборудование с Itanium, а Intel прекратила их принимать год назад, — написал Торвальдс в комментариях к соответствующему патчу ядра. – Хотя Intel все еще официально поставляет чипы [Itanium] до 29 июля 2021 г., маловероятно, что такие заказы в действительности существуют».
Однако в конце июня 2024 года интерес к поддержке IA-64 проявил Рене Ребе, управляющий директор немецкой компании ExactCODE из Берлина, занимающейся разработкой программного обеспечения. Он официально заявил о готовности компании продолжать поддержку IA-64.
В числе продуктов ExactCODE — драйверы для оборудования Avision (включая графические сканеры), а также дистрибутивы Linux для встраиваемых систем на архитектуре PowerPC, что говорит о наличии у компании опыта в разработке системного программного обеспечения.
Рене Ребе лично предложил патч, отменяющий статус «устаревшей» (deprecated) для IA-64, и указал в комментарии, что ExactCODE планирует поддерживать архитектуру на протяжении нескольких лет. В октябре 2024 года патч получил одобрение одного из ключевых участников проекта GCC, Ричарда Бинера, сотрудника компании SUSE, работающей в области Linux.
Неожиданное спасение от забвения
Полный отказ GCC от поддержки архитектуры IA-64 мог бы означать окончательный «закат» когда-то перспективной процессорной архитектуры, которая в конечном итоге уступила место x86_64.
Теперь же пользователи устройств с Itanium смогут продолжить использование GNU/Linux только на ядре 6.6 или его предыдущих версиях, так как новая версия ядра больше не поддерживает IA-64, и компилятор GCC 15 не сможет собрать актуальные ядра для этой архитектуры.
Полезным инструментом для продолжения работы систем на Itanium мог бы стать эмулятор IA-64. Компании Simics и HP в прошлом уже предпринимали попытки создать виртуализированные решения для IA-64, но не особо успешно. Симуляция IA-64 оказалась технически сложной задачей, и работа эмуляторов либо была медленной, либо не обеспечивала необходимую точность, особенно для специфического серверного ПО.
Автор: Seleditor