В этом материале
Сохранённый диск не равен сохранённому процессу: приложение должно продолжаться из записанного состояния после прерывания.
Для прерываемой GPU VM Yandex Cloud сохраняйте результаты регулярно и проверяйте повторный запуск приложения. Остановка VM не сохраняет вычислительный процесс в прежнем виде, даже если дисковые данные остаются. Нужные артефакты должны быть записаны в хранилище с понятным жизненным циклом.
Учтите правила прерывания
Документация preemptible VM описывает принудительную остановку при потребности в ресурсах и максимальный срок жизни запуска. Для такого режима нет основания обещать непрерывное выполнение задачи до вашего удобного момента.
Выбирайте его для работы, которая переносит паузы и повторные попытки. Если результат нужен к фиксированному времени без запаса, сначала оцените подходящий непрерываемый вариант. Низкая ставка сама по себе не компенсирует потерянное рабочее окно или необходимость повторного расчёта большого участка.
Разделите диск и состояние программы
После остановки VM данные могут сохраниться, а процесс и его оперативная память — уже нет. Приложение должно знать, где последняя корректная контрольная точка и как продолжить. Файл, записанный наполовину, не должен ошибочно считаться готовым результатом.
Для пакетной обработки удобно фиксировать завершённые элементы с идентификатором входа и версии программы. Для связанного расчёта нужно определить состав контрольной точки: параметры, промежуточное состояние и ссылку на входные данные. Одно название checkpoint без проверенного чтения не подтверждает восстановление.
Снимок диска решает другую задачу
Инструкция создания snapshot описывает отдельный ресурс резервирования дисковых данных. Он полезен для восстановления диска, но не является автоматической копией работающей памяти приложения. Согласованность данных на момент снимка нужно учитывать отдельно.
| Объект | Назначение |
|---|---|
| Контрольная точка приложения | Продолжить вычисление с понятного этапа |
| Постоянный диск | Хранить записанные файлы |
| Snapshot | Восстановить дисковое состояние |
| Код и конфигурация | Воспроизвести среду и параметры |
Срок хранения снимка и его расходы рассматриваются отдельно от жизненного цикла вычислительной VM. Назначьте владельца и дату удаления ненужных копий.
Пример устойчивой обработки данных
Команда обрабатывает архив по независимым частям. После каждого завершённого блока сохраняет результат и обновляет журнал. В учебном тесте она останавливает VM посередине блока и запускает работу заново. Программа должна распознать неполный блок и продолжить корректно.
Дополнительно проверяют отсутствие дубликатов и смешения версий. Если новый запуск использует изменённый код, старые результаты помечают или пересчитывают осознанно. Нельзя молча соединять несовместимые артефакты только потому, что они находятся в одной папке.
Проверьте восстановление без доступа к старому процессу: это главный учебный опыт для прерываемой задачи. Если инструкция требует посмотреть переменную в прежней сессии, сохранённое состояние ещё неполно. Добавьте недостающий параметр в артефакт и повторите маленький тест продолжения работы.
Сохраните небольшой журнал испытания прерывания вместе с рецептом запуска. Он поможет следующему участнику проверить восстановление после изменения программы и не полагаться на старый удачный опыт.
Подготовьте следующий запуск заранее
Сохраните образ, зависимости, путь к данным и порядок восстановления вне самой сессии. Сигнал штатного завершения используйте для быстрого финального сохранения, но основную защиту строят регулярные записи: времени предупреждения может не хватить для крупной выгрузки.
Далее пригодятся конфигурации GPU Yandex Cloud и проверка постоянного хранения. Проверяемое продолжение работы поможет обсудить задачи, совместимые с таким режимом оборудования.