Поиск по сайту

up
::>Процессоры >2018 > Simultaneous Multithreading (SMT) в топовом AMD Ryzen 7 2700X: тестирование в синтетике и играх

Simultaneous Multithreading (SMT) в топовом AMD Ryzen 7 2700X: тестирование в синтетике и играх

31-07-2018

Современные процессоры столь сложны, что эффективно задействовать одновременно все их узлы довольно сложно. Именно поэтому, стремясь повысить КПД, компания Intel уже давно представила технологию Hyper-Threading. У новых процессоров AMD Ryzen тоже реализован такой подход.

AMD Ryzen 7 2700X

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

В переводе с английского SMT (Simultaneous MultiThreading) означает «одновременная многопоточность». Ее суть в том, что операционная система представляет каждое физическое ядро процессора в виде двух логических или виртуальных ядер, и направляет им на обработку два потока данных вместо одного. Поскольку процессам приходится конкурировать за ресурсы одного ядра, то в теории его узлы полнее загружены работой и не простаивают, то есть повышается эффективность.

AMD Ryzen 7 2700X

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

AMD Ryzen 7 2700X

AMD Ryzen 7 2700X

Кроме того, для эффективной работы недостаточно реализовать технологию SMT на аппаратном уровне процессора. Ее также должны поддерживать операционная система, драйверы и прикладные программы. Поэтому поначалу с AMD Zen было не все гладко в этом плане. Например, система могла по максимуму загрузить два потока одного ядра или половины ядер, в то время как остальные простаивали. Само собой, вместо прироста получалось замедление работы. За прошедший год ситуация в этом плане должна была заметно улучшиться, но так ли это на самом деле? Давайте проверим.

AMD Ryzen 7 2700X

AMD Ryzen 7 2700X

В основе тестового стенда находится 8-ядерный флагман AMD Ryzen 7 2700X, который может работать в 16-поточном режиме. Он установлен на материнскую плату MSI X470 Gaming M7 AC и охлаждается СВО от be quiet!. Чтобы VRM материнской платы не перегревался и не снижал производительность системы, сверху мы положили вентилятор Noctua NF-A14 industrialPPC. Операционная система и требовательные к дисковой подсистеме игры были установлены на SSD серии GOODRAM Iridium PRO, остальные – на HDD от Seagate. Обработка графики была возложена на видеокарту MSI GeForce GTX 1070 Ti GAMING 8G с эффективным кулером. Все это добро было собрано на Thermaltake Core P5 TGE, а за питание отвечал блок серии Seasonic PRIME.

Тестовый стенд:

AMD Ryzen 7 2700X

Сразу же отметим, что мы решили зафиксировать частоту процессора на отметке 4 ГГц, чтобы технологии динамического разгона не влияли на результаты тестирования. А для повышения стабильности тактовой частоты вручную выключили опцию Spread Spectrum. Она позволяла тактовому генератору выдавать плавающую частоту, чтобы снизить электромагнитные наводки от компьютера на окружающее оборудование. Сама же технология SMT по умолчанию активна, но в BIOS ее можно отключить.

AMD Ryzen 7 2700X

Переходим к тестированию, и начнем его с нескольких синтетических бенчмарков. В архиваторе 7-ZIP преимущество от работы технологии SMT оценивается в 16-59%.

AMD Ryzen 7 2700X

Активация этой опции в WinRAR позволяет поднять общую скорость на 19%.

AMD Ryzen 7 2700X

Очень интересными получились результаты в CINEBENCH R15: производительность исключительно процессорной части повышается на 40% при использовании SMT. Зато в связке с видеокартой все наоборот – результаты улучшаются на 10% после ее деактивации.

AMD Ryzen 7 2700X

В тесте x265 HD Benchmark после выключения многопоточности время кодирования возросло на 12%, т.е. и в этой задаче от многопоточности есть некоторый прок.

AMD Ryzen 7 2700X

RealBench в целом положительно оценивает работу технологии SMT, но прирост зависит от конкретной задачи: при редактировании фото в GIMP, мультизадачном режиме и в тесте OpenCL бонус составил всего 2-3%. И лишь при кодировании видео показатель улучшился на 23%.

Как видим, в рабочих задачах в среднем бонус от использования SMT будет на уровне 18%, а в некоторых хорошо оптимизированных под многопоточность приложениях ускорение достигнет 40% и более. Пока все неплохо.

AMD Ryzen 7 2700X

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

Тест будем проводить в два этапа: сначала запустим бенчмарки в HD-разрешении, чтобы умышленно снизить нагрузку на видеокарту и лучше прочувствовать разницу; потом перейдем в Full HD, чтобы посмотреть, как это заметно при более реальных условиях.

AMD Ryzen 7 2700X

В основном для мониторинга будем использовать утилиту FPS Monitor. Она позволяет настраивать интерфейс и выводить не только процент загрузки процессора и видеокарты, но и полезную статистику. Например, показатели 1 и 0,1% Low, они же редкие и очень редкие события, корректнее отображают уровень комфорта в игре, чем минимальный FPS. Чем меньше между ними разница и чем они ближе к среднему FPS, тем плавнее видеоряд и комфортнее геймплей. И не обращайте внимания на температуру процессора – в данном случае она отображается некорректно.

AMD Ryzen 7 2700X

AMD Ryzen 7 2700X

Начнем с престарелого движка Counter-Strike: Global Offensive. При автонастройках система выбрала очень высокие параметры и средний FPS был на 6% выше в системе с SMT. Видимо фоновые боты хорошо параллелятся. Зато статистика 1 и 0,1% Low была на 7-27% лучше при работе в 8-поточном режиме.

AMD Ryzen 7 2700X

AMD Ryzen 7 2700X

Тот факт, что старые игры больше ценят производительность ядра, чем многопоточность, хорошо видно и на примере Far Cry Primal. Здесь уже фиксируем прирост по всем показателям на уровне 12-20%.

AMD Ryzen 7 2700X

AMD Ryzen 7 2700X

Отключение SMT в Rainbow Six Siege также приносит позитивный эффект. И хотя мониторинг показывает неплохую балансировку задач между 16 логическими ядрами, все же в условиях отсутствия конкуренции за ресурсы бонус от производительности может достигать 35%.

AMD Ryzen 7 2700X

AMD Ryzen 7 2700X

В теории DirectX 12 позволяет лучше распределять задачи между ядрами и эффективнее использовать ресурсы CPU, поэтому запустив Deus Ex: Mankind Divided в этом режиме при ультра пресете, мы ожидали увидеть преимущество за SMT, но по факту его не оказалось. Наоборот, работа в 8-поточном режиме обеспечила преимущество в 10-16%.

AMD Ryzen 7 2700X

AMD Ryzen 7 2700X

В Hitman при том же API четкой тенденции не прослеживается: средний фреймрейт улучшается от выключения SMT на 2,5%, а показатель 1% Low на 10% ухудшается. В целом же статистика довольно похожая, поэтому в данном случае наличие или отсутствие SMT роли не играет.

AMD Ryzen 7 2700X

AMD Ryzen 7 2700X

Еще более равная ситуация наблюдается в Assassin's Creed Origins при максимальных настройках: разница в показателях составляет 2-5% в пользу SMT, но на практике это 1-2 кадра/с, что вполне можно списать на погрешность измерения.

AMD Ryzen 7 2700X

AMD Ryzen 7 2700X

И лишь Far Cry 5 демонстрирует заметный выигрыш от включения многопоточности на Ryzen 7 2700X, правда, только в одном показателе очень редких событий – прирост составляет 53%. По остальным разница не превышает 4%, что можно списать на погрешность измерения. 

Подписаться на наши каналы
telegram YouTube facebook Instagram