Сравнение Ryzen 5 3600X с другими процессорами в Asteroids@Home! Программа Boinc
Сравнение Ryzen 5 3600X с другими процессорами в Asteroids@Home! Программа Boinc
Чуть более 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 8 GB 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! И, самое время подключать его к другим проектам!