Slurm на настольных компьютерах, как определить приоритет владельца

Когда файловая система смонтирована в определенной точке -монтирования, ОС считывает блок Super -из смонтированной файловой системы и загружает его в память. Блок Super -, наряду со многими другими вещами, содержит информацию об индексном узле корня этой файловой системы.

Вышеупомянутые пункты верны, что существуют структуры данных ОС, которые хранят записи обо всех смонтированных файловых системах, если другая файловая система была смонтирована в /home/, блок Super -этой файловой системы будет обращаться к блоку Super -этой файловой системы, чтобы получить индексный дескриптор корневого каталога. номер.

1
03.08.2019, 20:20
1 ответ

Через пару дней мне удалось ответить на свой вопрос. Оглядываясь назад, это было довольно просто.

Отзывчивость:Демон slurmd можно запустить с помощью аргументов командной строки, перечислите их с помощью slurmd -h. В частности, slurmd -n 19устанавливает наивысшее значение nice -(и, следовательно, самый низкий приоритет )для демона и всех его подпроцессов. На настольных компьютерах я просто

  • отредактировал /etc/systemd/system/slurmd.service, добавив -n 19к ExecStart, т.е.ExecStart=/usr/local/sbin/slurmd $SLURMD_OPTIONS -n 19
  • демоны systemd перезагружены с помощьюsystemctl daemon-reload
  • перезапустил демон slurmd,systemctl restart slurmd.service

Резервирование памяти:Часть памяти может быть зарезервирована для системы. Я оставляю 8 ГБ владельцу, добавляя MemSpecLimit=8000к спецификациям узла в slurmd.conf. Для фактического ограничения памяти было сделано несколько дополнительных шагов:

  • Выберите «Ядро» и «Память» в качестве потребляемых ресурсов, установив SelectTypeParameters=CR_Core_Memoryв slurmd.conf.

  • Добавьте подключаемый модуль задач cgroups, установив TaskPlugin=task/affinity,task/cgroupв slurmd.conf, а затем установив ConstrainRAMSpace=yesв cgroup.conf.

  • Поскольку мы работаем в Ubuntu, включите память и поменяйте местами контрольные группы, добавив строку GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"в/etc/default/grub

График работы в рабочие дни Некоторые из моих коллег хотели бы, чтобы их никто не отвлекал в рабочее время. Это легко сделать с помощью scontrolна головном узле, чтобы установить их состояние узла на «вниз» в рабочее время и «возобновить» после рабочего дня. Я делаю это автоматически с помощью системных таймеров:

  • Сначала создайте исполняемый скрипт, который обновляет состояния узлов рассматриваемых рабочих столов, используяscontrol:
#!/bin/bash
# slurm-update.sh - Updates the state on nodes belonging to the work-hour desktops partition.
systemctl start slurmd
for node in $(sinfo -h --partition=WHdesktops --format="%n"); do
        state=$(sinfo -h --node=$node --format="%T")
        echo "Setting node $node to state=$1 with reason=$2"
        scontrol update NodeName=$node state=$1 reason="$2" || echo "State on $node is already $(sinfo -h --node=$node --format=\"%T\")"
done

Для этого требуется два аргумента: новое состояние и его причина.

  • Создайте пару файлов службы/таймера в каталоге /etc/systemd/systemдля запуска приведенного выше сценария в определенное время. Сделайте по одной паре для каждого состояния, которое вы хотите установить (, например, я сделал 3 пары,установить, слить и возобновить ). Пара для постановки «вниз» выглядит так
# /etc/systemd/system/slurm-down.service:
[Unit]
Description=Shut down all SLURM desktop nodes
[Service]
Type=simple
ExecStart=/bin/bash /mnt/nfs/slurm_fs/systemd/slurm-update.sh down afterhours
StandardError=journal

и

# /etc/systemd/system/slurm-down.timer:
[Unit]
Description=Timer for shutting down slurm on desktop nodes on weekdays
[Timer]
Unit=slurm-down.service
OnBootSec=10min
# Run hourly on weekdays between 8:05 to 18:05
OnCalendar=Mon..Fri *-*-* 8..18:05:00
[Install]
WantedBy=multi-user.target
  • Перезагрузите демоны с помощью systemctl daemon-reload, а затем включите и запустите только таймер, а не службу:systemctl enable --now slurm-down.timer.

  • Повторите шаги для состояния возобновления работы в нерабочее время и, при необходимости, для состояния слива примерно за час до состояния простоя.

2
28.01.2020, 00:04

Теги

Похожие вопросы