Лидеры облачного сегмента – AWS, Google Cloud Platform (GCP) и Azure – успешно выпустили свои серверы на базе архитектуры ARM. Хронологически первой была компания AWS, выпустившая свой первый серверный процессор AWS Graviton на базе ARM в 2018 году.
Микропроцессорная архитектура типа RISC использует оптимизированный набор инструкций, что позволяет процессорам с относительно простой структурой эффективно выполнять сложные задачи. Архитектура ARM, базирующаяся на принципах RISC, стала краеугольным камнем самой большой в мире вычислительной экосистемы и основой современных мобильных гаджетов, и многие эксперты предсказывают ей большое будущее в сегменте облачных вычислений, что обусловлено ее низким энергопотреблением, низкой себестоимостью и гибкостью с точки зрения возможностей использования ее в различных платформах.
AWS Graviton – это линейка серверных процессоров на базе архитектуры ARM, запущенная AWS в 2018 году. В первом поколении процессоров AWS Graviton использовались кастомные чипы и 64-разрядные ядра Neoverse.
В 2020 году вышло второе поколение процессоров AWS Graviton 2, которое намного превосходило первое поколение в части производительности и функциональных возможностей: в 7 раз большая скорость вычислений, в 4 раза больше ядер, удвоенный кэш, поддержка в 5 раз больших скоростей памяти и многое другое.
Новейшее поколение процессоров AWS Graviton 3, выпущенное в конце мая 2022 года, базируется на более продвинутой архитектуре Neoverse V1 и по сравнению с процессорами AWS Graviton 2 предлагает вдвое большие скорости вычислений с плавающей точкой и шифрования и втрое большую скорость машинного обучения (ML), включая поддержку формата BFLOAT16. В таблице ниже приведены основные конфигурации облачных виртуальных машин (инстансов) на процессорах AWS Graviton 3.
Инстанс | Число виртуальных CPU | Память, ГиБ | Пропускная способность сети, Гбит/с | Пропускная способность EBS, Гбит/с |
c7g.medium | 1 | 2 | 12.5 | 10 |
c7g.large | 2 | 4 | 12.5 | 10 |
c7g.xlarge | 4 | 8 | 12.5 | 10 |
c7g.2xlarge | 8 | 16 | 15 | 10 |
c7g.4xlarge | 16 | 32 | 15 | 10 |
c7g.8xlarge | 32 | 64 | 15 | 10 |
c7g.12xlarge | 48 | 96 | 22.5 | 15 |
c7g.16xlarge | 64 | 128 | 30 | 20 |
Виртуальные машины Google Cloud Platform (GCP) Tau T2A – первое поколение ВМ от Google на базе ARM, выпущенное в июле 2022 года, – работают на процессорах Ampere® Altra® Arm с архитектурой Neoverse N1. Линейка Tau T2A предлагает различные конфигурации ВМ, которые могут содержать до 48 виртуальных процессоров (vCPU) на одну ВМ с количеством памяти 4 ГБ на каждый vCPU.
Эти ВМ могут обеспечивать пропускную способность сети до 32 Гбит/с и предлагают широкие возможности для облачного хранения данных, что делает ВМ Tau T2A отличным вариантом для вычислительных нагрузок с горизонтальным масштабированием (scale-out), то есть они подходят для веб-серверов, контейнеризованных микросервисов, обработки записываемых данных, перекодирования медиаконтента и Java-приложений. Основные конфигурации представлены в таблице ниже.
Тип ВМ | vCPU | Память, ГБ | Максимальное кол-во постоянных дисков | Максимальная суммарная емкость постоянных дисков, ТБ | Локальный SSD | Максимальная скорость исходящего трафика, Гбит/с | Скорость исходящего трафика на уровне Tier 1, Гбит/с |
t2a-standard-1 | 1 | 4 | 128 | 257 | Нет | 10 | N/A |
t2a-standard-2 | 2 | 8 | 128 | 257 | Нет | 10 | N/A |
t2a-standard-4 | 4 | 16 | 128 | 257 | Нет | 10 | N/A |
t2a-standard-8 | 8 | 32 | 128 | 257 | Нет | 16 | N/A |
t2a-standard-16 | 16 | 64 | 128 | 257 | Нет | 32 | N/A |
t2a-standard-32 | 32 | 128 | 128 | 257 | Нет | 32 | N/A |
t2a-standard-48 | 192 | 4 | 128 | 257 | Нет | 32 | N/A |
В апреле 2022 года компания Microsoft анонсировала семейство виртуальных машин Azure на процессорах Ampere® Altra® Arm. Эти новые ВМ были разработаны в расчете на эффективное горизонтальное масштабирование – для веб-серверов, серверов приложений, открытых баз данных, облачных и rich.NET-приложений, Java-приложений, игровых серверов, медиасерверов и т.д. В линейку входят ВМ стандартной серии Dpsv5 и серии Epsv5 с оптимизированной памятью. Основные конфигурации представлены в таблице ниже.
Серия ВМ | vCPU | Память, ГиБ | Локальный диск, ГиБ | Максимальное число дата-дисков | Максимальное число сетевых карт |
Dpsv5 | 2 – 64 | 8 – 208 | n/a | 4 – 32 | 2 – 8 |
Dpdsv5 | 2 – 64 | 8 – 208 | 75 – 2400 | 4 – 32 | 2 – 8 |
Dplsv5 | 2 – 64 | 4 – 128 | n/a | 4 – 32 | 2 – 8 |
Dpldsv5 | 2 – 64 | 4 – 128 | 75 – 2400 | 4 – 32 | 2 – 8 |
Epsv5 | 2 – 32 | 16 – 208 | n/a | 4 – 32 | 2 – 8 |
Dpdsv5 | 2 – 32 | 16 – 208 | 75 – 2400 | 4 – 32 | 2 – 8 |
В этой статье мы будем рассматривать общую производительность каждого сервера в режиме одного ядра. Для задания тестовой стресс-нагрузки каждой из трех конфигураций – AWS c7g.large, GCP t2a-standard-2 и Azure D2ps v5 (серия Dpsv5, двухъядерный CPU) – будем использовать сетевой API-шлюз Apache APISIX с высокой интенсивностью ввода/вывода. Производительность серверов будем оценивать по двум показателям: скорости обработки запросов и задержке отклика.
Apache APISIX – это высокопроизводительный масштабируемый облачный API-шлюз. Разработанный на основе NGINX + LuaJIT и etcd, APISIX отличается от традиционных API-шлюзов функциями динамической маршрутизации и горячей загрузки плагинов, что делает его особенно подходящим для облачного API-менеджмента.
Для получения наиболее практически значимых и информативных результатов запустим на Apache APISIX два типовых сценария.
На рисунке ниже приведены показатели скорости обработки запросов (QPS, queries per second – количество запросов, обработанных за секунду): чем выше этот результат, тем лучше производительность сервера.
На рисунке ниже показано время задержки отклика (измеряется в миллисекундах): чем ниже этот показатель, тем лучше производительность сервера.
В части скорости обработки запросов, интенсивный поток которых обеспечивал такой высокопроизводительный API-шлюз, как Apache APISIX, сервер AWS C7g продемонстрировал почти двукратное превосходство над GCP T2A, тогда как Azure Dpsv5 опередил сервер GCP примерно на 15%.
Так как эта статья посвящена главным образом сравнению производительности ARM-машин от разных облачных вендоров, мы не будем здесь рассматривать аспект памяти (сравнение результатов при одинаковом количестве ядер CPU, но с разными опциями памяти) и ограничимся сравнением показателей эффективности серверов по одному аргументу – числу ядер CPU.
В качестве показателя эффективности возьмем отношение скорости обработки запросов к стоимости эксплуатации сервера: QPS/$.
В таблице ниже приведены часовые показатели стоимости эксплуатации серверов AWS C7g (штат Огайо), GCP T2A (центральный район США) и Azure Dpsv5 (восток США) в указанных регионах при различном числе задействованных ядер CPU:
Серия ВМ / vCPU | 1 | 2 | 4 | 8 | 16 | 32 | 64 |
AWS c7g | $0.0361 | $0.0723 | $0.1445 | $0.289 | $0.5781 | $1.1562 | $1.7342 |
GCP T2A | $0.0385 | $0.077 | $0.154 | $0.308 | $0.616 | $1.232 | $1.848 |
Azure Dpsv5 | -- | $0.077 | $0.154 | $0.308 | $0.616 | $1.232 | $1.848 |
В следующей таблице приведены годовые показатели стоимости эксплуатации и эффективности серверов в рассмотренном выше сценарии (обработка одного потока восходящего трафика от Apache APISIX). Чем выше показатель эффективности, тем больше запросов в секунду может обрабатывать сервер за те же деньги.
ВМ | Годовая стоимость эксплуатации | Эффективность, QPS/$ |
AWS c7g.large | $633.3 | 36.3 |
GCP t2a-standard-2 | $674.5 | 16.8 |
Azure D2ps v5 | $398.0 | 33.6 |
По результатам тестов сервер AWS C7g оказывается намного эффективнее GCP T2A, как и Azure Dpsv5, который по чистой производительности превзошел GCP T2A только на 15%, но по экономической эффективности – в два раза.
Компания AWS выпустила свой первый ARM-процессор, AWS Graviton, в 2018 году – за четыре года до того, как GCP начала осваивать область ARM-серверов. На сегодняшний день процессоры AWS Graviton представляют уже третье поколение.
Анализ производительности и экономической эффективности по результатам тестирования на Apache APISIX показывает, что AWS Graviton 3 в обоих этих аспектах превосходит и GCP T2A, и Azure Dpsv5. Это обусловлено в том числе и большим опытом AWS в области разработки серверов на базе ARM.
Кроме того, в тестировании на Apache APISIX мы ограничились режимом одного ядра, то есть экономическая эффективность AWS Graviton 3 может быть еще более выраженной, если задействовать несколько ядер.
Источник: api7.ai