Как стать автором
Обновить

80-ядерные ARM-процессоры Ampere Altra протестировали: производительность на уровне AMD EPYC 7742

Время на прочтение4 мин
Количество просмотров23K
Всего голосов 34: ↑34 и ↓0+34
Комментарии45

Комментарии 45

Обидно, что вся эта мощь будет использована в основном для сбора данных о пользователях "бесплатных" сервисов и показа ему убогой таргетированной рекламы.

После выхода следующего поколения эти процы можно будет купить на Али, как сейчас со старыми Зионами происходит.
После морального устаревания, когда начнут списывать устаревшее оборудование и дербанить его на комплектующие. Выгодней продать в десятки-сотни раз дешевле себестоимости, чем утилизировать…

Только попробуй для них нормальную "обвязку" потом найти.

А главная проблема таргетированной рекламы в том, что она про «желания в прошлом». А не про то что хочется.
Потому Big Data — есть. Смысла в ней — нет. Потому как умного анализа еще не придумали. Весь ИИ пока еще Интелект Идиота ;)
Все что происходит с рекламой — она месяцами продолжает втирать то, что я либо уже купил. Либо на что уже положил болтик. И то, и другое делает рекламу или параллельной, или раздражающей. А должна заинтересовывать.

Есть ещё вариант послушать о чём вы говорите :)

ИИ — «Искусственный Идиот».
остается лишь добавить что чип хорош не столько своей абсолютной производительностью, сколько относительной стоимостью — он на ~40% дешевле epyc'а. Хотя конечно же разница сильно размывается стоимостью остальных компонентов сервера.

ну почему, у него есть ещё сильные стороны: производительность на ватт, производительность на юнит в стойке.
а цена — это же не технический параметр, скорее она вызвана желанием войти на рынок, а не какими-то новшествами в «процессоростроении». спустя какое-то время цены сравняются.


P. S. у предыдущих армов были проблемы с производительностью на ядро, а в некоторых задачах это важно («девять женщин не могут родить ребёнка за месяц»). тут же видим паритет с текущими x86, что очень даже радует, конкуренция — это хорошо.

ну почему, у него есть ещё сильные стороны: производительность на ватт, производительность на юнит в стойке.
ну допустим altra примерно равен epyc'у по производительности (хотя это с натяжкой), даже слегка выше его по TDP, так что ни по первому ни по второму не получается выгоднее. Насколько я понимаю, в датацентровой математике расчет идет по «total cost of ownership» — первоначальная стоимость чипа, плюс стоимость энергии (рассеиваемой и затраченной на охлаждение) за период эксплуатации. Так что пожалуй перевес altra только в цене.
«девять женщин не могут родить ребёнка за месяц»
таких задач маловато будет — всё-таки датацентровые приложения обычно либо хорошо масштабируются вширь, либо недостаточно хорошо написаны (с точки зрения балансировки нагрузки)
даже слегка выше его по TDP

Сравнивать процессоры разных производителей по tdp бессмысленно
image


датацентровые приложения

Предоставление всяких vps, например, достаточно «датацентрово»? )

Так что пожалуй перевес altra только в цене.

И то спорно. Никто за эти деньги процессоры не покупает. У реальных клиентов скидки хоть 50% могут быть. Именно там цены надо сравнивать, когда закупается сразу несколько сотен, а то и тысяч серверов. Тот же суперкомпьютер построить.

Все равно простым смертным эти армы пока не светят, да и смысла никакого в них нет. Тот же vmware еще не поддерживает эти все игрушки, а это практически весь рынок виртуализации.

Куда ни ткнусь в контексте поиска виртуальных серверов — везде вижу KVM, иногда XEN. Они не относятся к рынку, или как получается, что там практически всё заняла какая-то неведомая VMWare?

Нет, к рынку простых смертных они не относятся. Все обзоры рынка организаций со своими небольшими приватными кластерами говорят, что есть vmware и есть все остальное с жалкими процентами. В контексте поиска виртуальных серверов речь будет об облачных провайдерах и прочих. Vmware до таких размером банально не скейлится. Вот им армы как раз пойдут и для них сабж и предназначен в первую очередь.
НЛО прилетело и опубликовало эту надпись здесь
подстегнуть АДМ

Трижды перечитывал, но никак не дотумкивал, АРМ или АМД. На четвёртый раз дошла до Штирлица шифровка из Центра :)
НЛО прилетело и опубликовало эту надпись здесь
>>Что касается аналогов в мире x86-64, ими являются AMD EPYC 7742 (64 ядра, SMT2, 225

Ватт, $6950) и Intel Xeon Platinum 8280 (28 ядер, SMT2, 205 Ватт, $10009)
Не совсем понятно, ARM-процессор с TDP 250 Вт конкурирует с x86 процессорами у которых TPD 225 и 205 соответственно, тесты по производительности показали паритет

учитывая что основное преимущество ARM перед x86 выдавалось именно как энергоэффективность, то выглядит на первый взгляд не очень
У этого ARMа не поддерживается динамическое изменение частоты ядер, поэтому они все в ожидании молотят вхолостую на номинальной частоте и из-за этого греются. Возможно, разработчики упёрлись в синхронизацию быстрых и медленных ядер и пока пошли по самому короткому пути…
Ну не совсем наверное молотят там же куча уровней останова всяких

Возможно их реализовали только для случая "сейчас расплавимся снижаем частоту у всего ядра в 2/4 раза".
Т.е. процессор задумывался именно как работающий всё время на 100%

Так снижение частоты — не единственный способ снижения энергопотребления. При выполнении банальных холостых циклов (NOP) процессоры тоже потребляют весьма мало энергии. Видимо, дальнейшие меры по снижению энергопотребления усложняли бы дизайн процессора, а выхлоп был от них уже не особо большой плюс могла иметь место нестабильность при переключении частоты и питания.

А пустые циклы ещё выполняются? (Есть сомнения если честно, для больших процессоров по крайней мере)
Более того энергопотребление действительно зависит от того какие команды исполняются(какие блоки задействуются) но этот код не зависит от цп это "пользовательский код" а у самого ЦП есть только один способ это частота смены состояний т.е. частота на которой работают блоки (там ещё напряжение может быть но оно вроде как жёстко связано с частотой)

Это код операционной системы где-то в диспетчере потоков.

Сейчас — нет, используется HLT, MWAIT. Частоту процессора при этом понижать совершенно не обязательно.

И если я буду выполнять код в котором не будет этих инструкций при этом температура окружающей среды будет чуть выше то процессор сгорит? (Прямо как в тех историях про яичницу?).
Я имел ввиду
1-е современный процессор защищает себя на "аппаратном" уровне, Ане зависимости от исполняемого кода (будь то код операционной системы или приложений)
2-е современный конвейер по идее может просто выкидывать из кода пустые операции(хотя при отсутствии встроенного управления потоками, возможно, в этом нет необходимости, однако если вспомнить кейсы в которых использовались такие операции в z80 например, то сейчас им не видно сферы для применения).
napa3um
А то что процесс можно подвесить до внешнего воздействия, и это это "охладит" процессор это немного другое на мой взгляд.

1. От перегрева — да. Он просто отключится. От пустых циклов? А что это за цикл? while (true) для процессора это все же не пустой цикл, а конкретная инструкция, которую ему придется выполнять. Вполне реальные вещи через busy wait делают.
2. Что значит пустые? Откуда процессору это знать?

1 где я написал "пустой цикл"/выше комментарием? Так это было про холостые циклы указанные выше.
Современные процессоры при перегреве таки снижают "энергоёмкость операций" путём снижения производительности — тот самый throttling…
2 nop… Были такие сейчас не в курсе… был в подождать пару тактов на условном z80/8080...


p.s. в общем была фраза "Так снижение частоты — не единственный способ снижения энергопотребления" которая как бы подталкивала к тому что необходимо программно следить за температурой, и как вариант использовать команды "ничего не делания", у меня же есть сомнения что данные команды сейчас просто пропускаются при построении цепочки исполнения команд.

1. Для меня это еще не перегрев. Троттлинг это превышение термопакета или какой-то произвольной температуры, которую задал производитель ПК на основе каких-то своих соображений. При чем не обязательно процессора — при сильном нагреве VRM процессор тоже будет отправлен в троттлинг. И это еще мы не касается вещей вроде smartshift. В моем понимании перегрев это превышении заданной планки, которая зависит от процессора и настроек биоса, и предотвращает физический вред процессору. При ее превышении процессор просто выключится.
Снижение частоты действительно не единственный способ. Еще снижают напряжение. Программно следить за температурой не нужно. Процессоры спокойно это сами делают. Те же ryzen повышают частоты сверх номинала согласно температуре (наверное еще энергопотреблению. По крайней мере видеокарты точно имеют такие ограничения) и будут держать их, пока есть нагрузка.
2. Что делает nop в современном процессоре можно посмотреть тут www.agner.org/optimize/instruction_tables.pdf и тут www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-instruction-set-reference-manual-325383.pdf Процессор честно пропустит ее через пайплайн и потратит на это драгоценные циклы, да еще задействует для этого ALU.

TDP разных производителей несовместимы.

однако именно с ними сравнили в этом обзоре и указали TPD для всех

В статье ещё и график потребления есть. А в оригинальных обзорах можно найти ещё графики.

www.anandtech.com/show/16315/the-ampere-altra-review/2
although for example Ampere’s Altra Q80-33 showcases a 250W TDP figure, its power consumption for the majority of workloads almost always averages below that figure, ranging as low as 180W for some low-IPC workloads. I haven’t actually measured a single average figure across all of our workloads, but a rough estimate across the board for the Q80-33 would be 200W.


тесты по производительности показали паритет

Ага, только Интелов вам понадобится две штуки.
Люди покупают 80-ядерник вовсе не для того, чтобы запускать однопоточные задачи.

Интересно, в реальных условиях не будет ли доступ к памяти узким местом? Не получится так, что ядра будет простаивать в ожидании доступа к памяти?

ИМХО, ядра будут простаивать в ожидании синхронизации 80-ти кэшей инструкций и данных.

В ARM используется более слабая модель памяти, по сравнению с x86. Это немного сглаживает ситуацию.

Модель память это про реордеринг. В сабже Neoverse N1 арм ядро с полной когерентностью кэшей. В этом плане они как x86-64

Так реордеринг как раз и позволяет снизить задержки доступа к памяти.

Интересно какой процент времени тратится на арбитраж 80-ти ядер и на синхронизацию 80-ти кэшей?
Особенность Altra — отсутствие многопоточности

Это как?
НЛО прилетело и опубликовало эту надпись здесь

Наверное одновременная имеется в виду (SMT, HT у интела).

Биткоин просто взлетел, народ, далеко ли ракета летит?
Это 64+64 Кбайт L2, 1 Мбайт L2


Имеется ввиду 64+64 Кбайт L1 и 1 Мбайт L2. Небольшая опечатка.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий