Jump to content

ANSYS - вопросы производительности на двухпроцессорной системе


Recommended Posts

MaximKl

Здравствуйте!

Появился интересный вопрос по работе ANSYS 2021R2 по работе на многопроцессорной конфигурации - возможно, кто-то сталкивался с таким....

 

Итак, появилась возможность попробовать работу ANSYS Mechanical на двухпроцессорной китайской материнке Х99-F8D.

Машина 1:

На борту материнка имеет 2 процессора XEON E5-2696v3 - 2x18 ядер 2.3GHz.

Соответственно:  2 проца - 2 набора памяти, общим объемом 32Gb

 

Все китайское железо сравнивалось более современной машиной с конфигурацией:

Машина 2:

CPU - i7-10700KF( 8 ядер, 3.8GHz)

RAM: 128Gb...32GB - чисто для сравнения пробовали разный объем.

 

Во всех случая был выключен Hyper-threading - соответственно речь выше  шла о физических ядрах процессоров.

Сводка по результатам сравнения:

Сравнение производительности.pdf

 

 

Коротко, все работы сводятся к следующему:

На машинах 1 и 2 попеременно проводятся одни и те же расчеты в Mechanical, фиксируется статистика и расход ресурсов.

 

И после обработки результатов возникает странная ситуация:

 - двухпроцессорная конфигурация имеет существенный проигрыш по скорости выполнения расчетов.

Причем, на скорость напрямую влияет операционная система - Win2016server /Win10Pro: 3h11min / 42min

 

Та же задача, решаема на машине 2, решается за 16минут :)

 

Причем, количество памяти роли не играет - в режиме SMP, где и проводились все расчеты, расход памяти примерно одинаковый 15...17Gb, т.е. решатель никогда не упирался в ограничение и в режим out-of-core не переходил.

 

 

Но, при всем этом,на машине 1 по сводке ANSYS имеет место быть просто дикий объем считанной/записанной информации, опять таки,сильно зависящий от операционной системы: Win2016server/Win10Pro : 2.7Tb/0.5Tb

 

На машине 2, этот объем не превышает 0.3Tb - сколько ты в ней не было памяти 128 или 32Gb.

 

 

Дальше зависимость еще интереснее:

Если на машине 1(36 ядер) использовать для расчета только 18 или менее(пробовали 8), то скорость расчет еще более возрастает :(36 ядер/18/8): 42/30/24мин.

Сразу оговорюсь  - нет, частота проца здесь роли не играла:  при задействовании такого числа ядер частота 2.7GHz по всем используемым ядрам.

 

 

Вопрос, собственно, чисто для развития:

 

 - использование многопроцессорных вычислений HPC - миф, или реальность? 

Даже не так: HPC кроме масштабируемости, обладает потерей производительности как платой за эту возможность?

 

- за счет чего возникает значительный объем внутренней информации при использовании ANSYS MECHANICAL на многопроцессорной материнке?

-почему этот объем внутренней информации снижается при урезании числа ядер для расчета и время расчета сокращается?

- Windows-based системы - не самые оптимальные для HPC?

 

P.S.

Вопросы эти задавались уже людям как  пользующим, так и  администрирующим кластеры с ANSYS.

Пока никакой версии - почему так- не выявлено - вопрос просто не ставился в таком ключе.

 

 

 

 

 

 

 

  • Нравится 1
Link to post
Share on other sites


UnPinned posts
AlexKaz
24 минуты назад, MaximKl сказал:

- за счет чего возникает значительный объем внутренней информации при использовании ANSYS MECHANICAL на многопроцессорной материнке?

В BIOS измените настройки:

- NUMA on или off и разные вариации NUMA. при NUMA on межъядерный трафик с mpi должен упасть на порядки

- Chip on Die (CoD) on или off

- явно ручками задайте скорость QPI

24 минуты назад, MaximKl сказал:

XEON E5-2696v3

он разлочивается. народ вырубает ядра и оставляет 10 чтобы работать при 3.8 ГГц по всем. этого хватает и на сильный однопоток, и  на загрузку 4 принадлежающих CPU каналов оперативки. кстати, на сборке должна быть практически линейная зависимость роста скорости счёта до 8*2 числа потоков т.к. рабочих каналов должно быть 8 (4+4)

24 минуты назад, MaximKl сказал:

HPC кроме масштабируемости, обладает потерей производительности как платой за эту возможность?

решатель то какой? distributed через MPI?

 

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

Edited by AlexKaz
  • Нравится 1
Link to post
Share on other sites
AlexKaz
40 минут назад, MaximKl сказал:

в режиме SMP

ls-dyna что ли? Ну, ещё б оно на старом Xeon не тормозило. Только MPP для этих машинок ещё и можно заюзать.

Сразу пишу, в MPP на крупных задачах этот древний монстр уделает любой Ryzen 5000 и Intel 12000 с ddr4 в 3-4-5 раз. Не говоря уже про доступный объём оперативки. В SMP да, всё очень тускло. Да и не параллелит dyna свой SMP-решатель больше чем на 8 потоков...

Edited by AlexKaz
Link to post
Share on other sites
a_schelyaev

Для начала нужно почитать что сами разработчики пишут про свой решатель и рекомендации. Если использовать MPI то параметр Numa нужно в нужное положение задать - 20% выиграете на пересылках данных между процессорами в память каждого. Далее размер задачи в памяти. Если у вас оно свопит на диск, то значит памяти не хватает - алгоритм может запрашивать почему-то больше для конкретного метода расчета. Если задача сама по себе большая и вы грузите все ядра, то в районе 8 ядер кривая ускорения внутри ЦП ложится на полку, если не раньше. Селяви. Виноват канал памяти - его пропускная способность.

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

Предположу, что режим макс скорости для вашей новой системы будет запуск в два ЦП по половине ядер на каждом.

И не забудьте глянуть на лог чтобы увидеть сколько каждый ЦП времени тратит на шаг расчета - нужна ли балансировка?

 

А для Серверной ОСи поставьте Cluster Pack или HPC Pack , в который входит MSMPI который умеет коротким путем по сети ходить. Если его Дайна поддерживает.

 

Edited by a_schelyaev
Link to post
Share on other sites
MaximKl
2 часа назад, AlexKaz сказал:

ls-dyna что ли? Ну, ещё б оно на старом Xeon не тормозило. Только MPP для этих машинок ещё и можно заюзать.

Сразу пишу, в MPP на крупных задачах этот древний монстр уделает любой Ryzen 5000 и Intel 12000 с ddr4 в 3-4-5 раз. Не говоря уже про доступный объём оперативки. В SMP да, всё очень тускло. Да и не параллелит dyna свой SMP-решатель больше чем на 8 потоков...

Вообще ниразу не LS-DYNA - STATIC STRUCRUTAL.

Link to post
Share on other sites
MaximKl
Posted (edited)
27 минут назад, a_schelyaev сказал:

Для начала нужно почитать что сами разработчики пишут про свой решатель и рекомендации. Если использовать MPI то параметр Numa нужно в нужное положение задать - 20% выиграете на пересылках данных между процессорами в память каждого. Далее размер задачи в памяти. Если у вас оно свопит на диск, то значит памяти не хватает - алгоритм может запрашивать почему-то больше для конкретного метода расчета. Если задача сама по себе большая и вы грузите все ядра, то в районе 8 ядер кривая ускорения внутри ЦП ложится на полку, если не раньше. Селяви. Виноват канал памяти - его пропускная способность.

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

Предположу, что режим макс скорости для вашей новой системы будет запуск в два ЦП по половине ядер на каждом.

И не забудьте глянуть на лог чтобы увидеть сколько каждый ЦП времени тратит на шаг расчета - нужна ли балансировка?

 

А для Серверной ОСи поставьте Cluster Pack или HPC Pack , в который входит MSMPI который умеет коротким путем по сети ходить. Если его Дайна поддерживает.

 

Повторюсь - это STATIC STRUCTURAL, не дайна.

Про NUMA мысль была - но пока не поигрались с этим. Мнения противоречивые, но до 20% не встречал. Проверим и это.

Смущает другое - зависимость скорости от операционки. Причем в разы.

 

Повторюсь, машина с зеонами не свопит при расчетах - память занята максимум на 67% - это в SMP.

Если 36 ядер юзать в режиме DMP - то да, 32GB не хватает - видать,особенности распараллеливания.

Пробовали и разные решатели - и DIRECT и итеративный - сильно прогресса нет.

 

По памяти, чтобы было понятнее - на двухголовых зеонах - стоят 4-хканальные контроллеры памяти, на i7-  двухканальные. В конце сравнительного файла есть табличка по тестам AIDA64 - память на зеонах раза в 2 быстрее, чем на i7 - не очень коррелируется с предположением об недостаточности пропускной способности.

 

 

 

Edited by MaximKl
Link to post
Share on other sites
AlexKaz
45 минут назад, MaximKl сказал:

Смущает другое - зависимость скорости от операционки. Причем в разы.

 

На спецфоруме обсуждался глюк: некоторый single thread софт сильно просаживал скорость на WinServer 20** какой-то там. Так что да, бывало и такое.

Цитата

оказалось, что 33% времени микрокап проводит в SysWow64/win32u.dll, это прокладка между юзерспейсом и кернелом.

 

Link to post
Share on other sites
a_schelyaev
2 часа назад, MaximKl сказал:

Повторюсь - это STATIC STRUCTURAL, не дайна.

Про NUMA мысль была - но пока не поигрались с этим. Мнения противоречивые, но до 20% не встречал. Проверим и это.

Смущает другое - зависимость скорости от операционки. Причем в разы.

 

Повторюсь, машина с зеонами не свопит при расчетах - память занята максимум на 67% - это в SMP.

Если 36 ядер юзать в режиме DMP - то да, 32GB не хватает - видать,особенности распараллеливания.

Пробовали и разные решатели - и DIRECT и итеративный - сильно прогресса нет.

 

По памяти, чтобы было понятнее - на двухголовых зеонах - стоят 4-хканальные контроллеры памяти, на i7-  двухканальные. В конце сравнительного файла есть табличка по тестам AIDA64 - память на зеонах раза в 2 быстрее, чем на i7 - не очень коррелируется с предположением об недостаточности пропускной способности.

 

 

 

Итерационные решали меньше кушают памяти обычно, нежели приямая. На DMP удельный объем памяти на каждый узел/ЦП ниже - задача же пилится.

 

Пока вы описываете какой-то треш.

Link to post
Share on other sites
AlexKaz

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

Link to post
Share on other sites
MaximKl
21 час назад, a_schelyaev сказал:

Итерационные решали меньше кушают памяти обычно, нежели приямая. На DMP удельный объем памяти на каждый узел/ЦП ниже - задача же пилится.

 

Пока вы описываете какой-то треш.

Задача пилится, но, требуется синхронизация между узлами - за счет этого память и кончается....

То, что треш - согласны и люди из службы ИТС -  если бы результаты не были  продемонстрированы лично. 

Link to post
Share on other sites
a_schelyaev
4 часа назад, MaximKl сказал:

Задача пилится, но, требуется синхронизация между узлами - за счет этого память и кончается....

То, что треш - согласны и люди из службы ИТС -  если бы результаты не были  продемонстрированы лично. 

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

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.




  • Сообщения

    • Artut
      Спасибо, помогло. Как тут плюсануть в репутацию?
    • Udav817
      Под полным скруглением вы подразумеваете вырождение плоскостей первоначального тела? Чтобы у пирамиды не осталось плоских граней? Ну такое Компас точно не может. Да и не только Компас. У меня в Solid Edge тоже ошибку выдаёт. Даже последовательное скругление не поможет. И, кстати, это в целом с геометрией так. Уберите цилиндр и попробуйте отдельно пирамиду так скруглить. И вас геометрическое ядро так же пошлёт учить матан и логику.  Это вам надо искать программу, которой геометрический движок позволит такое вытворять, вырождая поверхности полностью, даже не превращая их в точку (в точку, кстати, тоже не всякое ядро сможет).  
    • Kelny
      Для символа по ГОСТ доступ к полям не доступен через API. Можно попробовать поковырять через WinAPI.   Если речь об установках электронных компонентов, то там возможно проще блоки использовать, а в блоках на ставится элемент сварка/пайка/наклеивание и соответственно приходится использовать заметку и простой эскиз для значков.   Как вариант к заметке дорисовывать эскизы (как бы внутри элемента заметки - API это позволяет), но не уверен что можно будет нарисовать эскиз привязанный к направлению линии выноски. Возможно для контроля выноски и положения значка можно втиснуть в файл встроенный макрос, который будет следить за выноской и перерисовывать значок. Из минусов этого метода, что доступ к эскизам заметки только средствами API, но проблем с отображением на других машинах, где нет макроса, вроде быть не должно (ну только что без макроса редактировать/обновлять эскизы в таких заметках не получиться).   В Solidworks часто в записи бывает мало полезного. А вот уже готовые похожие примеры в справке по API попадаются.
    • Kelny
      Возможно программа ранее задавала какие-то вопросы на которые вы поставили галочку БОЛЬШЕ НЕ СПРАШИВАТЬ и возможно в выборе было НЕ СОХРАНЯТЬ, вот и не сохраняет. Возможно стоит вернуть все или нужные запросы системы, что на этот раз ответить правильно или не ставить больше галочек БОЛЬШЕ НЕ СПРАШИВАТЬ.   Инструменты-Параметры...-Настройки пользователя-Запросы и уведомления (или как-то так)        
    • Kelny
      Зачем? Чем не устроил ГОСТ 13682-80 МЕСТА ПОД КЛЮЧИ ГАЕЧНЫЕ? Например:  и т.п.
    • Kelny
      Окно точно полностью на экран умещается? Размер окна пробовали менять? Уменьшить за рамку (например, сверху рамки) или увеличить (например квадратик рядом с крестиком в правом верхнем углу заголовка окна). Возможно в какой-то момент было уменьшено разрешение экрана и окно перестало влезать на экран.
    • Kelny
      Возможно, отобразить только одну деталь и можно делать чертёж на одну деталь. В некоторых случаях деталь можно изготовить по файлу модели. А где сам макрос/программа?
    • Tumkalo
      Здравствуйте, подскажите пожалуйста постпроцессор на Hartford под какую САМ программу? Буду очень благодарен вам)))
    • Александр apdbox
      Здравствуйте! SOS! MAYDAY! HELP!   Работаю оператором ЧПУ, токарный, стойка Siemens SINUMERIK 828D.   Наше предприятие решило купить Вертикальный токарный обрабатывающий центр с ЧПУ FULLTONTECH CK5112 HM, система: SINUMERIK 828D.   По факту оказалось, что справиться с поставленной задачей непросто. И выбор в оказании помощи в виде консультанта выпал на меня. Раннее не занимался решением вопросов покупки станков и их комплектацией. Отнесся к этому вопросу с пониманием и серьезно.   Что касается дополнительной комплектации станка железом, вопросов не возникло. Но с системой ЧПУ SINUMERIK 828D вопросов очень много.   Вот несколько из них. Начну с истоков.   ПЕРВЫЙ ВОПРОС: Производитель  устанавливает на станок подходящую по функционалу Аппаратную часть для СЧПУ (PPU). По умолчанию эта СЧПУ (PPU) активируется и имеет бессрочную возможность функционирования.  Как люди говорят. Это основа.   У Siemens есть каталог дополнительных опций, а именно: SIEMENS AG GLOSSARY FUNCTION AND TERMS. Где все дополнительные опции имеют определенный код для заказа, например: Advanced Position Control APC, Option M13,  Article No.: 6FC5800-0AM13-0YB0.   Возникает вопрос. Какой Article No. у самой СЧПУ (PPU)? Мы хотим знать конкретно, что это и как это будет работать в данной ситуации в мире на нашем станке. Степень нашей защиты от сбоев ПО на станке.     ВТОРОЙ ВОПРОС: Все станки различны по виду операций на них возложенных. Для определенных операций на СЧПУ (PPU) активируются опции. Эти опции имеют определенный срок своего функционирования или бессрочны.   Вернемся к SIEMENS AG GLOSSARY FUNCTION AND TERMS. Например, опция Axis collision protection PROT, Option N06, Article No.: 6FC5800-0AN06-0YB0. Как я понимаю, ответственный производитель должен посоветовать какие опции для покупаемой модели станка нужны. Объясняет, как происходит их активация и сообщает стоимость указанных опций. В итоге, покупатель получает станок укомплектованный ПО и железом, и не переживает, что через какое-то время ПО или дополнительные функции отключатся.   ТРЕТИЙ ВОПРОС: Вертикальный токарный обрабатывающий центр с ЧПУ FULLTONTECH CK5112 HM, система: SINUMERIK 828D. После проверок предложенных опций я остановился на следующих из каталога.   SINUMERRIK 828D OPTIONAL FUNCTIONS 1.       6FC5800-0AS35-0YB0 2.       6FC5800-0AP58-0YB0 3.       6FC5800-0AP16-0YB0 4.       6FC5800-0AP17-0YB0 5.       6FC5800-0AP05-0YB0 6.       6FC5800-0AP13-0YB0 7.       6FC5800-0AP25-0YB0 8.       6FC5800-0AP22-0YB0 9.       6FC5800-0AP28-0YB0 10.     6FC5800-0AP01-0YB0 11.     6FC5800-0AM78-0YB0 12.     6FC5800-0AP30-0YB0 13.     6FC5800-0AM08-0YB0 14.     6FC5800-0AS07-0YB0 15.     6FC5800-0AS17-0YB0 16.     6FC5800-0AS16-0YB0 17.     6FC5800-0AP18-0YB0 18.     6FC5800-0AP67-0YB0 19.     6FC5800-0AP56-0YB0 20.     6FC5800-0AP77-0YB0 21.     6FC5800-0AP75-0YB0   Я правильно сориентировался в данном вопросе? Этот список опций полный для данного станка или надо дополнить? Не окажется так, что есть лишние опции, которые ну совсем не пригодятся, и мы зря вложим деньги?   Спасибо за уделенное мне время. Помощь и ответы. Наилучшие пожелания. С уважением, Александр.
    • soklakov
      Ровно такой же . Так он есть. Ну и что, что плавный. Молодец. С другого конца тоже касательную постройте, на пересечении нагрузка, выше которой лучше не лезть. А лучше иметь запас к ней. И было бы комфортнее по горизонтали перемещения, а силу вверх. Но уж как хотите, если в расчетах ненадолго, можете не привыкать. Погуглите, и расскажите здесь, как вы понимаете, что такое "пластический шарнир".   А если все стандарты вдруг сгорят, как работать будем? Конкретно это число - нет. Но у стали есть предельная пластическая деформация. Ее не стоит превышать даже в точке, макро трещина пойдет. Красавчег!!!
×
×
  • Create New...