Привет, Хабр! Мы в ServerFlow занимаемся поставками серверного оборудования. В основном, мы работаем с x86-железом, долгие годы было стандартом де-факто в индустрии. Однако в последние годы мы наблюдаем интересную тенденцию: архитектура ARM, которая когда-то использовалась лишь в маломощных устройствах, всё активнее заявляет о себе и в серверных решениях. ARM, начав с простых и энергоэффективных процессоров, теперь стремительно движется к доминированию, доказывая свою пригодность даже для гигантских ЦОДов и суперкомпьютеров. Давайте вместе погрузимся в историю этих двух архитектур и посмотрим, как ARM смогла пройти путь от решений для маломощных устройств до облаков и суперкомпьютеров.
История Двух Архитектур
Совершим путешествие в прошлое – в конце 1970-х и начале 1980-х годов родились две архитектуры, которые впоследствии определили мир вычислительной техники: x86 и ARM. Архитектура x86 от Intel, с её сложной системой команд (CISC), быстро стала стандартом для персональных компьютеров. Она была мощной, универсальной и обладала развивающейся экосистемой программного обеспечения. С другой стороны, ARM, сокращение от Acorn RISC Machine, была разработана компанией Acorn Computers в середине 1980-х годов. Она основывалась на принципе RISC (Reduced Instruction Set Computing), делая упор на простоту и энергоэффективность, а не на чистую производительность.
Архитектура x86 с её сложной системой команд была разработана для эффективного выполнения широкого спектра задач, что делало её универсальным решением в мире вычислительной техники. Эта универсальность стала значительным фактором её распространения среди ПК, серверов и рабочих станций. Способность архитектуры x86 обрабатывать сложные инструкции напрямую приводила к улучшению производительности приложений, от базовых офисных задач до высокопроизводительных игр и профессиональных вычислений.
В отличие от x86, ARM сосредоточилась на более простой и оптимизированной подходе. Философия RISC, лежащая в основе ARM, направлена на выполнение меньшего количества типов компьютерных инструкций, что позволяет выполнять их очень быстро. Этот подход изначально был более подходящим для встроенных систем и портативных устройств, где энергоэффективность имеет первостепенное значение. Процессоры ARM потребляли меньше энергии и выделяли меньше тепла, что делало их идеальными для устройств с батарейным питанием, таких как мобильные телефоны и ранние КПК.
Восхождение ARM в Эру Мобильных Устройств
В течение многих лет ARM и x86 занимали разные ниши. Пока x86 доминировала на рынке настольных ПК и серверов, ARM нашла своё применение в мобильных устройствах и встроенных системах. Благодаря низкому энергопотреблению и высокой эффективности архитектура ARM стала идеальной для устройств с батарейным питанием, таких как смартфоны и планшеты. Именно на этом рынке компании-чипмейкеры, такие как Apple и Samsung, использовали ARM для создания мощных и одновременно энергоэффективных устройств.
Особенно важной вехой стало введение чипа Apple M1, который не только обеспечил высокую производительность, но и продемонстрировал, что ARM может конкурировать с традиционными процессорами x86 даже в сегменте персональных компьютеров. Это событие положило начало новой эре, где ARM активно начала проникать на рынок ПК, традиционно доминируемый x86.
Мобильная революция конца 2000-х и начала 2010-х годов была вызвана потребностью в более компактных устройствах с длительным временем работы от батареи и улучшенной производительностью. ARM-процессоры стали де-факто стандартом для смартфонов благодаря своей эффективной работе. Чипмейкеры, такие как Qualcomm со своей серией Snapdragon и Apple с их A-серией процессоров, постоянно расширяли возможности мобильных устройств, позволяя им выполнять всё более сложные задачи — от воспроизведения видео высокой чёткости до высоконагруженных мобильных игровых проектов и работы с дополненной реальностью (AR).
Переход Apple на ARM с чипом M1 стал ключевым моментом в развитии рынка персональных компьютеров. M1 не только интегрировал центральный процессор (ЦП), графический процессор (ГП) и нейронные движки, но и значительно улучшил производительность и энергоэффективность. Этот шаг бросил вызов давнему господству процессоров x86 в персональных вычислениях, показав, что ARM может справляться с интенсивными настольными приложениями и рабочими процессами, которые ранее считались исключительной областью x86.
Выход ARM на Рынок Серверов
Исторически серверный рынок целиком и полностью доминировала архитектура х86, однако в последние годы ARM начала делать значительные шаги в этом направлении. Одним из первых коммерчески доступных серверов на базе ARM стал Viridis, представленный компанией Boston Limited в 2012 году. Этот сервер использовал SoC EnergyCore на базе Cortex-A9 от компании Calxeda, который был специально разработан для снижения энергопотребления и повышения эффективности в дата-центрах. Viridis стал первым шагом к тому, чтобы показать, что ARM может предложить реальные преимущества в серверных средах.
На фото изображён один из модулей сервера, с собственной оперативной памятью, SATA-разъёмами и питающийся, а также передающий информацию через разъём напоминающий PCI-E, но скорее всего являющийся каким-то проприетарным решением.
Объединённые в единый кластер модули Viridis выглядели примерно так:
Amazon Web Services (AWS), в свою очередь позднее стала пионером из числа БигТеха в использовании серверов на базе ARM. Процессоры AWS Graviton, основанные на архитектуре ARM, показали, что ARM может эффективно и экономически выгодно справляться с облачными рабочими нагрузками. Точно так же Ampere Computing, основанная бывшим президентом Intel Рене Джеймсом, разработала процессоры на базе ARM, такие как Altra и Altra Max, которые предлагают высокое количество ядер и исключительную производительность на ватт. Эти процессоры особенно хорошо подходят для облачных приложений, ИИ и аналитики больших данных.
Потенциал ARM на рынке серверов заключается в её способности эффективно масштабироваться. Дизайн ARM позволяет разместить больше ядер на чипе без соответствующего увеличения потребляемой мощности. Это важно в дата-центрах, где энергоэффективность напрямую переводится в снижение эксплуатационных затрат. Процессоры ARM также поддерживают высокий уровень кастомизации, позволяя компаниям настраивать свое оборудование под специфические рабочие нагрузки, что дополнительно повышает эффективность и производительность.
Суперкомпьютеры
ARM начала серьёзное продвижение в сфере суперкомпьютеров с проекта Mont-Blanc, который был запущен в 2011 году в Барселонском суперкомпьютерном центре. Целью проекта было исследование возможности использования ARM-процессоров в высокопроизводительных вычислительных системах. Эти исследования привели к созданию первых суперкомпьютеров на базе ARM, что стало важным шагом в эволюции архитектуры от мобильных и встраиваемых систем к более сложным и ресурсоёмким задачам.
Однако настоящим прорывом стало создание суперкомпьютера Fugaku в Японии, который был разработан совместными усилиями компании Fujitsu и исследовательского института RIKEN. Fugaku, работающий на процессорах Fujitsu A64FX, стал первым в мире суперкомпьютером на базе ARM, возглавившим рейтинг TOP500 самых мощных суперкомпьютеров мира в июне 2020 года. Этот компьютер показал беспрецедентную производительность, значительно опережая своих конкурентов по множеству показателей, включая тесты на продуктивность в реальных приложениях.
Fugaku не только установил новый стандарт производительности для суперкомпьютеров, но и продемонстрировал потенциал ARM в обеспечении энергии и производительности на уровне, который ранее был недостижим для этой архитектуры. Этот успех подтвердил, что ARM может конкурировать с традиционными архитектурами в самых сложных и требовательных вычислительных задачах, таких как моделирование климатических изменений, исследования в области медицины и разработки в области искусственного интеллекта.
Не так давно архитектура ARM вновь продемонстрировала свою мощь с запуском нового суперкомпьютера под названием Alps, который установлен в Швейцарии в Швейцарском национальном суперкомпьютерном центре (CSCS). Alps основан на архитектуре ARM и построен на базе процессоров NVIDIA Grace, что делает его одним из самых современных и мощных суперкомпьютеров в мире. Эта система, запущенная в 2023 году, нацелена на выполнение сложнейших вычислительных задач, от моделирования климатических изменений до исследований в области квантовых технологий и искусственного интеллекта. Alps, благодаря своей уникальной архитектуре, предлагает высокую производительность при оптимизированном энергопотреблении, продолжая традиции ARM в создании эффективных и мощных вычислительных систем.
AAmpere Altra: Настоящий Серверный ARM, Который Вы Можете Купить Прямо Сейчас
Ampere Altra — это не просто очередной ARM-чип. Это полноценный серверный процессор, спроектированный для высоких нагрузок, который предлагает до 80 ядер на одном кристалле. Эти процессоры специально разработаны для работы в облачных средах, масштабируемых дата-центрах и приложениях, требующих высокой производительности на ватт. Они предоставляют мощность, необходимую для обработки огромных массивов данных, работы с искусственным интеллектом и выполнения других ресурсоёмких задач.
Почему это важно?
Во-первых, Ampere Altra — это первый массово доступный ARM-процессор, который не нужно заказывать под спецпроект или добывать через теневые рынки. Вы можете просто зайти на сайт поставщиков, таких как Supermicro, и заказать сервер с этими чипами, как будто это обычный x86. Это открывает ARM для целого спектра новых применений, делая его доступным не только для гигантов, но и для среднего бизнеса.
Во-вторых, Altra значительно расширяет возможности серверных приложений на базе ARM. Если раньше ARM воспринимался как экзотика для энтузиастов или разработчиков проприетарных решений, то теперь это полноценная альтернатива для всех, кто ищет баланс между производительностью и энергопотреблением.
Разные облачные провайдерыl, уже используют Ampere Altra в своих облачных решениях, предоставляя любому возможность испытать их в деле.
Совместимость ПО
Хотя переход на ARM приносит многочисленные преимущества, он не лишён проблем. Одним из основных препятствий является совместимость программного обеспечения. Многие корпоративные приложения оптимизированы для архитектуры x86, и их миграция на ARM может быть сложным и дорогостоящим процессом. Однако по мере развития экосистемы и оптимизации программного обеспечения для ARM эти проблемы, вероятно, будут уменьшаться.
Переход на архитектуру ARM сопряжен с множеством преимуществ, таких как повышение энергоэффективности и производительности, однако он также сталкивается с определенными сложностями, особенно в плане совместимости программного обеспечения. Одной из ключевых проблем является необходимость переноса приложений, изначально разработанных для архитектуры x86. Это может потребовать значительных усилий, особенно для старых приложений, глубоко интегрированных с особенностями x86.
Однако технологии трансляции команд с одной архитектуры на другую предлагают отличное временное решение, позволяющее начать миграцию на ARM без необходимости немедленного переписывания или перекомпиляции всех приложений. Такие инструменты, как Box86, Box64 и Rosetta 2, способны на лету переводить инструкции x86 в инструкции ARM, что позволяет запускать приложения, созданные для x86, на ARM-устройствах с минимальными потерями производительности. Это особенно полезно в начальный период перехода, пока экосистема ARM ещё находится в стадии активного развития и оптимизации.
Пример такой трансляции можно увидеть на схеме ниже. Слева изображены процессорные инструкции на ассемблере, сгенерированные Rosetta 2 для ARM, а справа — исходный код на x86-ассемблере.
Apple, при переходе на ARM с архитектурой Apple Silicon, использовала технологию эмуляции под названием Rosetta 2. Rosetta 2 является продолжением оригинальной Rosetta, которая помогла Apple в своё время осуществить успешный переход с архитектуры IBM PowerPC на x86 в середине 2000-х годов. Первая версия Rosetta выполняла трансляцию PowerPC-кода в x86-код, что позволило пользователям использовать существующие приложения на новых компьютерах Mac без необходимости ожидания выхода новых версий этих приложений.
Rosetta 2 работает аналогично: она переводит инструкции x86 в инструкции ARM на лету, что позволяет приложениям, созданным для x86, работать на новых ARM-устройствах от Apple с минимальными потерями производительности. Эта технология стала ключевым элементом успеха Apple Silicon, позволив пользователям плавно перейти на новую архитектуру, не теряя доступа к важным приложениям. Таким образом, Rosetta 2, как и её предшественница, сыграла важнейшую роль в обеспечении плавного перехода между архитектурами и минимизации барьеров для пользователей и разработчиков.
Ещё одной проблемой является существующая инфраструктура. Дата-центры и предприятия инвестировали значительные средства в системы на базе x86, и полный переход на ARM потребует значительных инвестиций. Однако гибридные среды, где ARM и x86 сосуществуют, могут предложить сбалансированный подход, используя сильные стороны обеих архитектур. Постепенная интеграция ARM-основанных узлов в x86-центричные дата-центры может предоставить постепенный путь к принятию, позволяя организациям использовать преимущества ARM без полной замены существующей инфраструктуры.
С другой стороны, возможности огромны. Способность разрабатывать пользовательские SoC, адаптированные под специфические рабочие нагрузки, позволяет добиться большей оптимизации и эффективности. Это особенно полезно в облачных и edge-вычислениях, где специфические требования к производительности могут быть удовлетворены с помощью высокоспециализированного оборудования. Кроме того, низкое энергопотребление процессоров ARM может привести к значительной экономии затрат при крупномасштабных развертываниях.
Создание специализированных ARM-чипов позволяет компаниям оптимизировать производительность для конкретных задач, таких как инференс ИИ, обработка больших данных или аналитика в реальном времени. Эта гибкость имеет решающее значение в современных вычислительных средах, где разнообразные и требовательные рабочие нагрузки являются нормой. Настраивая оборудование под нужды программного обеспечения, процессоры ARM могут обеспечивать производительность и эффективность заметно более высокую сравнению с более универсальными решениями на базе x86.
Однако, под каждую программу пилить специализированные чипы никаких бюджетов не напасёшься, и хорошо когда ПО также поддерживает определённую архитектуру, с нетерпением ждём в 1С поддержку ARM.
Будущее ARM
Будущее ARM на рынке серверов выглядит невероятно многообещающе. Можно смело предположить, что серверы на базе ARM будут продолжать набирать популярность, особенно в облачных средах, где энергоэффективность и масштабируемость имеют первостепенное значение. Способность разрабатывать пользовательские SoC, адаптированные под специфические приложения, будет дополнительно способствовать принятию ARM в различных отраслях.
Кроме того, развитие более мощных процессоров ARM с большим количеством ядер и улучшенными возможностями производительности, вероятно, ещё больше сократит разрыв между ARM и x86. По мере того, как экосистемы программного обеспечения будут продолжать развиваться и всё больше приложений будут оптимизироваться для ARM, барьеры для принятия будут уменьшаться, прокладывая путь для более широкого использования серверов на базе ARM.
Экосистема ARM быстро расширяется, значительные инвестиции в исследования и разработки стимулируют создание процессоров следующего поколения, которые обещают ещё большую производительность и эффективность. Компании, такие как NVIDIA, Amazon и Qualcomm, находятся в авангарде этих инноваций, разрабатывая процессоры, которые раздвигают границы возможного с архитектурой ARM. Это продолжающееся развитие, вероятно, приведёт к тому, что процессоры ARM станут ещё более конкурентоспособными с x86, особенно в областях, где энергоэффективность и масштабируемость являются критическими.
Спасибо всем за прочтение! Будем рады почитать в комментариях ваше мнение о архитектуре ARM, а также её светлого или быть может вы докажете нам, что не очень, будущего.
Комментарии (5)
romychs
20.08.2024 10:00+2Уже несколько лет используем Huawei TaiShan 256GB RAM, 128 ARM ядер и несколько быстрых SSD. В кластере из 3-х серверов отлично живет Apache Cassandra, выполняя миллионы запросов в минуту к некоторым кейспейсам. Сервера при этом особо не напрягаются и до предела их производительности еще очень далеко.
По моему мнению, такие многопоточные штуки, как в данном случае, Cassndra, очень хорошо живут на куче дешевых ядер.
Пробовал и Java микросервисы на таком железе запускать. Тоже очень хорошо работают, при таком количестве ядер, за них очень невысокая конкуренция.
Но сейчас с Huawei общеизвестная проблема, не хотят они с нами работать.SF_author Автор
20.08.2024 10:00+1А чем изначально аргументировалась покупка сервера? Соотношение цены всей платформы на процессорное ядро? Есть ли какая-то заметная разница в энергопотребление или на ваших объёмах оно не особо заметно бьёт по счетам, чтобы его учитывать?
romychs
20.08.2024 10:00+1Изначально сам Huawei предложил попробовать сервера в инфраструктуре нашего предприятия. Мы использовали на тот момент другие их решения. В это же время искали сервера под Кассандру. Звезды сошлись.
На энергопотребление не смотрели. А на цену, очень даже.
Yura1975
Жду статью: "ARM vs RISC-V" кто более "рисковей". А если серьёзно, то по нынешним временам Китай делает ставку на RISC-X, да и нам придётся...
p.s. Ну а статью-сравнение, по-возможности, напишите.
SF_author Автор
Да, всё что сейчас происходит вокруг RISC-V и его собратьев по OpenSource/OpenHardware - очень интересно и возможно в ближайшем будущем будет ещё интереснее.
Спасибо за предложение, напишем!