SSH-хосты и настройка Slurm
Перед отправкой работы настройте хост SSH и выберите Direct SSH или Slurm, прежде чем отправлять удаленную работу. Сохраненный профиль хоста не устанавливает успешную аутентификацию или выполнение. :::
Settings → Compute для регистрации сервера или кластера. Регистрация хозяина, предоставление его для разговора и завершение работы являются отдельными вехами. Сохраняйте правила логина-узла сайта и требования к планировщику с заметками хоста.
Выберите, где выполняются рабочие места
| Режим выполнения | Выполнение работы | Командный звонок | Соответствующая окружающая среда |
|---|---|---|---|
| Direct SSH | Непосредственно на хосте SSH login | На хосте SSH login | Машина, где разрешены прямые рабочие нагрузки |
| Slurm | Отправлено и управляется через Slurm | Все еще на хосте SSH login | Кластер, требующий запланированных ассигнований |
Выбор Slurm не переносит каждую команду на вычислительный узел. Не истолковывайте логин-хост CPU, RAM или GPU как ресурсы, выделенные для будущей работы Slurm. Проверить фактическое распределение работы, прежде чем интерпретировать ее результаты.
Добавить соединение
Выберите Add SSH host. Выберите существующий псевдоним или введите идентификатор хоста. Форма по умолчанию для аутентификации конфигурации SSH и выполнения Direct SSH.
| Поле или контроль | Ввод и эффект |
|---|---|
| From ~/.ssh/config | Выберите найденный псевдоним; отключены, когда отсутствуют псевдонимы |
| Or type a host alias | Требуемый хост / алии, символы 1-255 после обрезки; Нет разрывов линий или NUL |
| Факультативные ноты Host | Правила планировщика, раздел/счет, модули, политика установки пакетов и места расположения среды; Максимум 32,768 символов |
| Execution mode | Direct SSH или Slurm; Сохраняется на хосте |
| SSH configuration | Решите настройки соединения с ssh -G; использовать существующую конфигурацию SSH, ключи или ssh-агент |
| Advanced settings → User | факультативная оверрайд; blank сохраняет разрешение SSH |
| Port | Опциональная конфигурация SSH; Если подается, целое число 1-65535 |
| Identity file | Опциональная оверрайд файла ключа; бланк использует конфигурацию/агентное поведение |
| Username and password | Требуется Пользователь, Порт и Пароль; не использует ключи или ssh-агент |
| Cancel | Уйти без регистрации формы |
| Add | Подать действительное соединение; Аутентификация пароля должна пройти тест на подключение до добавления хоста |


Режим пароля зависит от аутентификации пароля приложения и возможности безопасного хранения. Если он недоступен, проверьте причину, указанную в форме. Введите учетные данные в этой области, а не в заметках хоста или запросе агента.
Для хоста SSH-конфигурации приложение создает запись, открывает вид детали и запускает фоновый зонд. Таким образом, добавленная строка не доказывает аутентификацию или готовность к вычислениям. Прочитайте результат зонда, прежде чем разрешить задачу использовать его.
Подключите защищенный паролем исследовательский сервер
- Открыть Settings → Compute → Add SSH host. Введите адрес вашего сервера или псевдоним.
- Выберите Username and password, введите User, Port и Password, затем выберите Add. Используйте порт, предоставленный вашим администратором. Примерный сервер использует порт 22.
- Если приложение сообщает The SSH host key is unknown. Verify it in a terminal before connecting., сначала установите хост-доверие. Подключайтесь к одному хосту и порту с вашим SSH-клиентом, сравнивайте отображаемый отпечаток пальца с отпечатком администратора и принимайте его только тогда, когда они совпадают. Вернитесь в приложение и повторите Add. Не отключайте проверку ключа хоста, чтобы отклонить сообщение.
- Подождите Last probe succeeded. В Configuration проверьте Credential configured, метод аутентификации и время последней проверки. Сохраненный пароль помечается Configured · cannot be viewed.
- Чтобы проверить или изменить существующее соединение, откройте Configuration → Edit и используйте Test and save. Прочтите уведомление перед изменением аутентификации: разрешение сеанса и разрешение выдаются, когда новая конфигурация завершена. После этого включите хост для предполагаемой сессии.
В английском примере показан успешный зонд, удостоверенный паролем: процессоры 256, оперативная память 504 GB, один PCIe NVIDIA A100 80GB и обнаруженный планировщик Slurm. Настроенный режим остается Direct SSH до тех пор, пока вы не измените его. Это ресурсы логин-хоста этого сервера, а не минимальные требования или запланированное распределение. Идентификаторы хоста и учетной записи скрыты на скриншоте.

Проверяйте и сохраняйте детали хоста
| Раздел или кнопка | Что проверить |
|---|---|
| Probe / Retry probe | Обновление соединения/обнаружение ресурсов; Отличие Не зондированный, Пробирование, Последний зонд удался и Проб провалился |
| Resources / Login host resources | Обнаружен процессор, память, GPU и информация о планировщике; Распределение планировщиков имеет отдельную емкость |
| Configuration → Edit | Проверьте настройки аутентификации и текущее состояние учетных данных |
| Test and save | Проверить конфигурацию аутентификации кандидата перед сохранением; Измененная конфигурация очищает сессию и разрешительные гранты. Неизменная конфигурация сообщает, что настройки уже обновлены. |
| Execution mode → Edit → Save | Изменить настроенный режим; Сравните его с обнаруженным планировщиком |
| Details → Edit | Обновление хост-специфических инструкций; Сохранить обязательства, отменить отказы |
| Показать больше / Показать меньше | Расширять или разрушать длинные ноты |
| Scratch root → Edit | Сохранить удаленный путь временной работы в качестве прикрепленного значения |
| Restore auto-detection | Удалите заколоченную царапину, чтобы будущий зонд мог ее предоставить |
| Concurrent job limit → Edit | Установите целое число от 1 до 500; По умолчанию отображается 10 |
| Удаление хоста | Просмотрите диалог удаления приложения и ограничения на активную работу, прежде чем подтвердить |
Корень царапины — это путь на удаленном хосте. Это не каталог артефактов вашего ноутбука. Подтвердите, что учетная запись может писать там, и что политика очистки сайта дает вам достаточно времени для сбора результатов. Ограничение параллельной работы не заменяет собственные квоты или ограничения ресурсов планировщика.
Выберите каталог скретч-работы
Откройте Scratch root → Edit, введите написанный абсолютный путь, одобренный для вашего сервера, а затем Save. PINNED означает, что более поздний Probe сохранит ваш выбор. Подтвердите доступ к записи, проверив каталог и выход первой работы.
Для первого запуска откройте Concurrent job limit → Edit, введите 1 и выберите Save. Это ограничивает рабочие места, управляемые приложениями на этом хосте, по одному за раз. Он не зарезервирует процессор, не устанавливает ограничение памяти и не мешает другим пользователям выполнять работу. Снижение лимита не останавливает существующую работу. Используйте Restore auto-detection только тогда, когда вы хотите, чтобы последующие зонды снова поставляли путь царапины.
Держите инструкции хоста отдельно от обнаруженных ресурсов.
Сохраненные инструкции хоста не зависят от Resources. Успешный зонд не создает инструкции по настройке, а пустые инструкции не означают, что зондирование не удалось. Сохраняйте политику планировщика, активацию среды и воспроизводимые шаги установки в Details; CPU/RAM/GPU в разделе Ресурсы.
Когда агент обновляет инструкции, он должен сначала прочитать сохраненный документ и заменить его точным текущим содержанием. Если другое редактирование изменило его, перечитайте и сравните перед повторным использованием. Не используйте пробную сводку при замене документа. Контракт на обучение хозяина.
Сделайте хост доступным для задачи
В разговоре Agent controls проверьте наличие и выбор вычислительного хоста. Также должен быть включен выбранный хост. Назовите предполагаемый хост и режим выполнения в задаче, которая в противном случае могла бы выполняться локально. Держите первый удаленный запрос достаточно маленьким, чтобы проверить его получение, журналы и выход, прежде чем отправлять научную нагрузку.
Для Slurm, получите правильную учетную запись/раздел, запрос ресурсов, время стен, модуль/окружающая среда и политику царапины от владельца кластера. Наличие sbatch, squeue, sacct и scancel поддерживает операции планировщика; Их присутствие само по себе не устанавливает разрешения на подачу.
Проверьте хост перед исследовательской нагрузкой
| этап | Проверьте, прежде чем двигаться |
|---|---|
| Подключение | Успешный зонд и аутентифицированное соединение. |
| Прямая работа | Небольшая утвержденная работа, ее статус выхода, читаемый журнал и извлеченный результат. |
| Работа в Slurm | Расписание квитанции / идентификатор работы, фактическое распределение, конечное состояние и извлеченный результат. |
| Восстановление после повторного подключения | Приложение совмещает одну и ту же удаленную работу; Он не представил дубликата. |
| Аннулирование | Планировщик/процесс подтверждает, что он остановился; Проверить сохраненные выходы перед очисткой. |
| Рабочая нагрузка GPU | Необходимая среда, вес, память и научные результаты проверки, в дополнение к доступу к SSH. |
Обзор источника: форма Add-host, поля аутентификации, Хостинговые детали, валидация соединения и Выбор хостов сессии.
Запуск удаленной проверки качества RNA-seq
Запуск удаленной проверки качества RNA-seq
Практический пример Проверка качества RNA-seq через Direct SSH
Используйте тот же публичный Счетная матрица GSE60450 при переносе анализа с вашего ноутбука на сервер. Сравнение известного результата помогает отличить задачу конфигурации вычислений от изменения научного метода.
- Создайте беседу в исследовательском проекте и приложите исходную графовую матрицу.
- Открыть Agent controls → Compute. Включите хост, затем добавьте его в Запуск целей. Доступность и выбор являются отдельными элементами управления; Просто регистрация хоста в Настройках не выбирает его для этого разговора.
- Попросите задание Direct SSH, назовите входные и требуемые выходы и укажите ограничения. В этом примере используйте один поток процессора, потолок памяти 1 GiB и время выполнения 120-секунды. Сервер Python по умолчанию является достаточным; Установка упаковки не требуется.
- Когда появляется Allow remote job submission?, проверьте Host, Intent, Inputs, Execution mode, Timeout и Remote workdir. Расширьте Show full command, чтобы проверить весь сценарий. Once одобряет это предложение; Более широкие рамки применяются к последующим операциям. Выберите область намеренно.
- Сохраните возвращенный Job ID. Откройте чип работы или Background tasks, чтобы проверить эту работу. Вы можете оставить разговор, пока он работает; Избегайте отправки другой копии только потому, что ответ закончился.
- После завершения работы откройте Remote job details. Проверьте Status, Runtime, Job ID и Remote workdir. Используйте Refresh для текущего просмотра и stdout или stderr для проверки каждого журнала. Кнопка дистанционного управления открывает удаленный каталог работы.
- Подождите результатов и ответов, затем откройте опубликованный CSV и отчет. Успешные вычисления, сбор файлов и публикация Artifact являются отдельными этапами. Завершенная работа сама по себе не устанавливает, что оба ожидаемых файла были опубликованы.
Пример запроса:
Запустите описательный QC на прилагаемой матрице подсчета GSE60450 с использованием выбранного хоста Direct SSH. Сохраняйте вход. Для каждой выборки вычислите общее количество, гены с нулевым счетом, обнаруженные гены и среднее положительное количество. Сохраните CSV и краткий отчет о методах с размерами и до / после SHA-256. Используйте один поток процессора, отсутствие установки пакета и ограничение времени выполнения 120. Вернуть удостоверение личности после подачи заявки; Собирать и публиковать результаты, когда он заканчивается. Не нормализуйте подсчеты и не делайте биологических выводов.
После успех и кода выхода 0 подтвердите, что приложение собирает оба вывода и что сохраненная таблица и отчет снова открываются. Сравните полные идентификаторы выборки и метрики с Общий базовый уровень и проверьте хэш входа до и после удаленного вычисления. Этот пример Direct SSH прошел эти проверки.


Загрузите пример Таблица QC и Методы докладов. Эти необработанные проверки не заменяют нормализацию, обзор экспериментального дизайна или дифференциально-экспрессионный анализ. Медиана положительного счета исключает нули.
Вернуться на работу после перезапуска приложения
Откройте тот же проект и разговор, затем используйте Compute или запись работы Background tasks. Сравните Job ID с оригинальным чеком, прежде чем предпринимать действия. Восстановленная работа – это существующая удаленная рабочая нагрузка. Начало нового разговора или повторная отправка запроса не является шагом к восстановлению.
Отдельный контрольный пункт подготовки, показанный ниже, работал при перезапуске локального приложения. Приложение восстановило тот же идентификатор вакансии, а затем собрало журнал завершения. Ожидание закончилось нормально; Этот снимок экрана демонстрирует восстановление, а не отмену или научные вычисления.

Отменить удаленную работу
Откройте Background tasks, выберите предполагаемую работу и сравните ее Job ID с квитанцией. Back возвращается в список вакансий. Выберите Cancel в подробном виде этой работы, подождите, пока кнопка показывает Cancelling, затем используйте Refresh для подтверждения Cancelled. Закрытие подробного диалога или окончание ответа на разговор не отменяет удаленную рабочую нагрузку.
Контрольно-пропускной пункт подготовки ниже был отменен в результате этого контроля. После этого удаленный процесс был независимо подтвержден и отсутствовал. Его существующий журнал оставался читаемым. Это не означает, что отмененный анализ дал полный результат. Проверьте сохраненные файлы перед их использованием.

Отправьте через Slurm и проверьте распределение
- Откройте хост в Settings → Compute, выберите Execution mode → Edit → Slurm → Save и снова откройте настройку, чтобы подтвердить его. Только Detected scheduler не выбирает режим.
- Включите и выберите хост в предполагаемом разговоре. Подтвердите раздел сайта / учетную запись и читаемый учет планировщика перед проведением длительного анализа.
- Запрос ресурсов с использованием одной директивы
#SBATCH --option=valueна строку. В этом примере:
#SBATCH --partition=local
#SBATCH --cpus-per-task=1
#SBATCH --mem=1G
#SBATCH --time=00:03:00
Используйте раздел вашего сайта, а не копируйте local без каких-либо условий. Работа 120-секундный тайм-аут нагрузки отделена от трехминутного лимита распределения планировщика. Они не определяют, как скоро начнется работа в очереди. Приложение управляет именем вакансии, рабочим каталогом и путями stdout/stderr.
- Сохраняйте приложения Job ID и scheduler_job_id. Идентификатор планировщика может прибыть после получения первоначального представления; Попросите агента прочитать статус спасенной работы. Не отправляйте снова только потому, что в первом квитанции отсутствует идентификатор планировщика.
- Сравните запрашиваемые ресурсы с фактическим распределением. В примере запрашивался один процессор для каждой задачи и 1 GiB; Slurm записывал одну задачу и два выделенных логических процессора. Используйте запись распределения планировщика при объяснении использования ресурсов.
- Дождитесь подтвержденного состояния терминала и соберите файлы, прежде чем публиковать результат. Выходной файл на стороне сервера не устанавливает, что приложение собрало его.

Когда сервер завершает работу, но приложение продолжает ждать
Если в снимке приложения сообщается о last_poll_error, сохраните существующий идентификатор вакансии и попросите указать точную ошибку. Наблюдаемый провал в бухгалтерском учете был:
slurm_poll_failed: Slurm accounting storage is disabled
Если планировщик показывает ExitCode 0:0, но приложение по-прежнему показывает представленный, result_final ложный или не собирает файлы, сохраните оба идентификатора работы и проверьте ошибку опроса. Относитесь к завершению планировщика и сбору результатов приложения как к отдельным этапам.

Попросите администратора кластера предоставить работающий учет sacct для учетной записи и работы. squeue больше не перечисляет работу, что является недостаточным доказательством успеха. Сохраняйте существующий каталог работ и идентификаторы вакансий во время ремонта бухгалтерского учета, а затем снова проверяйте ту же работу. Не отправляйте повторно завершенный анализ, чтобы устранить ошибку мониторинга. Отмена Slurm, восстановление и сбор заявок остаются на рассмотрении до тех пор, пока это требование не будет решено.
Запустите дизайн небольшой белковой последовательности на GPU
Запустите дизайн небольшой белковой последовательности на GPU
Практический пример Проектирование одной последовательности убиквитина с помощью ProteinMPNN на GPU
Используйте общедоступный 1UBQ структура убиквитина для генерации одного кандидата цепочки А с помощью ProteinMPNN. Это проверка удаленного выполнения GPU и инспекции вывода. Он не предсказывает новую структуру и не устанавливает функцию убиквитина.
- Выберите подключенный хост в Compute. Проверьте свободную память GPU и текущую нагрузку и подтвердите, что прямое выполнение небольшой задачи разрешено. В кластере, управляемом планировщиком, используйте авторизованный раздел и учетную запись.
- Попросите агента подготовить изолированную среду и сохранить инвентарь Python, PyTorch/CUDA и зависимостей. В качестве примера были использованы Python 3.10, PyTorch 2.5.1+cu124 и NumPy 1.26.4. Оригинальный Python хоста имел только процессор PyTorch; Одного обнаружения GPU было недостаточно.
- Pin Официальный контроль ProteinMPNN и его входящие весы
v_48_020. Запись SHA-256 для скачанной структуры и весов 1UBQ. - Укажите цепочку А., кандидата один, размер партии 1, температуру 0.1, семенной 42 и предел исполнения 180-секундный. Проверьте удаленную команду, показанную приложением, прежде чем утверждать эту операцию.
- Требуется стад/стедер, состояние выхода и параметрическое устройство модели.
CUDA available=Trueсам по себе не доказывает вывод, используемый GPU. В этом забеге были записаныparameter_device=cuda:0иparameter_is_cuda=True. - Проверить сгенерированный FASTA. Самостоятельно проверьте длину, аминокислотный алфавит, соответствие родной цепи и конечные баллы, а затем снова проверьте входной хеш.
| Проверить | Результат в этом примере |
|---|---|
| Устройство | NVIDIA A100 80GB PCIe; Параметры модели на CUDA |
| Длина ввода/вывода | Нативная цепь А и кандидат оба остатка 76 |
| Алфавит и баллы | Стандартный аминокислотный алфавит 20; Конечный счет / глобальный балл 0.8568 |
| Родные матчи | 42/76; Самостоятельно вычисляемое восстановление 0.5526316 |
| Казнь | Модель и независимая валидация исключены из 0; Время генерации 0.1949 секунд исключает настройку и выполнение задачи. |
| Целостность ввода | Идентичные структуры SHA-256 до и после |
Скачать запись проверки GPU. Емкость 80 GB устройства не является минимальным требованием для этой небольшой задачи. Пиковая память не измерялась. Удаленные журналы и файлы не обеспечивают автоматически полное локальное происхождение Notebook.
В этом примере используется утвержденная прямая команда SSH. Более раннее представление Slurm вернуло Недействительный счет, поэтому этот результат не подтверждает работу Slurm GPU. Проверить наличие раздела/авторизации учетной записи при возникновении такой ошибки; Не меняйте услуги планировщика или обходить требуемую очередь.
Устранение SSH и ошибок в работе
Прочитайте как код, так и его сообщение. Ошибка подключения, отказ планировщика и неудавшаяся программа требуют разных исправлений. Идентификаторы ниже описывают состояние соединения и вычисления работы; Интерфейс может отображать описательное сообщение вместо исходного кода.
Подключение и удаленные файлы
| Сообщение или идентификатор | Значение | Следующий шаг и проверка успеха |
|---|---|---|
The SSH host key is unknown. Verify it in a terminal before connecting. | У SSH-клиента нет надежного ключа для этого хоста и порта. | Проверьте отпечатки пальцев с администратором, установите доверие хоста к системе SSH-клиента, затем повторите Add или Test and save. Не отключайте проверку ключа хоста. |
Permission denied (publickey) | аутентификация ключа SSH не удалась; Классификатор удаленных файлов рассматривает это как connection. | Проверьте пользователя, файл идентификации, псевдоним хоста и ssh-агент. Подтвердите, что администратор авторизует этот ключ. Использовать Test and saveТогда Retry probe. |
Connection refused / No route to host / Подключение timeout | Транспорт SSH не может достичь или установить соединение. | Проверьте наличие хоста, порта, сети / VPN и сервера. Повторите соединение после исправления причины. |
ENOENT / not_found | Запрашиваемого удаленного пути не существует. | Проверьте путь на удаленном хосте, а не на ноутбуке. Откройте правильный каталог или файл. |
EACCES / EPERM / permission | Подключенная учетная запись не может выполнять эту операцию файловой системы. | Попросите администратора хоста подтвердить доступ или выбрать авторизованный каталог царапин. повторите ту же операцию. |
outside_roots | Проверка пути удаленного файла отвергла неабсолютный путь или контрольные символы. | Предоставьте абсолютный удаленный путь без линейных разрывов / управляющих символов. Проверьте полную ошибку, если другой слой отклонил путь. |
Записи о работе
| Код ошибки | Значение | Следующее действие |
|---|---|---|
approval_denied | Запрошенная операция не получила одобрения. | Проанализируйте предполагаемую команду и масштаб. Отправьте новый запрос только в том случае, если вы хотите разрешить эту работу. |
host_unreachable | Приложение не смогло достичь или подтвердить операцию хоста. | Восстановление связи и зондирование хоста. Если представление могло произойти, проверьте наличие существующей удаленной работы перед повторным использованием. |
invalid_resources | Аргументы ресурса или директивы Slurm не прошли проверку. | Прочитайте названное поле / директиву. Следуйте принятому формату ресурсов, ограничениям кластеров и любым ограничениям директив, управляемым приложениями. Повторите после исправления этого поля. |
dispatch_failed | Запуск или отправка планировщика не удались. | Читаем скриншоты и любые sbatch Сообщение. Проверьте раздел / счет, окружение и команду. Проверьте квитанцию планировщика перед отправкой снова. |
job_failed | Работа завершилась неудачно. | Прочитайте код выхода и stdout/stderr, исправьте программу или окружение, затем запустите небольшой тест. |
timeout | Связь, команда или работа превысили лимит. Этот код также может сопровождать недействительные timeout_seconds. | Используйте сопроводительное сообщение, чтобы отличить недействительный ввод от прошедшего времени. Проверьте существующее состояние работы, прежде чем менять лимит или перезапускать. |
process_vanished | Отслеживание или восстановление уже не могли найти ожидаемый процесс. | Проверьте каталог удаленной работы, журналы и историю планировщика. Установить, прекратилась ли работа или была завершена, прежде чем создавать замену. |
last_poll_error Ошибка мониторинга, а не окончательный статус работы. Кроме того, harvest_error означает, что сбор результатов требует внимания. Вычисления, возможно, уже закончились. Сохраните идентификатор вакансии, восстановите связь и проверьте существующую вакансию, прежде чем начинать другую копию.
Успешное восстановление должно показать конечное состояние предполагаемой работы, интерпретируемый статус выхода и доступный результат. Для Slurm проверьте идентификатор работы планировщика, а также идентификатор работы приложения. Если ошибка сохраняется, следуйте за Сообщите об ошибке или спросите сообщество. Включите режим выполнения, оба идентификатора, когда они доступны, полную ошибку и дезинфицированный выдержку из журнала.
Для аутентификации SSH-ключа/конфигурации предоставьте удобный ключ или псевдоним хоста и проверьте соединение перед отправкой. Сбор результатов Slurm требует рабочего учета для выбранного счета; Следуйте вышеприведенным проверкам, если приложение не может урегулировать работу.
Источники: Вычислить коды работы и поля записей, SSH/файловая классификация ошибок, Валидация представления Slurm.