[mephi-hpc] Прерывание задачи на 8 узлах
anikeev
anikeev at ut.mephi.ru
Mon Jul 8 17:59:58 MSK 2019
On Wed, 2019-07-03 at 16:33 +0300, Анастасия Шошина wrote:
> Добрый день.
Здравствуйте!
> Простите за беспокойство
>
> Хотела бы узнать, почему процесс завершается автоматически при
> запуске задачи на Черенкове. Как этого можно избежать?
Задача 222204 - старая (более недели), для неё не сохранилось log-
файлов Torque, поэтому точный ответ я Вам дать не могу.
Есть только один вид автоматического контроля пользовательских задач,
использующий SIGTERM - это контроль коэффициента использования
ресурсов. Задача автоматически останавливается из под аккаунта
администратора в том случае, если она использует менее 10% от
затребованного числа ядер и работает более часа. Только что запущенные
задачи (менее часа) имеют иммунитет для чтения входных файлов.
Примеры случаев, когда может сработать защита:
1) Допустим, задача при запуске в 1 поток расходует 10 часов. Задача,
запущенная на 2 потока расходует 5 часов на расчет и 1 час на
синхронизации данных. Всего - 6 часов. КПД = 83%. Задача, запущенная на
10 потоков расходует 1 час на расчет и 1 час на синхронизации данных.
Всего - 2 часа. КПД = 50%. Если у задачи КПД упал ниже 10% - она будет
принудительно остановлена. В данном случае нужно выбирать другой
алгоритм для параллелизма и оптимизировать передачу данных.
2) Допустим, задача при запуске в 1 поток расходует 10 часов. Задача,
запущенная на 2 потока расходует 4 часа на параллельный участок
алгоритма и 2 часа на последовательный участок алгоритма. Всего - 6
часов. КПД = 83%. Задача, запущенная на 8 потоков расходует 1 час на
параллельный участок алгоритма и 2 часа на последовательный участок
алгоритма. Всего - 3 часа. КПД = 42%. Если у задачи КПД упал ниже 10% -
она будет принудительно остановлена. В данном случае нужно переписать
последовательный участок алгоритма на параллельный. На малом числе ядер
он занимал пренебрежимо малое время, но на большом числе ядер это не
так.
3) В опции mpirun или алгоритм программы закралась ошибка и она
использует не все запрошенные ядра.
4) Задача читает входные файлы последовательно (используя 1 поток)
более часа.
Попробуйте построить кривую времени выполнения от числа потоков.
Проверьте по логам программы, все ли ядра она использует. Последите за
выводом программы в зависимости от времени - на каком участке алгоритма
она останавливается? Для отладки модно использовать параметр
компилятора -O0 -ggdb3, отладчик gdb, профилировщик perf.
> Спасибо за ответ.
Прошу прощения за задержку с ответом. Я болел.
> С уважением,
> Шошина А.В.
> _______________________________________________
> hpc mailing list
> hpc at lists.mephi.ru
> https://lists.mephi.ru/listinfo/hpc
--
С уважением,
инженер отдела Unix-технологий МИФИ,
Аникеев Артём.
Тел.: 8
(495) 788-56-99, доб. 8998
More information about the hpc
mailing list