низкая производительность на кластере HPC (sge) при запуске нескольких заданий

низкая производительность на кластере HPC (sge) при запуске нескольких заданий

О, знаю, что это маловероятно, но я тут не в теме. Я запускаю несколько компьютерных симуляций на кластере высокопроизводительных вычислений (HPC) движка Oracle Grid Engine (SGE). Одно задание выполняется с определенной скоростью (примерно 80 шагов в секунду), когда я добавляю задания на машину, при достижении определенного порогового значения скорость уменьшается вдвое. На одной машине (я не знаю тип процессора) пороговое значение составляет 11 заданий для 16 процессоров. На другой машине с тем же количеством и типом процессоров пороговое значение составляет 8.

Сначала я думал, что это проблема с памятью, но каждое задание занимает около 60–100 МБ, а у меня на каждой из этих машин по 16 ГБ оперативной памяти.

Кто-нибудь из вас сталкивался с такой проблемой? Есть ли способ проанализировать это?

Спасибо.

решение1

Не зная настройки вашего кластера, интересно, используют ли процессоры гиперугрозу? Гиперугроза ядра отображается как удвоенное количество физических ядер, но вычислительная мощность может не увеличиваться линейно для нефизических ядер.

https://superuser.com/questions/279629/сколько-ускорения-делает-гипер-поток-в-теории

решение2

Причин может быть несколько.

Хотя ваши задания не потребляют много памяти, они могут заполнять шину памяти (которая соединяет ЦП с ОЗУ). Если шина заполнена, добавление дополнительных заданий только создаст большую нагрузку на шину памяти, что приведет к замедлению работы.

Другая возможная причина — ввод-вывод. Если ваши задания выполняют много файловых операций (например, операции открытия/записи/закрытия файлов), диск в системе может не справиться, если одновременно выполняется слишком много заданий.

Другими причинами являются другие узкие места в ЦП, например, общие кэши или блоки выполнения операций с плавающей точкой.

Связанный контент