AMD Ryzen 9 3900X vs Einstein@Home & Universe@Home
Цитата: hoarfrost от 07.10.2020, 20:17Здравствуйте!
Несколько недель назад решил включить на Ryzen 3900X Einstein@Home "на все ядра", благо был хороший повод - новое приложение для поиска гравитационно-волновых сигналов. Запустив, через несколько дней (когда досчитались задания всех остальных проектов) заметил, что задания считаются подозрительно долго - до 50 часов(!) при том, что на CPU уровня Core i5-3570K (и аналогичных ему) время расчёта отдельного задания - около 10-12 часов. Причины подобного поведения могли быть разные: особенности системы (скорость памяти и т.п.), недостаточное охлаждение, какие-то особенности в самом приложении, или же что-то ещё. Подозрительно выглядело и то, что температура на CPU при полной нагрузке на все ядра "скакала" на интервале в ~ 30 секунд на несколько градусов даже с отключенным регулированием частоты вращения крыльчатки вентилятора. Решил исследовать этот вопрос, насколько смогу.
Как вы знаете, у Ryzen 3900X - 12 ядер, которые за счёт технологии Simultaneous Multithreading (SMT) превращаются в 24 потока. Начал с изменения числа одновременно считаемых заданий.
Сначала поставил всего 6. Время вычисления отдельного задания сразу же упало до ~9 .. 10 часов!
Попробовал поставить 8. Время расчёта увеличилось где-то до 10-12 часов, но интервал в который попадало время расчёта - пересекался с предыдущим.
Потом - 10, 12, 16 и снова 24 потока. И при увеличении числа одновременно считающих потоков время расчёта отдельно взятого увеличивалось либо пропорционально их числу, либо почти пропорционально - в рамках погрешности самой оценки. Каждый такой эксперимент длился по 2-3 дня, так как надо было добиться получения был набора заданий, которые считались бы в одинаковых условиях. И, желательно - побольше.Наблюдаемая картина, честно говоря, ввергла в уныние. Неужели в моём Ryzen что-то не так? Или вообще, он не так хорош, как нам самим раньше казалось? Но ведь его тестированили в бенчмарках и результаты были хорошие. И это - однин из популярнейших процессоров у участников РВ! И судя - по статистике - в лидерах по мощности!
Может быть дело в охлаждении? Тем более, что охлаждал его также BeQuiet ShadowRock II. Ну, чтоже, иногда стоит делать глупости потому что интересно! В Ситилинке был взят монструозно-шедевральный Zalman CNPS20X которого, по идее, "точно должно было хватить" с заявленной поддержкой CPU с тепловыделением в 300(!) Ватт.
Кулер был заменён, температура CPU упала на несколько градусов, до 49 C ночью и 55 днём (тогда отопление ещё не включили)... и ничего не изменилось! Значит дело не в охлаждении.
Решил попробовать досчитать задания Einstein@Home и попробовать какой-либо другой проект. Например Universe@Home, благо у него задания намного короче и эксперимент должен был занять куда меньше времени.
Дождался, как задания досчитались, урезал в клиенте BOINC потребление ядер до 6 потоков и включил Universe. Сначала получил набор заданий, считавшихся при 6 потоках, потом - 8, потом - больше, больше... Одновременно, с сайта проекта копировал данные о времени расчёта и сводил в таблицу с учётом того, что задания бывают для 2 разных приложений - ULX и BHSpin.
Для 6 потоков среднее время расчёта получилось равным:
ULX: 1536 секунд
BHSpin: 4240 секундДля заданий с большим числом параллельно работающих потоков, оно постепенно росло и для 24 потоков составляло:
ULX: 2011 секунд
BHSpin: 5143 секундыТо есть время расчёта заданий увеличилось всего на 20-30% не просто когда мы заняли все ядра процессора, но и задействовали все 24 потока! (Тут можно вспомнить, что в случае с Hyper-Threading время расчёта отдельного задания увеличивается почти в 2 раза). Стало быть, Ryzen 3900X всё-таки действительно хорош, как и во многих других случаях, а наблюдавшаяся аномалия связана всё-таки со свойствами приложения Einstein@Home, которое, возможно, задействует какие-то системные ресурсы, которые при работе 6-8 и более потоков и становятся узким местом.
Какие это могут быть ресурсы - не знаю. Может быть какие-то семафоры, или таблица распределения памяти или что-то ещё.
Здравствуйте!
Несколько недель назад решил включить на Ryzen 3900X Einstein@Home "на все ядра", благо был хороший повод - новое приложение для поиска гравитационно-волновых сигналов. Запустив, через несколько дней (когда досчитались задания всех остальных проектов) заметил, что задания считаются подозрительно долго - до 50 часов(!) при том, что на CPU уровня Core i5-3570K (и аналогичных ему) время расчёта отдельного задания - около 10-12 часов. Причины подобного поведения могли быть разные: особенности системы (скорость памяти и т.п.), недостаточное охлаждение, какие-то особенности в самом приложении, или же что-то ещё. Подозрительно выглядело и то, что температура на CPU при полной нагрузке на все ядра "скакала" на интервале в ~ 30 секунд на несколько градусов даже с отключенным регулированием частоты вращения крыльчатки вентилятора. Решил исследовать этот вопрос, насколько смогу.
Как вы знаете, у Ryzen 3900X - 12 ядер, которые за счёт технологии Simultaneous Multithreading (SMT) превращаются в 24 потока. Начал с изменения числа одновременно считаемых заданий.
Сначала поставил всего 6. Время вычисления отдельного задания сразу же упало до ~9 .. 10 часов!
Попробовал поставить 8. Время расчёта увеличилось где-то до 10-12 часов, но интервал в который попадало время расчёта - пересекался с предыдущим.
Потом - 10, 12, 16 и снова 24 потока. И при увеличении числа одновременно считающих потоков время расчёта отдельно взятого увеличивалось либо пропорционально их числу, либо почти пропорционально - в рамках погрешности самой оценки. Каждый такой эксперимент длился по 2-3 дня, так как надо было добиться получения был набора заданий, которые считались бы в одинаковых условиях. И, желательно - побольше.
Наблюдаемая картина, честно говоря, ввергла в уныние. Неужели в моём Ryzen что-то не так? Или вообще, он не так хорош, как нам самим раньше казалось? Но ведь его тестированили в бенчмарках и результаты были хорошие. И это - однин из популярнейших процессоров у участников РВ! И судя - по статистике - в лидерах по мощности!
Может быть дело в охлаждении? Тем более, что охлаждал его также BeQuiet ShadowRock II. Ну, чтоже, иногда стоит делать глупости потому что интересно! В Ситилинке был взят монструозно-шедевральный Zalman CNPS20X которого, по идее, "точно должно было хватить" с заявленной поддержкой CPU с тепловыделением в 300(!) Ватт.
Кулер был заменён, температура CPU упала на несколько градусов, до 49 C ночью и 55 днём (тогда отопление ещё не включили)... и ничего не изменилось! Значит дело не в охлаждении.
Решил попробовать досчитать задания Einstein@Home и попробовать какой-либо другой проект. Например Universe@Home, благо у него задания намного короче и эксперимент должен был занять куда меньше времени.
Дождался, как задания досчитались, урезал в клиенте BOINC потребление ядер до 6 потоков и включил Universe. Сначала получил набор заданий, считавшихся при 6 потоках, потом - 8, потом - больше, больше... Одновременно, с сайта проекта копировал данные о времени расчёта и сводил в таблицу с учётом того, что задания бывают для 2 разных приложений - ULX и BHSpin.
Для 6 потоков среднее время расчёта получилось равным:
ULX: 1536 секунд
BHSpin: 4240 секунд
Для заданий с большим числом параллельно работающих потоков, оно постепенно росло и для 24 потоков составляло:
ULX: 2011 секунд
BHSpin: 5143 секунды
То есть время расчёта заданий увеличилось всего на 20-30% не просто когда мы заняли все ядра процессора, но и задействовали все 24 потока! (Тут можно вспомнить, что в случае с Hyper-Threading время расчёта отдельного задания увеличивается почти в 2 раза). Стало быть, Ryzen 3900X всё-таки действительно хорош, как и во многих других случаях, а наблюдавшаяся аномалия связана всё-таки со свойствами приложения Einstein@Home, которое, возможно, задействует какие-то системные ресурсы, которые при работе 6-8 и более потоков и становятся узким местом.
Какие это могут быть ресурсы - не знаю. Может быть какие-то семафоры, или таблица распределения памяти или что-то ещё.
Цитата: PinkFloyd от 07.10.2020, 21:18Цитата: hoarfrost от 07.10.2020, 20:17Какие это могут быть ресурсы - не знаю.
А оперативки на машине сколько? Не могло быть такого, что всё банально уперлось в объем памяти?
Цитата: hoarfrost от 07.10.2020, 20:17Какие это могут быть ресурсы - не знаю.
А оперативки на машине сколько? Не могло быть такого, что всё банально уперлось в объем памяти?
Цитата: Sid от 07.10.2020, 21:48На мой взляд, просто не хватает пропускной способности шины память - процессор.
Einstein весьма интенсивно использует память, а вот приложение Universe можно сказать, почти не использует.
Из статистики - две последние цифры в каждой строке это использованная виртуальная и просто память:
Universe@Home 0.19 Universe BHspin v2 universe_bh2_190723_332_205974795_20000_1-999999_975100_0 04:55:44 (04:54:42) 10/7/2020 1:12:57 AM 10/7/2020 12:19:34 PM 99,65 Reported: OK lubuntu 7.02 MB 4.29 MB
Einstein@Home 1.08 Gamma-ray pulsar search #5 (FGRPSSE) LATeah1066F_1480.0_774207_0.0_0 14:49:54 (14:44:04) 10/7/2020 9:12:28 PM 10/7/2020 9:37:42 PM 99,34 Reported: OK H81MC1 1155.02 MB 838.72 MB
На мой взляд, просто не хватает пропускной способности шины память - процессор.
Einstein весьма интенсивно использует память, а вот приложение Universe можно сказать, почти не использует.
Из статистики - две последние цифры в каждой строке это использованная виртуальная и просто память:
Universe@Home 0.19 Universe BHspin v2 universe_bh2_190723_332_205974795_20000_1-999999_975100_0 04:55:44 (04:54:42) 10/7/2020 1:12:57 AM 10/7/2020 12:19:34 PM 99,65 Reported: OK lubuntu 7.02 MB 4.29 MB
Einstein@Home 1.08 Gamma-ray pulsar search #5 (FGRPSSE) LATeah1066F_1480.0_774207_0.0_0 14:49:54 (14:44:04) 10/7/2020 9:12:28 PM 10/7/2020 9:37:42 PM 99,34 Reported: OK H81MC1 1155.02 MB 838.72 MB
Цитата: hoarfrost от 07.10.2020, 23:10Цитата: PinkFloyd от 07.10.2020, 21:18Цитата: hoarfrost от 07.10.2020, 20:17Какие это могут быть ресурсы - не знаю.
А оперативки на машине сколько? Не могло быть такого, что всё банально уперлось в объем памяти?
Оперативной памяти - 32 Gb. Наблюдал за потреблением памяти - задействовало было около половины не больше. Но планки - 2 из 4. Можно ещё 2 поставить.
Цитата: PinkFloyd от 07.10.2020, 21:18Цитата: hoarfrost от 07.10.2020, 20:17Какие это могут быть ресурсы - не знаю.
А оперативки на машине сколько? Не могло быть такого, что всё банально уперлось в объем памяти?
Оперативной памяти - 32 Gb. Наблюдал за потреблением памяти - задействовало было около половины не больше. Но планки - 2 из 4. Можно ещё 2 поставить.
Цитата: hoarfrost от 07.10.2020, 23:18Цитата: Sid от 07.10.2020, 21:48На мой взляд, просто не хватает пропускной способности шины память - процессор.
Возможно, но вот как проверить - непонятно. Большое потребление памяти не всегда приводит к тому, что упираемся в шину...
Цитата: Sid от 07.10.2020, 21:48На мой взляд, просто не хватает пропускной способности шины память - процессор.
Возможно, но вот как проверить - непонятно. Большое потребление памяти не всегда приводит к тому, что упираемся в шину...
Цитата: mike765321 от 10.10.2020, 16:12Дорогой hoarfrost не переживайте так сильно, проверить это можно, только немного косвенно. Большинство приложений, особенно расчётных, слабо зависят от частоты памяти. Но есть программы которые очень чувствительны к частоте памяти, например архиваторы (WinRar, 7-zip).
Попробуйте провести проверку Einstein@Home с разной частотой памяти, DDR4 2400 2666 3000 3200 3600, только не меняйте количество потоков при этом, 22 потока вполне хватит. Если будет видна разница 5-20%, то тогда очень вероятно, что память сильно влияет. Обычно разница 1-5%, за исключением специфических программ.
Также не ставьте частоту DDR4 больше 3600, это не приведёт к увеличению производительности на Ryzen, а иногда приводит к снижению.
Если результат окажется положительным, то есть способ улучшить ваше положение где-то на 10-20%, к сожалению ....
Дорогой hoarfrost не переживайте так сильно, проверить это можно, только немного косвенно. Большинство приложений, особенно расчётных, слабо зависят от частоты памяти. Но есть программы которые очень чувствительны к частоте памяти, например архиваторы (WinRar, 7-zip).
Попробуйте провести проверку Einstein@Home с разной частотой памяти, DDR4 2400 2666 3000 3200 3600, только не меняйте количество потоков при этом, 22 потока вполне хватит. Если будет видна разница 5-20%, то тогда очень вероятно, что память сильно влияет. Обычно разница 1-5%, за исключением специфических программ.
Также не ставьте частоту DDR4 больше 3600, это не приведёт к увеличению производительности на Ryzen, а иногда приводит к снижению.
Если результат окажется положительным, то есть способ улучшить ваше положение где-то на 10-20%, к сожалению ....
Цитата: hoarfrost от 11.10.2020, 00:37Так я же и не переживаю. Universe@Home показал что сам CPU - хорош. Интереса ради попрбоую протестировать gzip-ом.
Так я же и не переживаю. Universe@Home показал что сам CPU - хорош. Интереса ради попрбоую протестировать gzip-ом.
Цитата: mike765321 от 11.10.2020, 08:24Да не gzip-ом ! Результат архиваторов уже известен. Там как раз зависимость есть явная. Нужно именно в Einstein@Home посмотреть. Можно три значения частоты выбрать, чтобы сократить время.
Кстати какая у вас частота DDR4 по умолчанию ?
Да не gzip-ом ! Результат архиваторов уже известен. Там как раз зависимость есть явная. Нужно именно в Einstein@Home посмотреть. Можно три значения частоты выбрать, чтобы сократить время.
Кстати какая у вас частота DDR4 по умолчанию ?
Цитата: hoarfrost от 11.10.2020, 23:33Сейчас выставлена 1333 MHz. Но на Samsung-овской можно пробовать поднимать. Правда и про тайминги забывать не стоит...
Сейчас выставлена 1333 MHz. Но на Samsung-овской можно пробовать поднимать. Правда и про тайминги забывать не стоит...
Цитата: Sid от 12.10.2020, 22:53Цитата: hoarfrost от 11.10.2020, 23:33Сейчас выставлена 1333 MHz. Но на Samsung-овской можно пробовать поднимать. Правда и про тайминги забывать не стоит...
Для Einstein@Home на DDR3 при поднятии частоты с 1333 до 1800 выйгрыш может быть до 20%
Цитата: hoarfrost от 11.10.2020, 23:33Сейчас выставлена 1333 MHz. Но на Samsung-овской можно пробовать поднимать. Правда и про тайминги забывать не стоит...
Для Einstein@Home на DDR3 при поднятии частоты с 1333 до 1800 выйгрыш может быть до 20%