Поделиться через


CycleCloud: основные понятия

По сути, система высокопроизводительных вычислений (HPC) — это пул вычислительных ресурсов, поддерживаемых эффективными файловыми системами и объединённых с помощью сетей с низкой задержкой. Планировщики HPC, программные приложения, которые планируют задания, обычно управляют этими вычислительными ресурсами.

Создание отдельных систем HPC в Azure из базовых единиц инфраструктуры, таких как виртуальные машины, диски и сетевые интерфейсы, может быть громоздким, особенно если эти ресурсы являются временными — существующие только в течение времени, необходимого для решения задачи HPC. Кроме того, может потребоваться создать несколько отдельных сред HPC, предназначенных для различных бизнес-подразделений, исследовательских групп или отдельных лиц. Управление этими несколькими системами HPC может быть операционным.

Что такое CycleCloud?

Azure CycleCloud — это средство, которое помогает создавать системы HPC в Azure. Он управляет этими системами таким образом, чтобы они были эластично в соответствии с задачами HPC без необходимости управлять основными стандартными блоками Azure. Команда опытных специалистов HPC разработала CycleCloud для администраторов и пользователей HPC, особенно пользователей, которые хотят создавать системы HPC в Azure, которые похожи на внутреннюю инфраструктуру HPC.

Схема оркестрации

В оперативном режиме CycleCloud — это сервер приложений, который устанавливается на виртуальной машине Linux в Azure или на локальном сервере с доступом к API и ресурсам Azure. CycleCloud получает и подготавливает виртуальные машины Azure для создания кластеров CycleCloud, которые могут интегрировать планировщики и пользовательские приложения. CycleCloud также обеспечивает интеграцию автомасштабирования для ряда планировщиков HPC и агента CycleCloud, работающего на виртуальных машинах Azure.

Сервер приложений

Этот сервер приложений предоставляет следующее:

  • REST API для создания систем HPC и управления ими в Azure.
  • Графический пользовательский интерфейс, используемый для управления системами HPC и мониторинга.
  • Интерфейс командной строки, упрощающий интеграцию CycleCloud с существующими рабочими процессами.
  • Внутреннее хранилище данных NoSQL, которое кэширует состояние кластера и узла.
  • Система выделения и оркестрации, которая получает виртуальные машины Azure и управляет ими.
  • Система мониторинга узлов для существующих виртуальных машин, которые оповещают об изменениях состояния.

Интеграции

CycleCloud также обеспечивает интеграцию с общими планировщиками и виртуальными машинами Azure. Эти интеграции предоставляют следующие возможности:

  • Система подготовки и настройки узла для преобразования подготовленной виртуальной машины в узел HPC.
  • Автомасштабирование для планировщиков HPC, преобразующих требования к задачам планировщика HPC в ресурсы Azure.

Что может сделать CycleCloud

CycleCloud предназначен для операторов HPC (администраторов и пользователей), которые развертывают системы HPC в Azure. Они хотят реплицировать инфраструктуру, которую они выполняют внутренне, от планировщика HPC к точкам подключения файловой системы для установки приложений и доступа к данным. Эти пользователи особенно ищут поддержку приложений, обработчиков рабочих процессов и вычислительных конвейеров без необходимости перенаправлений внутренних процессов.

CycleCloud предоставляет широкий и декларативный синтаксис шаблонов, позволяющий описать систему HPC. Вы можете определить топологию кластера, которая включает число и типы узлов кластера, точек подключения и приложений, которые развертываются на каждом узле. CycleCloud предназначен для работы с планировщиками HPC, такими как PBSPro, Slurm, IBM LSF, Grid Engine и HT Condor. Вы можете создать разные очереди в каждом планировщике и сопоставить их с вычислительными узлами разных размеров виртуальных машин в Azure. Кроме того, подключаемые модули автомасштабирования интегрируются с головными узлами планировщика. Они прослушивают очереди заданий в каждой системе и размер вычислительного кластера, взаимодействуя с REST API автомасштабирования, запущенным на сервере приложений.

Помимо подготовки и создания узлов HPC, CycleCloud также предоставляет платформу для подготовки и настройки виртуальной машины. Она предоставляет систему для преобразования голой виртуальной машины в функциональный компонент системы HPC. С помощью этого фреймворка можно выполнить окончательную настройку виртуальной машины.

Кроме того, CycleCloud предоставляет следующие функции:

  • Доступ пользователей

    CycleCloud имеет встроенную поддержку создания локальных учетных записей пользователей на каждом узле системы HPC. С помощью этой системы можно управлять доступом пользователей с помощью одного уровня управления без развертывания службы каталогов.

  • Мониторинг

    Метрики уровня узла собираются и отображаются в пользовательском интерфейсе CycleCloud. Эти метрики полезны для мониторинга нагрузки в системе. Их можно подключить к службам отчетов и оповещений.

  • Логирование

    CycleCloud предоставляет систему для ведения журнала действий и событий на уровне узла и сервера приложений.

  • Портативность

    Система не требует использования определенного образа виртуальной машины или операционной системы. CycleCloud поддерживает основные операционные системы Windows и Linux на узлах HPC. Кроме того, вы можете создать собственный образ виртуальной машины и использовать его в системе HPC.

  • инфраструктура в виде кода

    Так как все, созданное в CycleCloud, определено в шаблонах и сценариях конфигурации, вы можете сделать системы HPC развернутыми с помощью CycleCloud повторяемыми и переносимыми. Этот подход обеспечивает согласованность для операторов, развертывающих системы HPC в разных средах: песочница, разработка, тестирование и производство. Операторы также могут развертывать идентичные системы HPC для разных бизнес-групп или команд, чтобы разделить вопросы учета.

  • Слабо связанные или тесно связанные рабочие нагрузки

    Кластеры HPC, созданные CycleCloud, предназначены для поддержки не только слабо связанных или неловко параллельных заданий, где масштаб (размер кластера) является основной проблемой. Кластеры CycleCloud также разработаны с учетом магистрали InfiniBand Azure, поддерживая тесно связанные или основанные на MPI рабочие нагрузки, в которых близкое расположение узлов и задержка сети являются критически важными. Эти понятия горизонтального масштабирования и тесной связи заложены в интеграции планировщиков, которые поддерживает CycleCloud.