Одновременное многопоточное выполнение: повышение производительности и эффективности процессоров AMD EPYC
09:20, 03.07.2026
Бескомпромиссная производительность: максимизация эффективности с помощью AMD EPYC и SMT
Одним из важнейших преимуществ процессоров на базе архитектуры Arm является предсказуемость производительности и энергоэффективности. Чтобы достичь такого уровня эффективности и производительности, производители обеспечили возможность одновременной работы с несколькими потоками. Эта технология используется в процессорах корпоративного класса и называется SMT.
Производители ARM считают, что из-за SMT возникает непредсказуемость производительности, появляются уязвимости безопасности, а также требуются дополнительные затраты на внедрение этой технологии. Несмотря на такую реакцию, ARM поддерживает многопоточность во встроенных системах и определённых процессорах. Учитывая различные противоречивые мнения производителей, давайте подробнее обсудим эту тему, чтобы лучше понять одновременную многопоточность
Что такое SMT
SMT — это технология, разработанная для того, чтобы ядро процессора могло обрабатывать несколько потоков одновременно. С момента появления этой технологии её стали применять во многих процессорах для различного количества потоков. Наиболее распространённый подход, который мы рассмотрим в этой статье, — это 2-потоковый режим, предполагающий одновременное выполнение двух потоков.
Преимущества использования SMT
- Повышение пропускной способности. Одновременное использование двух потоков, несомненно, способствует повышению производительности и увеличению IPC (количество инструкций за цикл).
- Более эффективное использование ресурсов ядра. Благодаря SMT можно создать такой процесс, при котором ядро постоянно динамично задействовано. Когда в работе первого потока возникает задержка из-за ожидания необходимых данных, второй продолжает работать и использовать ресурсы ядра.
- Эффективность использования энергии. Благодаря SMT можно повысить производительность, но при этом это не влияет на энергопотребление.
- Возможность существенно повысить производительность без необходимости дополнительных затрат на лицензии.
- Гибкость. SMT можно включить или отключить через BIOS, что предоставляет администраторам большую гибкость для обеспечения оптимальной нагрузки.
- Программная поддержка. Технология SMT используется уже более 20 лет, и за это время программная поддержка достигла такого высокого уровня, что большинство современных экосистем полностью поддерживают SMT. В большинстве случаев эта функция работает «из коробки», поэтому разработчики могут использовать её сразу, без необходимости дополнительной поддержки.
Проблемы проектирования при внедрении SMT
- Увеличенная поверхность атаки. Атаки сегодня настолько часты и могут охватывать абсолютно всё, что любая функция рассматривается как потенциальная поверхность атаки. Существует множество тестов, связанных с возможными уязвимостями, именно потому, что SMT является потенциальной мишенью для атак. За последние 20 лет производители значительно снизили вероятность таких угроз. Компания AMD использовала такую функцию безопасности, как SEV-SNP, и процесс выявления новых угроз продолжается до сих пор.
- Еще одной возможной проблемой является сложность обеспечения высокой производительности для обоих потоков. Крайне важно определить, как эффективно планировать выполнение инструкций и какие ресурсы следует совместно использовать. Для обеспечения принципа равного распределения необходимо внедрить определенные механизмы контроля.
Стоимость SMT: стоит ли она инвестиций?
С точки зрения обычного пользователя это просто стандартная функция, которая уже есть и не требует дополнительных инвестиций. Её можно легко включать и выключать по мере необходимости.
Если говорить о затратах на внедрение этой функции, то цена относительно невелика, а её преимущества перевешивают минимальные инвестиции, необходимые для этого. Например, реализация SMT занимает даже менее 5 процентов площади ядра, если учитывать самые новые ядра. Это касается всей важной логики, обеспечивающей совместную работу ресурсов ядра. Это означает, что SMT использует минимальную площадь кристалла и обеспечивает исключительные результаты работы.
Кроме того, если лицензия на программное обеспечение зависит от количества ядер, дополнительная производительность может напрямую повлиять на экономию средств.
Как SMT повышает производительность и эффективность
Процессоры AMD EPYC уже доказали свою эффективность и высокие производительные характеристики. Это касается как тех рабочих нагрузок, которые выигрывают от SMT и многопоточности, так и тех, которые этого не делают, например, вычислительных и HPC-приложений.
Тест, проведенный Phoronix на Zen 5, показал значительно улучшенную производительность в большинстве тестов рабочих нагрузок, в частности в криптографии и базах данных.
Также важно отметить, что тесты на процессорах EPYC 5-го и 4-го поколений с различными рабочими нагрузками показали почти полное отсутствие или минимальную разницу в энергопотреблении при отключенной и включенной функции.
Средние результаты тестирования показали, что при включенной функции SMT на процессоре EPYC 9575F энергопотребление увеличивалось всего на 2 ватта по сравнению с отключенной функцией.
Технология SMT действительно эффективна, и мы ещё раз попробуем доказать этот факт. Когда ядро выполняет инструкцию, поток может остановиться и ожидать данных, и во время ожидания энергопотребление остаётся неизменным; когда добавляется второй поток, промежуток немедленно заполняется, а производительность повышается. Это означает, что энергоэффективность повышается гораздо больше, чем незначительное увеличение энергопотребления.
AMD EPYC с SMT: постоянное обеспечение исключительной ценности
Технология SMT была разработана ещё давно, когда использовалось 2 или 4 ядра на сокет, и все пытались выжать максимум из имеющихся ресурсов. Сейчас ситуация намного лучше, поскольку процессоры EPYC имеют до 192 ядер на сокет, но технология SMT, как и раньше, остается эффективной. Эта функция, несомненно, оказывает значительное влияние и позволяет сбалансировать спрос на дополнительные ресурсы и необходимые инвестиции. SMT — это отличный выбор для повышения производительности, который практически ничего не стоит.