Форум

Пожалуйста или Регистрация для создания записей и тем.

Обзор новых процессоров AMD Ryzen применительно к распределённым вычислениям.

Обзор новых процессоров AMD Ryzen применительно к распределённым вычислениям.

Запись от SETI25 размещена 07.09.2019 в 14:39

Обзор новых процессоров AMD Ryzen применительно к распределённым вычислениям.
.
Crystal Dream (BOINC Team)
26 июл 2017 в 14:41
AMD Ryzen 5 1500X и ещё 4 десятка процессоров в theSkyNet POGS!

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

Компьютер был собран в корпусе формата microATX (для удобства дальнейшего использования в месте назначения) в следующей конфигурации:
CPU: AMD Ryzen 5 1500X, BOX
Плата: ASUS PRIME B350M-A
RAM: Комплект CORSAIR Vengeance LPX CMK16GX4M2B3000C15 DDR4 - 2x 8 Гб 3000
Видеокарта: ASUS GeForce GT 710
HDD: SEAGATE Barracuda ST1000DM010, 1Тб, HDD, SATA III, 3.5"
Корпус: mATX AEROCOOL CS-101, Desktop, 400Вт

Видеокарта, жёстки диск и корпус, конечно, не влияют архитектуру процессора и программное обеспечение, но здесь они приведены потому, что возможность эксплуатации машины в определённых условиях может быть кому-то интересна. А внешние условия заключались в температуре от +26 до +30 в тени и комнате с компьютером.

Ручной разгон процессора - не выполнялся, частота RAM автоматически выставилась на ~ 2133 МГц, выставить её выше настройками в BIOS - пока не удалось. Выбранный комплект памяти, судя по обзорам - вариант не очень оптимальный в разрезе производительности (микросхемы от Hynix, а Ryzen пока лучше работает с Samsung).
Как уже говорилось, компьютер был отправлен на расчёты в проекте the POGS, за время которых (около суток чистого времени) обработал 127 заданий, из которых 106 уже прошли проверку и подтверждены, а 21 просто ожидают подтверждения. Сбойных или не прошедших проверку - нет. В процессе расчётов температура CPU находилась в пределах от 59 до 62°C (напомню, что температура окружающего воздуха - от 26 до 30) и при этом вентилятор на прилагавшемся кулере работал весьма тихо - днём его почти не было слышно, ночью - слышен был, но негромко.

На следующий день после обработки всех заданий (ждал пока как можно больше из них пройдут проверку) заходил в учётной записи на сайте проекта в каждый Workunit и записывал время его обработки на собранном компьютере и компьютере - напарнике. Если в очередном workunit-е попадался компьютер-напарник, уже встречавшийся в другом, то смотрел отличается ли сколь-либо заметно отношение времени вычислений в этом workunit-е от предыдущего. Если не отличалось - то просто его пропускал. Если бы отличалось, то дальше смотрел бы другие задания с таким же напарником. Но делать этого - не пришлось.

При этом, в разных workunit-ах попадались разные компьютеры, но с одинаковыми CPU. В таком случае я заносил результаты очередного компьютера в список - если присмотреться, то на диаграмме есть строки с одним и тем же названием и с несколько различающимися показателями (что одновременно и нормально и интересно).
Процессор - очень понравился. Удалять BOINC после выполнения всех расчётов было жалко. Фотографии и сравнительная диаграмма с комментариями - прицеплены к сообщению.
https://boinc.berkeley.edu/wiki/Simple_view
https://boinc.berkeley.edu/download_all.php

Сравнение Ryzen 5 3600X с другими процессорами в Asteroids@Home!

Чуть более 2 лет назад в группе публиковалось сравнение Ryzen 5 1500X с другими процессорами на основе результатов в проекте the SkyNet POGS - [ https://vk.com/wall-34590225_155 ], а теперь пришло время обзора нового поколения - Ryzen 5 3600X! Того, самого, что стоит в 4-м узле командного кластера.

Конфигурация:

- CPU - AMD Ryzen 5 3600X, 6 ядер и 12 потоков (SMT — включена!)

- Плата - ASUS PRIME B450M-A

- RAM - 2 x 8Gb DDR4 2666MHz Samsung

- Кулер - DEEPCOOL GAMMAXX C40

- Блок питания - HIPRO (HIPO DIGI) HPE450W, 450Вт, 120мм

- Видеокарта - MSI nVidia GeForce GT 710 , GT 710 1GD3H LP

-SSD - WD Green WDS120G2G0B 120Гб, M.2 2280

Отмечу, что в данном случае, каких-либо дополнительных настроек не делалось (это - потом), а все настройки были выставлены по умолчанию.

Для сравнения выбирались подряд результаты из проекта Asteroids@Home (к нему узел уже подключен и набралась немалая статистика). Для каждого результата (прошедшего проверку, конечно, так как нужен результат компьютера - "напарника") записывались:

- Номер workunit-а

- CPU Time Ryzen-а

- CPU Time процессора-напарника

- Тип приложения на Ryzen (AVX, SSE3, SSE2)

- Тип приложения у напарника (AVX, SSE3, SSE2)

- Число потоков у процессора-напарника

- Модель процессора - напарника.

Так как распространёность процессоров - разная, то при просмотре результатов те, что были обработаны процессорами, уже попавшими в список с точно таким же приложением и с примерно таким же результатом - отбрасывались, чтобы найти те процессоры, которых в списке нет. В итоге в списке оказались данные из 102 workunit-ов, которые, затем превратились в столбики на диаграммах.

После того, как даные были записаны, были вычислены два показателя: 1) соотношение времени, затраченного процессорами на выполнение заданий из workunit-а; 2) произведение этого отношения на обратное отношение числа потоков - в процессоре-напарнике и в Ryzen 5 3600X. То есть: T(ryzen)/T(partner)*Threads(partner)/Threads(Ryzen). Например, если у какого-процессора время выполнения было бы в 1.5 раза больше, но зато было бы больше и число потоков - в 2 раза, то в итоге получался бы коэффициент 1.33, показывающий, что за счёт большего числа ядер «валовая» производительность этого процессора больше в 1.33 раза.

А именно "валовая" производительность CPU и интересна нам и как участникам распределённых вычислений и, быть может, окажется полезна и тем, кто связан с iT-сектором. Именно этот показатель и оказался на диаграммах, как самый важный.

Но прежде чем переходить к диаграммам, надо отметить следующее:

  1. Время обработки заданий в Asteroids@Home — сильно различается. Из-за этого нельзя записать времена выполнения разных заданий и свести их в одну таблицу. Нужно брать каждый workunit, смотреть время выполнения задания «нашим» и «чужим» компьютером и определять относительную скорость вычислений, а уже потом, из этих отношений строить рейтинг вида «А быстрее нас в 2 раза, B — медленее в 1.5 раза» и т.д.
  2. Прежде всего это просто данные. В них упоминаются очень разные процессоры и из одних результатов можно сделать выводы в одном разрезе, но нельзя в каком-то другом и - наоборот. Например, если из сравнения с относительно недавно вышедшими процессорами можно делать какие-то выводы о том, что лучше было бы выбрать для нового компьютера, то в этом же разрезе сравнение с процессорами 6-7 летней давности - совершенно бессмысленно. Зато оно может дать дополнительную информацию о том, что стоит ожидать от недорогих виртуальных маших облачных провайдеров, или что будет получено в результате upgrade-а;
  3. В результатах есть только информация о времени выполнения, модели процессора и числе потоков, которые были опознаны BOINC. Но ничего не говорится, например, о том, а сколько же потоков нагружались. В одном из случаев, возможно, это оказало влияние на итоговый результат — в частности, один из процессоров для ноутбуков - Intel Core i5-8250U показал очень хорошую однопоточную производительность (при номинальной частоте всего в 1.6 ГГц!) и за счёт 8 потоков, при вычислении коэффициента, "взлетел" аж выше Core i7-6700K. Не исключено, что на самом деле у этого процессора были нагружены не все ядра, Turbo Bust автоматически разгонял только те, что были нагружены, до больших частот, из-за чего полученный результат не может быть корректно, простым умножением «смасштабирован» на производительность всего процессора;
  4. Большая часть серверных процессоров стоит в 2-процессорных системах, из-за чего число потоков, отображаемых в свойствах компьютера-напарника, конечно же, в 2 раза больше чем у одного CPU. Теоретически, однако, возможна ситуация, при которой в машине будет стоять 2 CPU, но с отключенным Hyper-Threading-ом из-за чего производительность каждого потока будет выше, но сама машина может быть воспринята как машина с одним CPU, но с включённым Hyper-Threading, удваивающим видимое число потоков. По факту, все серверные платформы однозначно трактовались как машины с 2 процессорами и включённым HT, так как в ином случае взять такое число потоков было бы просто негде. Для результатов от машин с такими процессорами, в справочнике Intel-а находилась спецификация, с которой я сверялся дополнительно, чтобы учитывать число потоков именно одного CPU, а не двупроцессорной системы;
  5. Как вы уже поняли, в Asteroids@Home есть приложения для разных наборов инструкций — SSE2, SSE3 и AVX. При этом, очень часто, на компьютер с Ryzen приходило приложение одного типа, а на компьютер-напарник — другого. Причём на компьютеры с одними и теми же моделями CPU могли приходить задания для разных приложений. И это влияло на производительность. В workunit-е где у одного компьютера было AVX-приложение, а у напарника — SSE3, соотношение времени выполнения было одно, а в другом workunit-е — где уже были AVX vs AVX —другое. Из-за этого. Из-за этого все результаты были побиты на группы по типам приложений — AVX vs AVX; AVX vs SSE3 и т.д.
  6. В большинстве случаев «разнобоя» в результатах не было. Если один компьютер с процессором C1 был в 1.2 (к примеру) раза медленее, чем «наш Ryzen», то и другие компьютеры — не сильно отличались. Но иногда отличия были заметными. Поэтому вместо того, чтобы высчитывать среднии показатели и группировать данные, было сделано обратное — каждый результат попал на соответствующую диаграму своим столбиком.
  7. На каждую диаграмму был добавлен «технический столбик» красного цвета, соответствующий единице измерения — поизводительности «нашего Ryzen».

А теперь - к результатм! Сначала — к самому интересном — AVX vs AVX — именно здесь собрано больше всего более-менее новых CPU, есть представители последних четырёх поколений Xeon-ов (пусть и мало, но всё равно интересно) а также «ранние» Ryzen-ы:

Что хотелось бы отметить:

1) по «валовой» производительности Ryzen 5 3600X обходит и 8-ядерный Ryzen 7 2700X и процессоры линейки Intel Core i7 недавних поколений. Причём иногда до 2 раз и больше;

2) что интересно, самым сильным конкурентом оказался 6-ядерный Core i5-8400, а не Core i7 более старших поколений, но с 4 ядрами и Hyper-Threading! К сожалению, в обследованной выборке не было результатов от Core i7-8700[K] с AVX-приложением;

3) Выше самого 6-ядерного Ryzen (т.е. «нашего» 3600X) расположились только мощные даже среди своих поколений(!) серверные процессоры с очень большим числом ядер:

- Xeon E5-2650 v4 — 12 ядер, 24 потока;

- Xeon Gold 6132 — 14 ядер, 28 потоков;

- Xeon Gold 6154 — 18 ядер, 36 потоков;

— Xeon E5-2698v4 — 20 ядер, 40 потоков.

Причём только(!) последний из них — E5-2698v4 смог по валовой(!) производительности — то есть производительности всех(!) ядер, обогнать «наш Ryzen» немногим более, чем в 2 раза. А что будет после выхода 3950X и ещё n доработок микрокода?

Но в переди ещё несколько диаграмм! Следующая AVX vs SSE3 — где к результату AVX-приложения «нашего Ryzen» напарником было результат от приложения под набор инструкций SSE3:

К сожалению, только здесь и появляется AMD Threadripper, но даже в 16-ядерной модификации и на менее продвинутом приложении он показывает свою мощь. Только здесь, к сожалению, появляется и Intel Core i7-8700K... и несмотря на 12 потоков, проигрывает почти в 2 раза. Следующий очень интересный и редкий экземпляр — Xeon Phi!

Переходим дальше! AVX vs SSE2:

Очень интересно было увидеть Xeon-ы времён Westmere, Nehalem и Sandy Bridge, а также их одногодков по десктопам. А ведь в кое-каких вычислительных системах - они работают и до сих пор!

Следующая диаграмма — SSE2 vs AVX! Вот здесь уже у Ryzen не такое подвинутое приложение, но:

… несмотря на это, он проигрывает только другому, 8-ядерному Ryzen, ноболее старшему. Все остальные далеко. Стоит обратить внимание на группу процессоров с окончанием «U» — это процессоры в ноутбуках.

Идём дальше! SSE2 vs SSE3:

Всё примерно тоже самое. Интересно увидеть Core i7-5820K. С одной стороны - он сильно позади, а с другой —неплохо для процессора 2014 года!

Ну и последняя диаграмма — SSE2 vs SSE2:

Итог: наверное, всё-таки хорошо, что в 4-й узел взяли именно 3600X! И, самое время подключать его к другим проектам!

Сравнение производительности процессоров и видеокарт при выполнении расчетов, а рамках BOINC-проектов

Давно хотел попробовать сравнить эффективность различных процессоров в различных BOINC-проектах, а тут подвернулась пара свободных вечеров, решил попробовать. В качестве мерила выбрана производительность, выражаемая в кобблстоунах в час (на это могут быть вполне обоснованные нарекания, т.к. механизм начисления кредитов у разных проектов разный, зависит от результатов бенчмарка и т.п., но лучшего в голову не пришло). WUProp интересующей меня информации в интересующих разрезах не сообщает, boincstats дает для компьютеров пару похожих метрик, но только для процессоров, а еще ведь и видеокарты есть, некоторый проекты дают свою статистику (например, PrimeGrid — по видеокартам)... Одним словом, захотелось изобрести велосипед и сделать что-то свое, для чего была набросана небольшая программулина (возможно в будущем ее функциональность будет потихоньку расширяться, а возможно меня опять завалят бумажками на работе и это так и останется мечтами). В качестве исходных данных она (пока с моей помощью) собирает статистику следующего вида по нескольким WU:

Проект (подпроект) + Время вычисления + Заработанный кредит + Владелец машины + Процессор + Видеокарта (если проект считает на ней)

Далее для каждой WU'шки считается величина производительности = (Заработанный кредит) / (Время вычисления), которая затем суммируется с чем-то (производительность процессора или видеокарты) и усредняется по множеству WU. Например, для WU'шек с картинки производительность составляет

55.29 / (9156.39 / 3600) = 21.7 CS/ч,
89.75 / (7797.40 / 3600) = 41.4 CS/ч,
56.10 / (9144.55 / 3600) = 22.1 CS/ч,
104.19 / (9052.35 / 3600) = 41.4 CS/ч,

а после усреднения имеем оценку

(21.7 + 41.4 + 22.1 + 41.4) / 4 = 31.7 CS/ч.

Ну а далее по указанной величине можно ориентироваться в производительности (если хотите, можно назвать ее "очковой" :)одного ядрарассматриваемого процессора (или целой видеокарты). По данной величине процессоры можно отсортировать и изобразить в виде столбчатой диаграммы. Например, так характеризуется одноядерная производительность процессоров в проекте LHC@Home:

Видно, что процессоры выстраиваются в лесенку, крайние представители которой отличаются по производительности почти в 3 раза. Если же нам интересно проанализировать производительность процессора в целом (т.е. всех его ядер вместе), то нет ничего проще, чем умножить предыдущую цифру на число ядер (здесь опять-таки может быть тысяча и одна оговорка про некорректность, но так проще всего). В итоге, после сортировки результатов можно получить похожую лесенку (опять для того же LHC@Home):

http://evatutin.narod.ru/boinc_perf/boinc_eff_gpu.html
Видно, что по сравнению с предыдущей картинкой ступеньки поменялись местами и на первое место вышли серверные процессоры с большим числом ядер. С видеокартами можно поступить аналогично. Ну а дальше можно приступать к анализу того, какие вычислительные средства более или менее эффективны в том или ином проекте. Так, например, для себя открыл, что проекты SAT и Asteroids очень даже положительно встретили Haswell (что именно им так понравилось — тема для дальнейших исследований, т.к. нужно сравнение с бОльшим числом процессоров с целью выявления тенденций).
На данный момент результаты (выложенные для CPU- и GPU-проектов) базируются в основном на тех вычислительных средствах, которые оказались у меня под рукой и в перспективе могут быть расширены, для чего мне потребуется либо скриншот (как первая картинка), либо URL с множеством WU'шек, данные которых можно будет добавить в базу с целью получения еще одной ступеньки на графике. Можно добавить вывод в разрезе по процессорам и еще много чего. В отдаленной перспективе процесс сбора исходной информации можно попробовать автоматизировать, а пока можно немного побаловаться и так.
http://asteroidsathome.net/boinc/
Обсуждение находится тут, базу можно пополнять интересующими вас результатами по мере наличия у меня свободного времени. Приятного сравнения производительности!

http://forum.boinc.ru/yaf_postsm59678_Sravnieniie-proizvoditiel-nosti-CPU-i-GPU.aspx#post59678

https://boinc.berkeley.edu/wiki/Simple_view

https://boinc.berkeley.edu/download_all.php

12268112 , могли бы и ссылки на оригиналы поставить. :)

AlexA отреагировал на эту запись.
AlexA
Цитата: hoarfrost от 13.10.2019, 19:55

12268112 , могли бы и ссылки на оригиналы поставить. ?

Увы, не когда мне этим заниматься, пропагандирую методом скопировал вставил... а ссылка на наш форум есть.

AlexA и genseed отреагировали на эту запись.
AlexAgenseed
Цитата: 12268112 от 13.10.2019, 20:32
Цитата: hoarfrost от 13.10.2019, 19:55

12268112 , могли бы и ссылки на оригиналы поставить. ?

Увы, не когда мне этим заниматься, пропагандирую методом скопировал вставил... а ссылка на наш форум есть.

Так тех, кто на этот форум ходит - агитировать не надо. Более того - все эти материалы они уже видели, как как сами же, если не большую, то немалую часть и писали. :)

AlexA отреагировал на эту запись.
AlexA

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

Кстати, а ведь от этого могла бы получиться какая-нибудь польза, если бы сам БОИНК или отдельные проекты предусматривали, чтобы пользователь мог указать в настройках, что хочет получать одинаковые задания на связанные с аккаунтом компьютеры.

Как раз для тестирования производительности разных конфигураций железа.

 

Или, проект может просто добавить себе страничку типа Compare. (В RakeSearch мы добавили ссылку на неё во все таблицы с компьютерами).

astronom отреагировал на эту запись.
astronom
BOINC.RU