Параллельные вычисления в ИММ УрО РАН
 
 
                     Файл OPERATOR.TXT.
                 ИПМ им. М. В. Келдыша РАН.
           Отдел ИВСиЛС, сектор эксплуатации МВС.
                                                          А. О. Лацис.

            СИСТЕМА-1000 - ОС СУПЕР-ЭВМ МВС-1000.
                    ИНСТРУКЦИЯ ОПЕРАТОРУ
           ПО ОБСЛУЖИВАНИЮ И РЕГЛАМЕНТНЫМ РАБОТАМ.
                     ПРИМЕР ИНСТРУКЦИИ.
     
     Это  не  инструкция,  а временная шпаргалка. Потом будет
усовершенствовано.
                             
1. Нормальное состояние системы теперь - рабочее, то есть все
всегда включено. Если придется перевызывать систему на Альфе,
то  надо сначала привести в рабочее состояние IRIS и Альфу-2,
поскольку Альфа монтирует их диски.
     
2.  Все  описанные  ниже  работы  выполняются   пользователем
operator с локальной консоли. Делать "logout" из него не сле-
дует,  если запущен сервер (см. ниже). Пароль у этого пользо-
вателя - как у root'а, и ПРАВА ТАКИЕ ЖЕ, так  что  соблюдайте
некоторую осторожность.
     Все  команды оператора можно узнать, набрав "help". Ниже
кратко описано, как ими пользоваться.
     
3. Когда включена стойка МВС-1000, на Альфе  должен  работать
сервер  стойки. Для его запуска (всегда и только на локальной
консоли):
     
     login: operator
     Password: <как у root'а>
     
     Затем убедиться, что сервера нет, при помощи команды:
     
     findserver
     
     Если он все же есть и должен быть уничтожен, используйте
"kill" или "hardkill".
     Затем проверить, нет ли зависших задач пользователя, при
помощи команды:
     
     musers
     
     Если есть, ОБЯЗАТЕЛЬНО поубивать при помощи hardkill.
     Запустить сервер:
     
     server
     
     Проверить командой findserver.
 
4. Изменения в использовании процессоров и системных  процес-
   сов по сравнению с МВС-100.
     Процессы имеют не имена, как в МВС-100, а номера.
     Сервер стойки (называется "saload") - процесс.
     При  запуске  задачи пользователя образуется по процессу
на каждый физический процессор (а не один процесс, как было в
МВС-100).  Программа называется "screen". Кроме того, при за-
нятии процессора в системе образуется флаг занятости.  Список
занятых можно посмотреть командой "proc".
     Есть команды,  чтобы  посмотреть  все  процессы  данного
пользователя, а также все процессы всех пользователей.
     Нет  никакого аналога секций. Процессоры захватываются и
освобождаются задачами по одному.
     Есть  две  команды  уничтожения  процессов  -  "kill"  и
"hardkill". Сервер, если придется, можно уничтожать любой  из
них.
     Процессы  пользователей надо сначала пытаться уничтожить
командой "kill". При наборе "kill" на все процессы одной  за-
дачи  пользователя  они  должны все хором завершиться и снять
флаги занятости. Если это произошло, соответствующие  процес-
соры пригодны для повторного использования (именно это проис-
ходит при штатной работе, когда пользователь сам  управляется
со своими программами).
     В  командах "kill" и "hardkill" можно набирать несколько
параметров:
     
     kill 1134 5378 1233 ...
            
     Невозможность снять задачу по "kill" - криминал в систе-
ме, должен документироваться. По "hardkill" процесс пользова-
теля снимается гарантированно, но после этого невозможен  за-
пуск на этом процессоре новой программы.
     При уничтожении процесса пользователя по "hardkill" флаг
занятости процессора остается, и процессор для повторного ис-
пользования  не пригоден. Поскольку система считает его, сог-
ласно флагу, занятым, на работу других задач  это  влиять  не
должно.
     
5. Что должно быть и чего быть не должно.
     Сервер стойки (в "ps" и "findserver" его имя - "saload")
есть единственная связь чего-либо со стойкой. Его уничтожение
означает прекращение счета всех задач. В принципе его никогда
не должно требоваться уничтожить,  поскольку  при  выключении
стойки он автоматически слетает. Однако, из-за возможных оши-
бок  в  системе может потребоваться его перевызвать. При этом
важно понимать следующее:
     - наиболее вероятная неисправность - невозможность  выб-
росить задачу пользователя с освобождением процессоров. Обыч-
но это не мешает работе на других процессорах. Если этих дру-
гих  достаточно  - не перевызывайте сервер, пока есть возмож-
ность.
     - КАТЕГОРИЧЕСКИ НЕЛЬЗЯ  иметь  запущенными  два  сервера
сразу.  Это нигде не проверяется, но если так сделать, ничего
работать не будет.
     - если Вы перевызываете сервер, а в счете  (по  существу
или  формально)  были  задачи, их обязательно надо уничтожить
при помощи hardkill до вызова нового  сервера.  Автоматически
они  не слетят, и  будут невыносимо тормозить всякую деятель-
ность на машине. По "kill" задачи не снимаются, если нет сер-
вера, пытаться бесполезно.
     Процессоры  можно  объявлять занятыми и свободными вруч-
ную - это сделано для возможности исключать неисправные.  Ни-
когда  не  пытайтесь "для порядка" объявить свободным процес-
сор, задача на котором не кончилась по своей  воле,  то  есть
потребовала  для снятия "hardkill". Это приведет только к по-
пытке при запуске следующей программы воспользоваться процес-
сором, который к этому не готов.
      При вызове сервера всякий раз тщательно проверяйте  от-
сутствие  старых  серверов  и  screen'ов,  уничтожайте  их по
"hardkill" ДО вызова нового сервера.