Simultaneous multithreading ryzen что это
Перейти к содержимому

Simultaneous multithreading ryzen что это

  • автор:

SMT Mode — что это в биосе?

Приветствую. Сегодня я постараюсь простыми словами рассказать про одну функцию, которая позволяет повысить производительность процессора. Она давно уже существует в процах Intel и только относительно недавно появилась у AMD.

SMT Mode — что это такое?

Режим, при котором одно физическое ядро процессора представляется в виде двух виртуальных ядер, которые обрабатывают два потока данных вместо одного.

  1. Для эффективной работы необходима не только поддержка SMT на аппаратном уровне, но и поддержка операционкой и софтом.
  2. При выставлении Activated могут быть проблемы с платой, поэтому лучше ставить Auto, тогда SMT все равно будет работать, но проблемы с платой будут минимизированы.
  3. По факту — 2 потока на ядро, как в технологии Intel Hyper-Threading. 1 поток слабее чем 1 ядро. Но 2 потока могут дать больше производительности, чем 1 ядро. Такие потоки Windows воспринимает как реальные ядра.

Другими словами это технология многопоточности, при включении которой производительность процессора повышается, потому что удается загрузить процессор по полной.

Для примера — посмотрите некоторые характеристики процессоров Ryzen, где видим, на одно ядро приходится два потока:

И опция SMT Mode именно активирует работу этих потоков. Нет смысла ее отключать.

SMT Mode — включать или нет?

При использовании последнего билда Windows 10, современных игр, последних драйверов, если у вас процессор Ryzen не первого поколения, а последнего — то в большинстве случаев отключение потоков снизит производительность. Сегодня многие баги связанные с многопоточностью уже устранили.

В интернете есть информация, что SMT стоит отключать для игр, в итоге повышается FPS. С чем связано? Смотрите, 6 ядер процессора — это 6 настоящих ядер, полноценных. Быстрых. А 12 потоков — это уже не полноценные ядра, могут выполнять больше работы, но не быстрее, потому что каждый такой поток работает медленнее одного ядра. Но суммарно 12 потоков смогут за одно время выполнить больше работы, чем 6 ядер и это при условии что софт оптимизирован под многопоточность. Но многим играм и правда достаточно 6 настоящих ядер (особенно если высокая частота), чем 12 потоков. Но повторюсь — все зависит от игры и от ее оптимизации.

Если игра оптимизирована под многопоточность, то отключение потоков только снизит FPS.

Кстати, что интересно.. у процессоров AMD FX по сути тоже присутствуют потоки. Хоть компания и представила их как 8-ядерные, там по сути 4 ядра и 8 потоков. Но отключить там потоки нельзя.

Когда только вышел Ryzen, то отключение потоков дало плюс в производительности. Но это было раньше. Сейчас уже все оптимизировали, в том числе и планировщик Windows.

Но при разгоне процессора SMT Mode стоит отключать.

Название раздела BIOS содержащий функцию зависит от производителя. Например на плате ASUS Prime X370 Pro функция SMT расположена здесь:

И имеет два варианта значений — Auto/Disabled. В тоже время на плате AsRock B450 Pro4 функция расположена здесь:

OC Tweaker/CPU Configuration

Значения опции — Enabled/Disabled.

Чтобы проверить отключена ли опция или нет, советую использовать CPU-Z — смотрим сколько ядер (Cores) и сколько потоков (Threads):

Если SMT Mode отключено — количество потоков будет равно количеству ядер.

Настройка в материнке MSI (раздел Overclocking\Параметры CPU):

Заключение

  1. SMT Mode — активация технологии потоков в процессоре AMD.
  2. Позволяет увеличить производительность, особенно если софт/игра оптимизирована под многопоточность.

Многопоточность процессора
(HT, SMT)

В процессорах Intel технология многопоточности называется Hyper-Threading (HT), в процессорах AMD — Simultaneous MultiThreading (SMT).

Кроме названий, эти технологии отличаются еще и многими аспектами реализации. Однако, суть их одинакова. HT и SMT повышают эффективность использования вычислительных возможностей процессора за счет параллельного выполнения каждым его ядром двух потоков вычислений.

Ядра мультипоточного процессора содержат по два контроллера прерываний и набора регистров. Операционная система компьютера каждое такое физическое ядро воспринимает как два логических ядра.

В большинстве приложений HT и SMT значительно повышают быстродействие процессора. Однако, их эффективность зависит как от самой технологии, так и от используемого программного обеспечения.

Наличие Hyper-Threading в процессоре Intel предполагает, что один из потоков вычислений, обрабатываемых его ядром, является основным. Второй поток выполняется только в те периоды времени, когда ресурсы ядра по каким-то причинам не полностью заняты или временно не заняты основным потоком (оста́точный принцип). В некоторых случаях, на второй поток может приходиться до 50% ресурсов ядра. Но такое бывает не часто. В приложениях, в которых основной поток эффективно использует ядро, пользы от Hyper-Threading будет значительно меньше. В среднем, этот показатель составляет около 20-30%. В процессоре без Hyper-Threading эти ресурсы попросту не используются.

Результаты тестов дают основания считать, что алгоритм работы Simultaneous MultiThreading, используемый в процессорах AMD, отличается от Hyper-Threading в сторону большего равноправия обоих потоков. В одних приложениях это себя оправдывает (рендеринг), в других — приводит к снижению производительности (видеоигры).

Однако, технологии мультипоточности, а также использующее их программное обеспечение, постоянно совершенствуются, становясь все более эффективными. Процессор с поддержкой HT или SMT — однозначно более предпочтительный вариант, чем аналогичный процессор без них. Ну а на случай, если в каком-то важном приложении мультипоточность будет негативно влиять на быстродействие, в BIOS компьютера предусмотрена возможность ее отключения.

ПОДЕЛИТЬСЯ:

НАПИСАТЬ АВТОРУ

Похожие материалы

Технологии и инструкции, используемые в процессорах

Люди обычно оценивают процессор по количеству ядер, тактовой частоте, объему кэша и других показателях, редко обращая внимание на поддерживаемые им технологии.

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

Так, полюбившийся многим браузер Google Chrome не работает без поддержки процессором SSE2. Инструкции AVX могут в разы ускорить обработку фото- и видеоконтента. А недавно один мой знакомый на достаточно быстром Phenom II (6 ядер) не смог запустить игру Mafia 3, поскольку его процессор не поддерживает инструкции SSE4.2.

Если аббревиатуры SSE, MMX, AVX, SIMD вам ни о чем не говорят и вы хотели бы разобраться в этом вопросе, изложенная здесь информация станет неплохим подспорьем.

Таблица совместимости процессоров и материнских плат AMD

Одной из особенностей компьютеров на базе процессоров AMD, которой они выгодно отличаются от платформ Intel, является высокий уровень совместимости процессоров и материнских плат. У владельцев относительно не старых настольных систем на базе AMD есть высокие шансы безболезненно «прокачать» компьютер путем простой замены процессора на «камень» из более новой линейки или же флагман из предыдущей.

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

Сравнение процессоров

В таблицу можно одновременно добавить до 6 процессоров, выбрав их из списка (кнопка «Добавить процессор»). Всего доступно больше 2,5 тыс. процессоров Intel и AMD.

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

Дополнительные рекомендации по использованию таблицы можно найти внизу страницы.

Спецификации процессоров

В этой базе собраны подробные характеристики процессоров Intel и AMD. Она содержит спецификации около 2,7 тысяч десктопных, мобильных и серверных процессоров, начиная с первых Пентиумов и Атлонов и заканчивая последними моделями.

Информация систематизирована в алфавитном порядке и будет полезна всем, кто интересуется компьютерной техникой.

Таблица процессоров

Таблица содержит информацию о почти 2 тыс. процессоров и будет весьма полезной людям, интересующимся компьютерным «железом». Положение каждого процессора в таблице определяется уровнем его быстродействия в синтетических тестах (расположены по убыванию).

Есть фильтр, отбирающий процессоры по производителю, модели, сокету, количеству ядер, наличию встроенного видеоядра и другим параметрам.

Для получения подробной информации о любом процессоре достаточно нажать на его название.

Как проверить стабильность процессора

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

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


ПОКАЗАТЬ ЕЩЕ

Что такое SMT и как оно работает в приложениях — плюсы и минусы

Пока я радую свои графоманские пристрастия написанием детальной технической статьи про «Windows Performance Station», захотелось поделиться своими мыслями о том, что хорошего и плохого приносит SMT в процессоры «AMD» и «Intel», и как тут поможет «Windows Performance Station».

image

Тем, кому интересна данная тема, добро пожаловать под кат…

Итак, для начала давайте определимся, что такое SMT.

Как говорит нам википедия, SMT (от англ. simultaneous multithreading) это одновременная многопоточность, т.е. несколько потоков выполняются одновременно, а не последовательно, как это происходит во «временно́й многопоточности».

Многие знают эту технологию под названием «Intel Hyper-Threading», про неё уже всё давно написано, но до сих пор я сталкиваюсь с тем что многие разработчики, и, тем более, обыватели не понимают в чём основная суть «одновременного» выполнения нескольких команд одним ядром процессора и какие проблемы это несёт.

Для начала поговорим про временну́ю многопоточность. До реализации технологии SMT в виде «Hyper-Threading» использовалась технология «временно́й многопоточности».

Тут всё просто, представим, что у нас есть один конвейер и один рабочий (Ядро ЦП), который выполняет операции над числами и записывает результат. Предположим, для этих операций ему нужна отвёртка и гаечный ключ. Операционная система (ОС) складывает нашему рабочему на конвейер по порядку одну операцию для отвёртки, а за ней одну операцию для гаечного ключа. Один рабочий в один момент времени может оперировать или только гаечным ключом или только отвёрткой. Таким образом, выкладывая разное количество разных блоков, ОС определяет приоритет выполнения тех или иных операций от разных приложений. Пропорцию одних блоков к другим мы можем указывать внутри ОС, когда указываем приоритет процесса. Именно это и делают все диспетчеры задач в т.ч. и «Windows Performance Station». Это приоритизирование распространяется далее на механизмы SMT и всю работу с конвейерами.

image

С появлением SMT ситуация становится чуть сложнее.

Представим конвейер и двух рабочих, у которых есть одна отвёртка и один гаечный ключ на двоих. При этом, каждый из них может оперировать либо только отвёрткой, либо только гаечным ключом. Один конвейер условно делится на две половинки вдоль. SMT позволяет сложить на такой конвейер сразу два числа, одно для работы с отвёрткой, а второе для работы с гаечным ключом, поэтому действия этих рабочих выглядят так:

— Первый рабочий получает операцию для отвёртки, а второй, стоящий напротив, в тот же момент времени, операцию для гаечного ключа, после чего оба записывают результат.

image

Исходя из этого, когда на конвейере находится операция (A и B) с одной стороны и (D и E) с другой стороны — всё отлично, но при распараллеливании цепочки вычислений могут получиться две проблемы:

1. С одной стороны конвейера оказалось действие (A и B) = С, а с другой (D и E) = C,
т.е. нужно записать сначала одно значение C, а потом второе значение C, но не одновременно (конфликт по управлению).

2. С одной стороны конвейера оказалось действие (A и B) = C, а с другой (A и C) = D,
т.е. нужно сначала посчитать C, а потом посчитать D, но не одновременно (конфликт по данным).

Оба конфликта вызывают задержку выполнения инструкций и решаются последовательным выполнением команд. Чтобы уменьшить такие задержки были введены элементы процессора под названием предсказатель переходов и кэш процессора.

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

В свою очередь, кэш процессора, необходим для быстрого решения второй проблемы, когда мы останавливаем решение выражения (A и C) = D и пишем в кэш результат выполнения (A и B) = C, после чего сразу вычисляем (A и C) = D.

Справедливости ради, стоит уточнить, что проблема распараллеливания конвейера появляется и у многоядерных процессоров без SMT, но у многоядерников не возникает момента простаивания процессора, когда на двоих рабочих одна отвёртка, т.к. в такой терминологии у каждого рабочего есть своя отвёртка и свой гаечный ключ.

image

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

Вообще, стоит держать в уме, что «Intel» разработала «Hyper-Threading» одновременно с созданием своих первых многоядерных процессоров «Xeon» и, по сути, эту технологию можно считать эдаким компромиссом когда ставится двойной конвейер на одно ядро.

С подачи маркетологов принято нахваливать то, как хорошо одно ядро может выполнять несколько задач одновременно и как повышается производительность «в некоторых сценариях использования», однако про проблемы, присущие концепции SMT принято умалчивать.

Примечательно, что на сайте «Intel» в рекламном ролике показывается скорее двухядерность, нежели «Hyper-Threading», тот кто дочитал до этого момента, наверняка уже догадался почему 🙂

Изображение из видео:

image

Более точное изображение:

Какой вывод можно здесь сделать и что улучшить?

Особенность отображения загрузки логических ядер в ОС Windows вводит путаницу об информации реальной загруженности ядер с SMT. Если Вы видите, что два соседних ядера заняты ~50% это может означать две вещи:
1) оба ядра выполняют два параллельных расчёта и загружены на 50% (тут всё ок).
2) оба ядра выполняют один рассчёт попеременно (как если бы два рабочих через такт передавали друг-другу гаечный ключ).
Поэтому, если Вы видите, что все ядра Вашего процессора с SMT загружены на 50% и выше нагрузка не поднимается, скорее всего это значит, что утилизация процессора составляет 100% но он занят однотипной задачей, которую не может разделить для выполнения на SMT!

Вместе с очевидными плюсами, SMT приносит фризы в чувствительные для времени выполнения задачи (воспроизведение видео/музыки или FPS в играх). Именно поэтому, многие геймеры наблюдают падение FPS при включенном SMT/Hyper-Threading.

Как я и написал ранее, приложение «Windows Performance Station» может сортировать блоки, выкладываемые на конвейер, ещё на этапе обработки задач ядром ОС. С помощью приоритетов и разделения процессов по ядрам процессора, можно выкладывать определённые блоки на конвейер в нужном количестве и класть разнотипные блоки для разных виртуальных ядер, чтобы не наступало голодание разнотипных задач. Именно для этой задачи динамического анализа в «Windows Performance Station» мы объединили нейросеть и диспетчер задач. В итоге, нейросеть анализирует задачу и раскладывает её в зависимости от полученных данных по разным правилам, благодаря чему, каждое ядро в паре SMT выполняет разные задачи.

image

Благодаря такому подходу, процессоры с SMT в Windows могут более эффективно работать с многозадачностью и многопоточными процессами. И именно поэтому нас весьма порадовало появление SMT в новых процессорах «AMD Ryzen».

Приложение «Windows Performance Station» бесплатное и не содержит рекламы, его можно скачать с нашего сайта по ссылке в спойлере:

Скачать

Более подробно про Windows Performance Station можно прочитать в моей предыдущей статье

Windows Performance Station или как я учил комп работать эффективно

Большое спасибо всем, кто дочитал до конца.

Системные требования

Системные требования включают в себя общие требования к программному обеспечению и отдельные требования к аппаратному обеспечению в зависимости от выбранного вами профиля работы.

Общие требования к программному обеспечению

  • 8.3.23 (не младше чем 8.3.23.1688),
  • 8.3.22 (не младше чем 8.3.22.1750),
  • 8.3.21 (не младше чем 8.3.21.1644),
  • 8.3.20 (не младше чем 8.3.20.2257),
  • 8.3.19 (не младше чем 8.3.19.1770),
  • 8.3.18 (не младше чем 8.3.18.1520),
  • 8.3.17 (не младше чем 8.3.17.1549),
  • 8.3.16 (не младше чем 8.3.16.1502),
  • 8.3.15 (не младше чем 8.3.15.1958),
  • от 8.3.11 до 8.3.14,
  • 8.3.10 (не младше чем 8.3.10.2428),
  • 8.3.9 (не младше чем 8.3.9.2016),
  • 8.3.8.

С большой долей вероятности поддерживается работа с Java 12 и Java 13, однако детальное тестирование не проводилось.

Операционная система 64-разрядная операционная система: Microsoft Windows 7 и выше, Ubuntu 18.04 LTS и выше, macOS 10.15 и выше.

Отличия профилей работы

Мы выделяем три профиля работы — минимальный, рекомендуемый и продвинутый) — в которых может использоваться 1C:EDT. Ключевые отличия требований, предъявляемых этими профилями, приведены в таблице.

Минимальный Рекомендуемый Продвинутый
Процессор Intel Core i3 Intel Core i5 Intel Core i7, AMD Ryzen
Оперативная память 4 Гбайт 8 Гбайт 16 Гбайт
Жесткий диск HDD HDD / SSD SSD
Разрешение дисплея 1280×768 1920×1080 1920×1080
Сложность приложения Средняя Высокая Максимальная

Далее следуют подробные описания требований, предъявляемых каждым профилем работы.

Минимальный профиль работы

Этот профиль позволяет использовать полный спектр операций 1C:EDT при разработке конфигураций среднего уровня сложности:

  • 6 300 объектов конфигурации,
  • 2 700 форм,
  • 5 800 модулей,
  • 200 ролей.

Операционная система 64-разрядная операционная система: Microsoft Windows 7 и выше, Ubuntu 18.04 LTS и выше, macOS 10.15 и выше. Процессор Intel Core i3 (не ниже поколения 2) и выше. Не рекомендуется использовать мобильные или ультрамобильные процессоры ниже Intel Core i5. Оперативная память 4 Гбайт и больше. Java Platform 64-разрядная Standard Edition версии 11 (скачать рекомендуемый дистрибутив).

С большой долей вероятности поддерживается работа с Java 12 и Java 13, однако детальное тестирование не проводилось.

  • 8.3.23 (не младше чем 8.3.23.1688),
  • 8.3.22 (не младше чем 8.3.22.1750),
  • 8.3.21 (не младше чем 8.3.21.1644),
  • 8.3.20 (не младше чем 8.3.20.2257),
  • 8.3.19 (не младше чем 8.3.19.1770),
  • 8.3.18 (не младше чем 8.3.18.1520),
  • 8.3.17 (не младше чем 8.3.17.1549),
  • 8.3.16 (не младше чем 8.3.16.1502),
  • 8.3.15 (не младше чем 8.3.15.1958),
  • от 8.3.11 до 8.3.14,
  • 8.3.10 (не младше чем 8.3.10.2428),
  • 8.3.9 (не младше чем 8.3.9.2016),
  • 8.3.8.

Рекомендуемый профиль работы

Этот профиль позволяет разрабатывать конфигурации любого уровня сложности. Рекомендуемый профиль обеспечивает достаточный уровень производительности для комфортной разработки конфигураций высокого уровня сложности:

  • 8 200 объектов конфигурации,
  • 4 000 форм,
  • 8 800 модулей,
  • 300 ролей.

Операционная система 64-разрядная операционная система: Microsoft Windows 7 и выше, Ubuntu 18.04 LTS и выше, macOS 10.15 и выше. Процессор Intel Core i5 (не ниже поколения 2) и выше, 4 потока (без Hyper-Threading), и выше. Не рекомендуется использовать мобильные или ультрамобильные процессоры ниже Intel Core i7. Оперативная память 8 Гбайт и больше. Рекомендуется выделить для 1C:EDT 6 Гбайт памяти. Java Platform 64-разрядная Standard Edition версии 11 (скачать рекомендуемый дистрибутив).

С большой долей вероятности поддерживается работа с Java 12 и Java 13, однако детальное тестирование не проводилось.

  • 8.3.23 (не младше чем 8.3.23.1688),
  • 8.3.22 (не младше чем 8.3.22.1750),
  • 8.3.21 (не младше чем 8.3.21.1644),
  • 8.3.20 (не младше чем 8.3.20.2257),
  • 8.3.19 (не младше чем 8.3.19.1770),
  • 8.3.18 (не младше чем 8.3.18.1520),
  • 8.3.17 (не младше чем 8.3.17.1549),
  • 8.3.16 (не младше чем 8.3.16.1502),
  • 8.3.15 (не младше чем 8.3.15.1958),
  • от 8.3.11 до 8.3.14,
  • 8.3.10 (не младше чем 8.3.10.2428),
  • 8.3.9 (не младше чем 8.3.9.2016),
  • 8.3.8.

Продвинутый профиль работы

Этот профиль позволяет разрабатывать конфигурации любого уровня сложности. Продвинутый профиль позволяет выполнять частые операции редактирования, отладки, сравнения и объединения конфигураций максимального уровня сложности:

  • 12 500 объектов конфигурации,
  • 6 300 форм,
  • 13 800 модулей,
  • 1 200 ролей.

Операционная система 64-разрядная операционная система: Microsoft Windows 7 и выше, Ubuntu 18.04 LTS и выше, macOS 10.15 и выше. Процессор Intel Core i7 (не ниже поколения 3) и выше, 8 и более потоков (с Hyper-Threading), AMD Ryzen, 16 потоков (c Simultaneous Multithreading) и выше. Не рекомендуется использовать мобильные или ультрамобильные процессоры. Оперативная память 16 Гбайт и больше. Рекомендуется выделить для 1C:EDT 10 Гбайт памяти, или больше. Java Platform 64-разрядная Standard Edition версии 11 (скачать рекомендуемый дистрибутив).

С большой долей вероятности поддерживается работа с Java 12 и Java 13, однако детальное тестирование не проводилось.

  • 8.3.23 (не младше чем 8.3.23.1688),
  • 8.3.22 (не младше чем 8.3.22.1750),
  • 8.3.21 (не младше чем 8.3.21.1644),
  • 8.3.20 (не младше чем 8.3.20.2257),
  • 8.3.19 (не младше чем 8.3.19.1770),
  • 8.3.18 (не младше чем 8.3.18.1520),
  • 8.3.17 (не младше чем 8.3.17.1549),
  • 8.3.16 (не младше чем 8.3.16.1502),
  • 8.3.15 (не младше чем 8.3.15.1958),
  • от 8.3.11 до 8.3.14,
  • 8.3.10 (не младше чем 8.3.10.2428),
  • 8.3.9 (не младше чем 8.3.9.2016),
  • 8.3.8.

Как узнать характеристики своей конфигурации

Чтобы понять, к какому уровню сложности относится ваша конфигурация, можно самостоятельно посчитать количество объектов, влияющих на производительность 1C:EDT. Для этого в конфигураторе «1С:Предприятия» выгрузите конфигурацию в файлы ( Конфигурация > Выгрузить конфигурацию в файлы . ), а затем, например, с помощью Проводника Windows посчитайте количество:

  • Объектов конфигурации (папки в корневых каталогах, кроме корневого каталога Ext );
  • Форм (файлы Form.xml );
  • Модулей (файлы *.bsl );
  • Ролей (папки в каталоге Roles ).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *