[mephi-hpc] Максимальное число потоков

anikeev anikeev at ut.mephi.ru
Tue Jun 18 12:05:14 MSK 2019


On Mon, 2019-06-17 at 16:52 +0300, Мария Шутикова wrote:
> Здравствуйте!

Добрый день!

> Подскажите пожалуйста, как я могу узнать максимальное число потоков,
> которое пользователь может занять в данной очереди? Допустим, моя
> задача на 128 потоках считается примерно 4 часа, хочу определиться с
> очередью. Вероятно, лучше всего было бы запросить 4х32.

Оптимальная конфигурация MPI/OpenMP сильно зависит от алгоритма
программы и входных данных. Универсального ответа здесь нет. Для
типовых задач строится диаграмма времени выполнения тестовой задачи
(например, 16x8, 8x16, 4x32).

> Можно ли в short занимать столько? Есть ли ограничения? Если я
> некорректно задаю вопрос, поправьте меня, пожалуйста!

Для начала, Вам стоит обратить внимание на ограничения вычислительных
потоков для одного пользователя. Они есть на кластерах Unicluster и
Basov:

anikeev at master.unicluster ~ $ cat /var/spool/maui/maui.cfg
...
USERCFG[DEFAULT]    MAXPROC=64

anikeev at master.basov ~ $ cat /var/spool/maui/maui.cfg
...
USERCFG[DEFAULT]        MAXPROC=192

Таким образом, на Basov один пользователь не может занять более 192
вычислительных потоков. Ваша задача подходит под требования Basov, и не
подходит под требования Unicluster.

Далее, нужно ознакомиться с типами очередей:

anikeev at master.basov ~ $ qmgr -c 'p s'
...
create queue long
...
set queue long max_queuable = 1000 - Не более 1000 таких задач в
очереди для всех пользователей. 1001-я станет blocked
set queue long max_user_queuable = 500 - Не более 500 задач в очереди
от одного пользователя. 501-я станет blocked
set queue long max_running = 400 - Не более 400 одновременно запущенных
задач. 401-я останется в очереди, пока не закончится одна из
запущенных.
set queue long resources_max.walltime = 168:00:00 - максимальное время
выполнения
set queue long resources_min.walltime = 24:00:01 - минимальное время
выполнения
set queue long disallowed_types = interactive - запрещены интерактивные
задачи (qsub -I)
set queue long resources_available.procct = 192 - не более 192
вычислительных потоков для запущенных задач для всех пользователей.
Если задаче не хватает потоков, задача остается в очереди до
освобождения ресурсов
set queue long max_user_run = 150 - не более 150 одновременно
запущенных задач от одного пользователя. 151-я останется в очереди,
пока не закончится одна из запущенных.
...

Подробное руководство пользователя есть здесь:

http://docs.adaptivecomputing.com/maui/
https://www.adaptivecomputing.com/support/documentation-index/torque-re
source-manager-documentation/

Не на всех очередях установлены все типы ограничений. Конкретно по
Вашему вопросу:

Basov:

create queue short
...
set queue short max_queuable = 1000
set queue short max_user_queuable = 640
set queue short max_running = 500
set queue short resources_max.walltime = 06:00:00
...
set queue short max_user_run = 300
...

Строки "resources_available.procct" нет. Других ограничений на число
вычислительных потоков нет. Да, задачу 128 x 04:00:00 можно запустить
на Basov. Она встанет в общую очередь, если в очереди менее 1000 таких
задач или 640 Ваших таких задач.

Cherenkov:

Аналогично.


> _______________________________________________
> 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