Skip to content

Latest commit

 

History

History
88 lines (66 loc) · 7.41 KB

File metadata and controls

88 lines (66 loc) · 7.41 KB
layout title order
concise
Подключение к кластеру
10

Доступ к кластеру

Доступ к управляющей машине кластера осуществляется по SSH

  • Хост: fdslab.dc.phystech.edu (если имя не работает, тогда 93.175.29.48)
  • Порт: 5555

Для доступа можно использовать следующие программы

  • Из Linux, Mac OS и Ubunutu из Windows 10: ssh для доступа к удаленному терминалу, scp для передачи файлов между вашим компьютером и кластером
  • Из Windows: Bitvise SSH Client для удаленного доступа и передачи файлов, Xming для запуска графических приложений.

Пример входа на управляющую машину (логин - v.pupkin):

ssh -p 5555 v.pupkin@fdslab.dc.phystech.edu

Чтобы запускать графические приложения необходимо указать ключ -X команде ssh, а также опционально включить сжатие данных ключом -C

ssh -CX -p 5555 v.pupkin@fdslab.dc.phystech.edu

Если вы не знаете свой логин и пароль, обратитесь к преподавателю.

Для доступа из Windows, заполните поля Host, Port и Username на вкладке Login программы Bitvise SSH Client, а также, если планируете использовать графические программы, поставьте галочку напротив Enable в X11 Forwarding на вкладке Terminal. Для работы графических приложений необходимо иметь запущенный сервер Xming.

Login Forwarding
X server

Редакторы кода

Для редактирования кода можно использовать один из следующих редакторов

  • gedit (требует запущенного X сервера)
  • atom (требует запущенного X сервера)
  • mcedit
  • nano
  • vim
  • emacs

Устройство кластера

Кластер состоит из трех машин — управляющего узла head и двух вычислительных узлов node01 и node02. Пользователи запускают свои задачи с управляющего узла, а автоматизированная система управления задачами запускает задачу на одном или обоих вычислительных узлах согласно требованиям, указанным пользователем. Домашние директории пользователей находятся на общей файловой системе, таким образом, все изменения становятся одновременно видны на всех трех узлах. Это удобно, когда программа пишется на вычислительном узле, а запускается на расчетном.

Система управления задачами

На кластере установлена система управления задачами (PBS, Portable Batch System) Torque. Она занимается распределением ресурсов кластера (узлов, вычислительных ядер, видеокарт, оперативной памяти, вычислительного времени) между пользователями. Пользователь описывает набор команд, требуемых для запуска задачи в специальном pbs скрипте.

Пример задачи (запишем в файл sample.pbs)

#PBS -N sample-task                            Назовём задачу sample-task
#PBS -l nodes=2:ppn=4                          Запросим для задачи два узла, по 4 ядра на узле
#PBS -l walltime=00:05:00                      Установим максимальное время работы задачи 5 минут
    
/usr/local/bin/mpirun hostname                 Запустить 8 копий (по 4 на каждом узле) программы hostname

Сформированный запрос можно запустить с помощью программы qsub:

[v.pupkin@head ~]$ qsub sample.pbs
4850.head.control

Задача поставлена в очередь под номером 4850. Посмотреть статус выполнения задачи можно командой qstat

[v.pupkin@head ~]$ qstat
Job ID                    Name             User            Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
4842.head                  task1            user1           100:59:0 R batch
4846.head                  task2            user2           1764:27: R batch
4849.head                  task3            user3           01:29:20 R batch
4850.head                  sample-task      v.pupkin        00:00:00 C batch

Здесь перечислены последние задачи, пользователи, которые их запустили, время работы этих задач, статус выполнения (C - закончена, R - выполняется, E - ошибка). Для досрочного завершения задачи можно использовать команду qdel, указав номер задачи, которую нужно снять.

После завершения задачи (успешного или не успешного), в той директории, из которой запускалась задача, создаются два файла вида <имя задачи>.o<номер задачи> и <имя задачи>.e<номер задачи>. Первый содержит нормальный вывод программы (всех программ, запущенных в рамках задачи), а второй — вывод ошибок. В данном случае файлы содержат

[v.pupkin@head ~]$ cat sample-task.o4850 
node02.control
node02.control
node02.control
node02.control
node01.control
node01.control
node01.control
node01.control
[v.pupkin@head ~]$ cat sample-task.e4850 
[v.pupkin@head ~]$ 

Файл с ошибками пуст, а файл вывода содержит выводы 8 копий программы hostname, половина из которых была запущена на узле node01 (полное имя узла - node01.control), а остальные — на узле node02 (полное имя узла - node02.control). Порядок строк может быть произвольным, так как выводы от всех запущенных копий смешиваются.