Практикум по выбору кластера
HA и вычислительный кластер: разные цели и испытания
Разделите доступность услуги, скорость одного расчёта и поток независимых заданий. Свяжите схему оборудования с управлением Slurm, обменом MPI, замером масштабирования и восстановлением из контрольной точки.
Что вы сможете сделать
- Выбирать критерий приёмки по задаче, а не по слову «кластер».
- Отделять выбор узлов запуска от выбора интерфейсов MPI.
- Проверять масштабирование и восстановление расчёта по отдельности.
Сначала задача, затем название кластера
Два проекта могут использовать похожие серверы, но требовать разных испытаний.
В Windows Server Failover Clustering кластер следит за настроенной ролью и может перезапустить её или перенести на доступный узел. На стенде проверяют возврат именно этой услуги.
Slurm выдаёт ресурсы на время задания и управляет очередью. Учебная схема: управляющий сервер принимает задания, вычислительные узлы выполняют их. У нескольких независимых заданий и у одной совместной работы процессов разные условия приёмки.
Не выбирайте между «HA» и «вычислениями» как между несовместимыми свойствами. Для расчётного комплекса также может требоваться отказоустойчивое управление. Его проверка не заменяет замер приложения.
От схемы задания к оборудованию
Управление, вычисления и обмен данными обозначают на схеме раздельно.
Учебный проект: один управляющий сервер, его резерв, два вычислительных узла и хранилище данных. Для рабочих узлов в задании фиксируют нужные CPU и RAM, для хранилища — входные файлы, результаты и контрольные точки. Это схема требований, а не готовая спецификация оборудования.
При Open MPI 5.0.8 список hostfile задаёт, на каких компьютерах запускать процессы. Он не выбирает интерфейс обмена. В комплекте проекта отдельно укажите сетевые карты, порты коммутаторов и кабели для нужного обмена; подтвердите фактический маршрут на стенде.
Настройки планировщика и MPI связывайте с версией и нагрузкой приложения. Запишите число процессов на узел, нужную память и результаты измерений сети. Универсальное число ядер или скорость канала здесь не задаются.
Как проверить ускорение одной задачи
Переход к большему числу узлов должен иметь измеряемую цель.
Для strong scaling сохраняют размер задачи и меняют число вычислительных элементов. Для weak scaling сохраняют работу на один элемент, поэтому общий объём растёт. Эти измерения отвечают на разные вопросы; одно не подменяет другое.
Учебные числа: одинаковый расчёт занимает 100 с на одном узле и 60 с на двух. Ускорение — 100/60 ≈ 1,67. Время, суммированное по занятым узлам, составляет 100 и 120 узло-секунд. Это арифметический пример, не замер кластера.
Перед закупкой согласуйте входные данные, версию приложения, число процессов и критерий правильности результата. Повторите запуски и отдельно запишите время ожидания в очереди и время выполнения. Сопоставление двух разных задач не доказывает ускорение одной.
Что именно восстанавливается после отказа
Возврат управляющего процесса и возврат полезного результата — разные события.
Резервный slurmctld принимает управление Slurm, но это не проверяет сохранность расчёта на отказавшем рабочем узле. Получение кода ошибки от MPI тоже не обещает продолжения программы. Эти два отказа испытывают отдельно.
Контрольная точка хранит состояние расчёта для последующего возобновления. В отдельном опыте проверьте, что нужная версия приложения действительно читает это состояние и получает корректный результат. Запись файла без проверки запуска не закрывает восстановление.
Для приёмки зафиксируйте потерянную вычислительную работу, время до продолжения задания и проверку итогового результата. Вернувшийся узел допускайте к новым заданиям после согласованной проверки его состояния. Это план испытания, а не обещание автоматического восстановления любой программы.
Проверьте инженерное мышление
Вопросы проверяют не память на аббревиатуры, а умение не делать лишних выводов.
Следующий шаг
Сформулируйте задачу и уточните требования к своей системе.
Подготовить состав проектаОткроется черновик вопроса. Отправьте его, когда будете готовы.
Источники курса
Ссылки приведены один раз для всего курса, чтобы не мешать чтению каждого тезиса.
- Официальная документация
Failover Clustering in Windows Server and Azure Local
Microsoft · Microsoft Learn, обновлено 25 июня 2025 года
Описывает nodes, clustered roles, health monitoring, failover и quorum в failover cluster.
Открыть первоисточник - Официальная документация
Slurm Workload Manager — Overview
SchedMD · Веб-редакция; номер версии на странице не указан
Проверены назначение планировщика, выделение ресурсов, шаги задания и резервный slurmctld. Версионные параметры конфигурации не выводятся.
Открыть первоисточник - Официальная документация
Open MPI 5.0.8 — MPI_Comm_set_errhandler
Open MPI · Open MPI 5.0.8
Раздел Errors: возврат ошибки сам по себе не гарантирует продолжения MPI-программы. Возможности отдельных расширений не обобщаются.
Открыть первоисточник - Официальная документация
NERSC Documentation — Checkpoint/Restart Overview
NERSC · Веб-редакция; номер версии на странице не указан
Проверены сохранение состояния и возобновление из него; совместимость с MPI, сетью и оборудованием требует отдельной проверки.
Открыть первоисточник - Официальная документация
Open MPI 5.0.8 — Scheduling
Open MPI · Open MPI 5.0.8
Разделы о hostfile и --host: выбор узлов запуска не задаёт сетевые интерфейсы обмена MPI.
Открыть первоисточник - Официальная документация
NERSC Documentation — Parallelism
NERSC · Веб-редакция; номер версии на странице не указан
Проверены определения strong scaling и weak scaling; рекомендации для конкретных узлов Perlmutter не перенесены на другие системы.
Открыть первоисточник