2 of October - MS Stage Free Online conference: .NET, MS SQL, MS Azure, Cosmos DB. REGISTER
×Закрыть

Обзор производительности серверных процессоров

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, несмотря на только 1-2 сокетные модели процессоров — ряд серверных вендоров предлагает на них конфигурации с более чем 2 сокетами. Уровня производительности таких серверов подавляющему большинству будет более чем достаточно. Для каждого участника обзора был отобран наилучший результат из spec.org.

И так, в данном обзоре x86-процессоры будут представлены следующими моделями Intel и AMD (количество ядер для всех CPU указано — на процессор):

— AMD EPYC 7H12 2.6-3.3 GHz 64 cores, 2 threads/core (8xDDR4 3200, 204.8 GB/s, 280W, 7nm, 1P/2P)

— AMD EPYC 7702P 2-3.35 GHz 64 cores, 2 threads/core (8xDDR4 3200, 204.8 GB/s, 200W, 7nm, 1P)

— AMD EPYC 7F52 3.5-3.9 GHz 16 cores, 2 threads/core (8xDDR4 3200, 204.8 GB/s, 240W, 7nm, 1P/2P)

— AMD EPYC 7F32 3.7-3.9 GHz 8 cores, 2 threads/core (8xDDR4 3200, 204.8 GB/s, 180W, 7nm, 1P/2P)

— Intel Xeon Platinum 9282 2.60-3.8 GHz 56 cores, 2 threads/core (12xDDR4 2933, 262.2 GB/s, 400W, 14nm, max 2P)

— Intel Xeon Platinum 8280 2.70-4 GHz 28 cores, 2 threads/core (6xDDR4 2933, 131.1 GB/s, 205W, 14nm, max 8P)

— Intel Xeon Gold 6258R 2.7-4 GHz 28 cores, 2 threads/core (6xDDR4 2933, 131.1 GB/s, 205W, 14nm, max 2P)

— Intel Xeon Gold 6250 3.6-4.5 GHz 8 cores, 2 threads/core (6xDDR4 2933, 131.1 GB/s, 185, 14nm, max 2P)

(в 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) 3.4-3.8 GHz 10 cores, 8 threads/core (8xDDR4, 230 GB/s, 190-225W, 14nm, 4+P)

— POWER9 Scale-out (IBM POWER S924) 3.4-3.9 GHz 12 cores, 8 threads/core (8xDDR4, max 170 GB/s, 225-300W, 14nm, max 2P)

— SPARC64 XII 4.25-4.35 12 cores, 8 threads/core (4xDDR4 2400, 153 GB/s, 370+W, 20nm, 1-32P)

Данные о пропускной способности памяти взяты из официальных источников и целиком остаются на совести вендоров. Отличие в пропускной способности памяти (на сокет) для 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 2-го поколения содержат также и 14nm чипы GlobalFoundries.

Но очевидно, что принятые ранее в компании 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 и ... всех остальных конкурентов в конфигурациях до 4-сокетов включительно. Ввиду такого явного превосходства 2-сокетных систем с AMD EPYC над конкурентами, в обзор не была включена 4-сокетная конфигурация на AMD. Но зато включена единственная односокетная.

А вслед за первой тройкой следует Ampere Altra со 160(!) вычислительными ядрами в двухсокетной конфигурации. И это явный лидер по количеству CPU Core также на сокет, но ввиду полного отсутствия SMT — не по количеству потоков. При чем анонсированный недавно 128-ядерный Ampere Altra, в двухсокетной конфигурации, потенциально способен обойти по производительности всех участников текущего обзора. Но, к моменту выхода на рынок, конкурировать ему придется также с новинками от других вендоров, в частности с AMD ZEN3.

У новейшего односокетного AMD, благодаря 64 ядрам, результат лучше, чем у старого 4(!)-сокетного SPARC-сервера Fujitsu, процессоры которого используют жидкостное охлаждение. При чем очевидно, что подобные серверы находятся в совершенно разных ценовых категориях.

Столь бурный рост количества ядер на сокет, уже привел к изменению лицензионных политик ряда вендоров. В частности, в случае с VMware для процессоров с количеством ядер более 32, теперь нужно приобретать дополнительные лицензии. Поэтому в ряде случаев будет актуальна не только производительность на сокет, но и на отдельное ядро. Собственно, можно пересчитать текущие данные по этому критерию — SPECrate2017_int/per CPU core, очередной слайд ниже.

Что мы на нем можем отметить. Старый POWER9 с 2017 все ещё продолжает удерживать пальму первенства по производительности на ядро (в линейке POWER9 есть и 8-ядерные модели с большими базовыми частотами, для которых этот показатель был бы еще лучше). И SMT8 в этом играет не последнюю роль. Чипы AMD/Intel даже с уменьшенным количеством ядер (ради достижения больших частот и меньшей конкуренции за память), все еще не могут его обойти по производительности на ядро, хоть и дышат уже что называется в затылок. Да и SPARC-ядра не так уж и плохо смотрятся, невзирая на возраст (и снова не без помощи SMT8). Явные аутсайдеры по производительности на ядро — это, ожидаемо, оба представителя ARM-архитектуры.

Вероятно, для программных продуктов, которые лицензируются именно по количеству 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, именно для этих целей и созданных (меньше ядер, ниже конкуренция за доступ к памяти, больше базовые частоты). 64-ядерные AMD, наоборот, по данному критерию ожидаемо чуть хуже процессоров Intel, т.к. у последних меньше ядер. Однопоточная Ampere Altra выглядит вполне достойно на фоне ряда многоядерных Intel, работающих в режиме SMT2. А в явных аутсайдерах... IBM POWER9 и Fujitsu SPARC64 XII, которые отстали даже от ARM, вот она — обратная сторона медали SMT8. Рост количества потоков позволяет получить суммарно больше производительности с CPU Core, но при этом снижается производительность для каждого отдельного потока.

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 — не лучше, чем у 64-ядерных AMD, к слову, взявших лидерство уже в третий раз из четырех. Вообще, зависимость энергоэффективности от используемого техпроцесса и роста максимальных частот (уже обратно пропорционально) — достаточно наглядна.

Послесловие

Как видим, рассмотренным выше серверным ARM в плане производительности ничем революционным пока удивить нечем. Но новые модели вполне могут изменить эту ситуацию в свою пользу.

Несмотря на текущую небольшую долю на рынке, заявка на лидерство в лице AMD EPYC, выглядит более чем весомо и вполне способна изменить гегемонию Intel. Единственным процессором, не отдавшим AMD EPYC пальму первенства (по производительности на CPU Core) остался POWER9. Учитывая возраст последнего, это тоже показатель.

Список источников (производительность)

Процессор/всего ядер на сервер/сокетов/потоков на ядро
AMD EPYC 7H12 2.6-3.3 GHz 128 cores, 2 chips, 2 threads/corewww.spec.org/...​u2017-20200525-22554.html
AMD EPYC 7702P 2-3.35 GHz 64 cores, 1 chip, 2 threads/corewww.spec.org/...​u2017-20190930-18905.html
AMD EPYC 7F52 3.5-3.9 GHz 32 cores, 2 chip, 2 threads/corewww.spec.org/...​u2017-20200316-21222.html
AMD EPYC 7F32 3.7-3.9 GHz 16 cores, 2 chip, 2 threads/corewww.spec.org/...​u2017-20200331-21845.html
Intel Xeon Platinum 9282 2.60-3.8 GHz 112 cores, 2 chips, 2 threads/corewww.spec.org/...​u2017-20190624-15369.html
Intel Xeon Platinum 8280 2.70-4 GHz 112 cores, 4 chips, 2 threads/corewww.spec.org/...​u2017-20191224-20463.html
Intel Xeon Gold 6258R 2.7-4 GHz 56 cores, 2 chips, 2 threads/corewww.spec.org/...​u2017-20200217-20912.html
Intel Xeon Gold 6250 3.9-4.5 GHz 16 cores, 2 chips, 2 threads/corewww.spec.org/...​u2017-20200302-21041.html
IBM Power E950 3.4 — 3.8 GHz, 40 cores, 4 chips, 8 threads/corewww.spec.org/...​u2017-20180805-08109.html
IBM Power S924 3.4 — 3.9 GHz 24 cores, 2 chips, 8 threads/corewww.spec.org/...​pu2017-20180318-04004.pdf
Fujitsu SPARC64 XII 4.25-4.35 GHz, 48 cores, 4 chips, 8 threads/corewww.spec.org/...​u2017-20171207-01361.html
*Ampere Altra up to 3GHz 160 cores, 2 chip, single threaded corearstechnica.com/...​tive-power-efficient-cpu
*Marvell ThunderX2 CN9980 2.2-2.5 GHz 64 cores, 2 chip, 4 threads/corewww.servethehome.com/...​real-arm-server-option/5www.nextplatform.com/...​rx2-versus-intel-skylake
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Застой Intel не временный а системный.

Главного инженера по процессорам уволили. Более того они подумывают переать производство 7nm процессоров конкурентам.
Новый план предусматривает появление 7nm к концу 2022/началу 2023, а конкуренты планируют 5nm уже к концу 2021.

www.theregister.com/...​tel_engineering_boss_out

стоимость внедрения очередного техпроцесса требует все более колоссальных инвестиций
и многопрофильные компании просто не могут тратить из своего бюджета на это направление такие же суммы, как чистые чипмейкеры, такие как TSMC
первыми из этой гонки нанометров вышли IBM и AMD — став fabless
у Intel существенно выше капитализация, поэтому они и держались за собственное производство дольше
но, как видим, экономия на инвестициях, ради увеличения текущей прибыли, в дальней перспективе ни к чему хорошему не приводит (пока выжимали остатки из +++, конкуренты ушли вперёд)

экономия на инвестициях

Я не работал близко к железу но не думаю что 20 миллиардов в год (19.5 (2019) 20.3 (2018)) можно классифицировать как «экономия не инвестициях».
Тот же TSMC тратит ~3 миллиарда в год на R&D.

Был какой-то серьезный управленческий просчет.

Да не важно, сколько нанометров они там объявят. Техпроцесс это маркетинговая характеристика, а не реальная характеристика производительности. Под техпроцессом теперь каждая компания понимает что-то свое.
Сравнивать нужно только результаты реальной работы, а не заявления типа «5 нм уже завтра».

А можно циферки по времени обучения или пробега по типичной какой нейронке?

это ж уже не про CPU, для этого есть GPU и NPU/TPU/NNA

а в SPECrate 2017 Integer 3 из 10 тестов:
Artificial Intelligence: alpha-beta tree search
Artificial Intelligence: Monte Carlo tree search
Artificial Intelligence: recursive solution generator

А интеловцы опенвину делают просто потому, что лишнего водки в Нижнем выпили?

поддержка fpga, модиуса и прочего там наверно тоже не просто так?
и насколько я понял по десктопным ОС, оно для эдж вычислений

Вот поэтому я и попросил тесты такого плана, а не типичных балшит выше.

Подписаться на комментарии