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

AMD EPYC GENOA на архитектуре Zen 4 уже в 2022 году и слухи про SMT4

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

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

Ещё есть spark, где давно работает smt8, например, в oracle supercluster.
SPARC

Точно, я даже заподозрил неладное, но постоянное написание spark-submit сделало свое дело.

НЛО прилетело и опубликовало эту надпись здесь
Хорошая статья, но как говориться «есть ньюансы».
По порядку.
1. SMT4 в HPC (это не процессорный сегмент, это сегмент высокопроизводительных выислений) не прижилось по простой причине. Хорошо вылизанное приложение не гейнит даже от SMT2. Нет там свободных ресурсов. SMT2 может помочь в тех случаях когда присутсвует дисбаланс (сложно посчитать декомпозицию) и часть ядер вынужденно простаивать. В большинстве же случаев SMT2 не дает ничего.

2. Теперь про KNM, странно названным «процесором для науки». Он не для науки, он для AI, а конкретно для всяких tensorflow со специфичным deep learning с порезанной точностью и выкинутым SMT, потому что не будет там простоя вычислительных блоков. Для науки тогда уже берите KNL 4-way SMT…
Хорошо вылизанное приложение не гейнит даже от SMT2. Нет там свободных ресурсов.

Например какое?

В большинстве же случаев SMT2 не дает ничего.

В большинстве серверных задач IPC около единицы, соответственно SMT даёт хороший прирост.
Например любое достаточно вылизанное. OpenFOAM например. Хрена с два вы получите гейн на нем от HT.

>В большинстве серверных задач IPC около единицы
Ну рад за вас, я про HPC говорю, а не про Apache.
Что значит «вылизанное»? Если мне в момент вычислений не нужна половина регисторов — как мне надо вылизать вычичлсения, чтобы их заюзать? Не забываем, что регистры не универсальные, поэтому просто сделать вычисления эффективней чтобы заюзать все регистры не получится, часть регистров может быть просто не нужна ни в каком виде.
сокеты SP4 и SP4r2: первые предназначены для однопоточных, а вторые — для двухпоточных процессоров линейки EPYC ROME

что?


При этом серверы IBM на POWER8 имели еще и 16 сокетов SMP (симметричная многопроцессорная обработка) — что позволяло уже тогда объединять в вычислительный кластер полтора десятка серверов.

что?!?

Пик развития многопоточности пришелся на начало 2010-х годов, когда у IBM еще было собственно производство серверов для бизнеса.
Вот спецификации IBM Power S822LC — последнего сервера от IBM этой линейки на собственном процессоре IBM POWER8 Core 2014 года выпуска

Не понял насчёт IBM, если ничего не путаю, они ушли только с рынка x86 серверов, но вполне себе производят сервера на POWER9. Именно S922LC на сайте IBM не нашёл, зато есть упоминания о нём здесь и здесь
У POWER9 и POWER10 — тоже SMT8.
С другой стороны интересно, учитывая долго сохранявшуюся разницу в подходах производителей: что выгоднее, одно ядро SMT8 (POWER, SPARC) или четыре SMT2 (x86_64)?

конечно 4 smt2. а ещё лучше 8 без smt )))


smt возник потому, что реальный код не утилизирует ресурсы ядра на 100%, значительную часть времени ядро (или часть ядра) простаивает (например, ожидает подгрузки данных из dram).


вольная ассоциация: кухня и повар. если мы добавим второго повара, то производительность кухни вырастет (но не в два раза, потому что повара иногда будут мешать друг другу).
если у нас большая, просторная кухня, то может иметь смысл ставить одновременно работать по 4 или даже по 8 поваров.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий