У меня есть доступ к исследовательскому кластеру HPC, который настроен таким образом, что если ваша работа пытается использовать больше памяти, чем доступно узлу, узел вылетает и автоматически перезагружается. Это обычная практика, например видеть https://www.osc.edu/documentation/knowledge_base/out_of_memory_oom_or_excessive_memory_usage
Почему он должен быть настроен таким образом, а не просто завершать процесс (ы), требующий слишком много памяти? В обоих случаях вы теряете задание, но последнее, кажется, лучше для кластера в целом, поскольку узел можно повторно использовать быстрее. Или в этом случае ОС не может гарантировать восстановление памяти?
Перезагрузка узла гарантирует, что узел работает правильно, прежде чем ему будет назначено следующее задание. Кроме того, когда вы запускаете узел из-за нехватки памяти и начинаете замену, он замедляется и может перестать отвечать. В этом случае они могут использовать что-то вроде IPMI для включения и выключения узла.
В зависимости от среды, которую вы описываете, и некоторой информации, которую можно найти, перейдя по предоставленной вами ссылке, похоже, что используемый вами кластер подготовлен как бездисковая система или система без состояния, что означает, что вся операционная система загружается в память. из образа ОС, который хранится удаленно.
Обеспечение правильного завершения параллельных заданий на нескольких узлах может быть сложным процессом, а обеспечение правильного выполнения уничтожения и очистки часто может занять больше времени, чем простая перезагрузка узла. Приведение узла в чистое состояние перед запуском работы необходимо для обеспечения максимальной производительности кластера.
Точные причины для настройки узла таким образом будут зависеть от систем обеспечения и управления ресурсами, используемых в кластере.