Обзор производительности серверных процессоров
I don’t know the key to success,
but the key to failure is trying to please everybody
Bill Cosby
Независимо от того, размещаете вы свои приложения on-premise и/или в public cloud, одним из значимых факторов используемой инфраструктуры является производительность центральных процессоров. Данный обзор как раз затронет эту тему.
Для того чтобы сравнить в первом приближении производительность представленных на рынке серверных процессоров, совершенно не обязательно на несколько месяцев забивать собственный ЦОД серверами разных вендоров. Иногда достаточно просто воспользоваться уже готовыми результатами, просто сведя их вместе. Такую возможность в частности предоставляет www.spec.org. Из всего многообразия присутствующих там тестов, остановимся на CPU2017 Integer Rate (Throughput: work per unit of time; Higher score=better performance), как наиболее близко имитирующему многопоточную нагрузку общего назначения. Если кто-то занимается молекулярной динамикой или моделированием Большого взрыва, то его выбором был бы — CPU2017 Floating Rate, но в данном обзоре мы остановимся на целочисленных вычислениях. Количество сокетов (включая тех вендоров, которые не оперируют данным термином) в конфигурации выбранных серверов ограничим максимум четырьмя. У некоторых производителей максимально доступные конфигурации серверов ограничены только 2 сокетами, в частности, у рассмотренных далее ARM. В случае с AMD, несмотря на только
И так, в данном обзоре x86-процессоры будут представлены следующими моделями Intel и AMD (количество ядер для всех CPU указано — на процессор):
— AMD EPYC 7H12
— AMD EPYC 7702P
— AMD EPYC 7F52
— AMD EPYC 7F32
— Intel Xeon Platinum 9282
— Intel Xeon Platinum 8280
— Intel Xeon Gold 6258R
— Intel Xeon Gold 6250
(в spec.org пока нет результатов недавно анонсированного нового поколения Intel Xeon Cooper Lake и Xeon 8380H в частности, поэтому и в обзор они не вошли)
Знамя RISC-процессоров будут отстаивать уже давно немолодые IBM POWER9 (процессор 2017 года, анонс нового POWER10 согласно роадмапу в 2021 году). И Fujitsu SPARC64 XII, которые устанавливаются как в сервера Fujitsu, так и сервера Oracle (процессор 2017 года, нового поколения SPARC-процессора в роадмапе нет, на 2021 год запланировано улучшение текущего SPARC64 XII, новый процессор Fujitsu уже на архитектуре ARM — A64FX).
— POWER9 Scale-up (IBM POWER E950)
— POWER9 Scale-out (IBM POWER S924)
— SPARC64 XII
Данные о пропускной способности памяти взяты из официальных источников и целиком остаются на совести вендоров. Отличие в пропускной способности памяти (на сокет) для POWER9 Scale-up (IBM POWER E950 с Centaur chip) и Scale-out (IBM S924, без таких чипов) обусловлено ее разной архитектурой, как это изображено на слайде ниже.
image source: ftp.software.ibm.com/...n_Unofficial_DeepDive.pdf
И, конечно же, набирающий популярность тренд на рынке серверов — ARM-процессоры (из рассматриваемых, это единственная серверная архитектура, с которой я пока не работал, поэтому мне было особенно любопытно оценить производительность). Несмотря на то, что производителей серверных ARM-процессоров уже формально давно больше, чем х86, до сих пор результатов ни по одному из них нет в официальной базе CPU2017 Integer Rate. Поэтому придется пользоваться неофициальными (отмечены далее *), поверив на слово производителям (ссылки на используемые источники данных по производительности предоставлены в конце обзора). Представителями от данной архитектуры будут Marvell ThunderX2 (на замену которому скоро будет выпущен ThunderX3) и новейший Ampere Altra (который в свою очередь, также ожидает обновление модельного ряда, с большим количеством CPU Core). Что примечательно, в последнюю инвестировала компания Oracle, после того как фактически отказалась от дальнейшей разработки собственной линейки SPARC-процессоров.
— Ampere Altra up to 3GHz 80 cores, single thread/core (8xDDR4 3200, 204.8 GB/s, 210W, 7nm)
— Marvell ThunderX2 CN9980 2.2-2.5GHz 32 cores, 4 threads/core (8xDDR4 2667, 170.6 GB/s, 180W, 16nm)
По «тонкости» техпроцесса явный лидер — Ampere Alta (7nm TSMC). Так как текущие многочиповые AMD EPYC
Но очевидно, что принятые ранее в компании AMD непростые решения о разделении бизнеса и переход к fabless — оказались правильными. А вот в IBM, производство POWER9 целиком на некогда их совместном с AMD детище — GlobalFoundries .
Отличие SPECrate2017_int_base от SPECrate2017_int_peak в том, что — второй вариант допускает использование различной оптимизации на уровне компиляторов, что в свою очередь позволяет получить соответственно лучший результат.
Итак, что мы видим на слайде ниже (на слайдах количество ядер указано суммарно для тестируемой конфигурации). У 2×64-ядерных AMD EPYC 7H12 (TDP 280W) результат целочисленных вычислений лучше, чем у пары Intel Xeon Platinum 9282 (TDP в 400W у которых, позволяет устанавливать их только и исключительно в соответствующее шасси), лучше, чем у 4x Intel Xeon Platinum 8280 и ... всех остальных конкурентов в конфигурациях до
А вслед за первой тройкой следует Ampere Altra со 160(!) вычислительными ядрами в двухсокетной конфигурации. И это явный лидер по количеству CPU Core также на сокет, но ввиду полного отсутствия SMT — не по количеству потоков. Причем анонсированный недавно
У новейшего односокетного AMD, благодаря 64 ядрам, результат лучше, чем у старого 4(!)-сокетного SPARC-сервера Fujitsu, процессоры которого используют жидкостное охлаждение. Причем очевидно, что подобные серверы находятся в совершенно разных ценовых категориях.
Столь бурный рост количества ядер на сокет, уже привел к изменению лицензионных политик ряда вендоров. В частности, в случае с VMware для процессоров с количеством ядер более 32, теперь нужно приобретать дополнительные лицензии. Поэтому в ряде случаев будет актуальна не только производительность на сокет, но и на отдельное ядро. Собственно, можно пересчитать текущие данные по этому критерию — SPECrate2017_int/per CPU core, очередной слайд ниже.
Что мы на нем можем отметить. Старый POWER9 с 2017 все ещё продолжает удерживать пальму первенства по производительности на ядро (в линейке POWER9 есть и
Вероятно, для программных продуктов, которые лицензируются именно по количеству CPU Core будет выгоднее использовать POWER, а не х86? Это сильно зависит от нюансов лицензирования. К примеру, в Oracle используют разные поправочные коэффициенты для разных CPU. И если для представленных в этом обзоре AMD EPYC, Intel Xeon и SPARC64 XII — этот поправочный коэффициент 0.5 (50% дискоунт). То для POWER9 — он уже 1.0 (то есть полная стоимость лицензии). А как видно на слайде выше — ядра POWER9 конечно быстрые, но не настолько, чтобы обходить x86/SPARC в 2 и более раза. Также, так как на текущий момент, отдельных поправочных коэффициентов для ARM нет, то гипотетическое поядерное лицензирование Oracle на данной архитектуре — может быть крайне финансово обременительным.
Следующий логичный шаг — пересчет производительности уже на поток. Это даст представление о скорости выполнения отдельных потоков под многопоточной нагрузкой в данном тесте.
В результате, в явных лидерах мы снова видим AMD, в лице EPYC 7FXX, именно для этих целей и созданных (меньше ядер, ниже конкуренция за доступ к памяти, больше базовые частоты).
source image: www.ibm.com/...ce-aix-lop-trs/index.html
Будет ли в реальной жизни у этих двоих такая же, относительно низкая производительность на поток, как в данном тесте? Да, но не настолько катастрофически низкая. Потому что, в отличие от данного теста, не будет постоянно 100% утилизации всех логических процессоров. И, даже при включенном SMT8, но меньшем количестве запущенных потоков, процессоры смогут выполнять отдельные потоки быстрее. Но по производительности на поток, ни х86-64, ни Ampere Altra обоим RISC-ам не обогнать.
Еще можно пересчитать результаты по уровню энергоэффективности. Данные по TDP процессоров, полученные из открытых источников достаточно приблизительные, но давайте все же посмотрим — что из этого получится. Последний слайд с производительностью на Watt ниже. Что на нем интересного видно или не видно? В первую очередь, там не видно так активно декларируемого для ARM преимущества по энергоэффективности. У Marvell Thunder X2 производительность на Watt незначительно лучше, чем у RISC-процессоров тех же годов на близком техпроцессе. У Ampere Altra — не лучше, чем у
Послесловие
Как видим, рассмотренным выше серверным ARM в плане производительности ничем революционным пока удивить нечем. Но новые модели вполне могут изменить эту ситуацию в свою пользу.
Несмотря на текущую небольшую долю на рынке, заявка на лидерство в лице AMD EPYC, выглядит более чем весомо и вполне способна изменить гегемонию Intel. Единственным процессором, не отдавшим AMD EPYC пальму первенства (по производительности на CPU Core) остался POWER9. Учитывая возраст последнего, это тоже показатель.
Список источников (производительность)
Процессор/всего ядер на сервер/сокетов/потоков на ядро | ||
AMD EPYC 7H12 | www.spec.org/...u2017-20200525-22554.html | |
AMD EPYC 7702P | www.spec.org/...u2017-20190930-18905.html | |
AMD EPYC 7F52 | www.spec.org/...u2017-20200316-21222.html | |
AMD EPYC 7F32 | www.spec.org/...u2017-20200331-21845.html | |
Intel Xeon Platinum 9282 | www.spec.org/...u2017-20190624-15369.html | |
Intel Xeon Platinum 8280 | www.spec.org/...u2017-20191224-20463.html | |
Intel Xeon Gold 6258R | www.spec.org/...u2017-20200217-20912.html | |
Intel Xeon Gold 6250 | www.spec.org/...u2017-20200302-21041.html | |
IBM Power E950 3.4 — 3.8 GHz, 40 cores, 4 chips, 8 threads/core | www.spec.org/...u2017-20180805-08109.html | |
IBM Power S924 3.4 — 3.9 GHz 24 cores, 2 chips, 8 threads/core | www.spec.org/...pu2017-20180318-04004.pdf | |
Fujitsu SPARC64 XII | www.spec.org/...u2017-20171207-01361.html | |
*Ampere Altra up to 3GHz 160 cores, 2 chip, single threaded core | arstechnica.com/...tive-power-efficient-cpu | |
*Marvell ThunderX2 CN9980 | www.servethehome.com/...real-arm-server-option/5www.nextplatform.com/...rx2-versus-intel-skylake |
13 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів