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

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

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

Что такое CycleCloud?

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

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

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

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

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

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

Интеграции

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

  1. Система подготовки и настройки узла для преобразования подготовленной виртуальной машины в узел HPC.
  2. Автомасштабирование для планировщиков 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. Они полезны для мониторинга нагрузки на систему и могут быть подключены к службам отчетов и оповещений.

  • Logging

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

  • Переносимость

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

  • Инфраструктура как код

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

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

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