Compartilhar via


CycleCloud: Principais conceitos

No seu mais básico, um sistema de HPC (Computação de Alto Desempenho) é um pool de recursos computacionais apoiados por sistemas de arquivos com desempenho e interconectados por redes de baixa latência. Agendadores de HPC, aplicativos de software que agendam trabalhos, geralmente gerenciam esses recursos computacionais.

A criação de sistemas HPC individuais no Azure a partir de unidades básicas de infraestrutura, como máquinas virtuais, discos e interfaces de rede, pode ser complicada, especialmente se esses recursos forem efêmeros , existentes apenas para o tempo necessário para resolver a tarefa HPC. Além disso, talvez você queira criar vários ambientes HPC separados adaptados a várias unidades de negócios, equipes de pesquisa ou indivíduos. O gerenciamento desses vários sistemas de HPC pode ser operacionalmente complexo.

O que é o CycleCloud?

O Azure CycleCloud é uma ferramenta que ajuda a construir sistemas HPC no Azure. Ele orquestra esses sistemas para que eles sejam dimensionados elasticamente de acordo com as tarefas de HPC, sem o incômodo de gerenciar blocos de construção básicos do Azure. Uma equipe de profissionais de HPC experientes projetou o CycleCloud para administradores e usuários de HPC, especialmente os usuários que desejam criar sistemas HPC no Azure que se assemelham à infraestrutura de HPC interna.

Diagrama de orquestração

Operacionalmente, o CycleCloud é um servidor de aplicativos que você instala em uma VM do Linux no Azure ou em um servidor local que tem acesso a APIs e recursos do Azure. O CycleCloud adquire e provisiona VMs do Azure para construir clusters do CycleCloud que podem integrar agendadores e aplicativos de usuário. O CycleCloud também fornece integrações de dimensionamento automático para vários agendadores HPC e um agente do CycleCloud executado em VMs do Azure.

Servidor de aplicativos

Este servidor de aplicativos fornece:

  • Uma API REST para criar e gerenciar sistemas HPC no Azure.
  • Uma interface gráfica do usuário que você usa para gerenciar e monitorar sistemas HPC.
  • Uma CLI que facilita a integração do CycleCloud aos fluxos de trabalho existentes.
  • Um armazenamento de dados NoSQL interno que armazena em cache o estado do cluster e do nó.
  • Um sistema de alocação e orquestração que adquire e gerencia VMs do Azure.
  • Um sistema de monitoramento de instâncias para VMs existentes que alerta sobre mudanças de estado.

Integrações

O CycleCloud também fornece integrações a agendadores comuns e às VMs do Azure. Essas integrações fornecem:

  • Um sistema de preparação e configuração de nós para converter uma VM provisionada em um nó HPC.
  • Dimensionamento automático para agendadores HPC que convertem os requisitos de tarefas do agendador HPC em recursos do Azure.

O que o CycleCloud pode fazer

O CycleCloud é direcionado a operadores HPC (administradores e usuários) que estão implantando sistemas HPC no Azure. Eles querem replicar a infraestrutura que eles estão executando internamente, desde o agendador HPC até os pontos de montagem do sistema de arquivos para a instalação de aplicativos e o acesso a dados. Esses usuários procuram particularmente suporte para aplicativos, mecanismos de fluxo de trabalho e pipelines computacionais sem precisar retoolizar seus processos internos.

O CycleCloud fornece uma sintaxe de templates rica e declarativa que permite descrever seu sistema HPC. Você pode definir a topologia de cluster, que inclui o número e os tipos de nós de cluster, pontos de montagem e aplicativos que você implanta em cada nó. O CycleCloud foi projetado para trabalhar com agendadores HPC como PBSPro, Slurm, IBM LSF, Grid Engine e HT Condor. Você pode criar filas diferentes em cada agendador e mapeá-las para calcular nós de diferentes tamanhos de VM no Azure. Além disso, os plug-ins de escala automática estão integrados aos nós de cabeçalho do agendador. Eles monitoram as filas de trabalho em cada sistema e ajustam o cluster de computação interagindo com a API REST de auto-escalonamento em execução no servidor de aplicativos.

Além de provisionar e criar nós HPC, o CycleCloud também fornece uma estrutura para preparar e configurar uma máquina virtual. Ele fornece um sistema para converter uma VM nua em um componente funcional de um sistema HPC. Por meio dessa estruturação, você pode fazer a configuração final em uma VM.

Além disso, o CycleCloud fornece os seguintes recursos:

  • Acesso de usuário

    O CycleCloud tem suporte interno para criar contas de usuário local em cada nó de um sistema HPC. Com esse sistema, você pode controlar o acesso do usuário por meio de um único plano de gerenciamento sem implantar um serviço de diretório.

  • Monitoramento

    As métricas no nível do nó são coletadas e exibidas na interface do usuário do CycleCloud. Essas métricas são úteis para monitorar a carga no sistema. Você pode conectá-los aos serviços de relatórios e alertas.

  • Registro

    O CycleCloud fornece um sistema para registrar atividades e eventos no nível do nó de computação e do servidor de aplicativos.

  • Portabilidade

    O sistema não determina que você use uma imagem de VM específica ou um sistema operacional. O CycleCloud dá suporte aos principais sistemas operacionais Windows e Linux em nós HPC. Além disso, você pode criar sua própria imagem de VM e usá-la em seu sistema HPC.

  • Infraestrutura como código

    Como tudo o que foi criado no CycleCloud é definido em modelos e scripts de configuração, você pode tornar os sistemas HPC implantados por meio do CycleCloud repetíveis e portáteis. Essa abordagem fornece consistência para operadores que implantam sistemas HPC em ambientes diferentes: Área Restrita, Desenvolvimento, Teste e Produção. Os operadores também podem implantar sistemas HPC idênticos para diferentes grupos de negócios ou equipes para separar preocupações contábeis.

  • Cargas de trabalho fracamente acopladas ou fortemente acopladas

    Os clusters HPC criados pelo CycleCloud são projetados para dar suporte não apenas a trabalhos fracamente acoplados ou perfeitamente paralelos, nos quais a escala (o tamanho do cluster) é a principal preocupação. Os clusters CycleCloud também são projetados com o backbone InfiniBand do Azure em mente, oferecendo suporte a cargas de trabalho acopladas ou baseadas em MPI, em que a proximidade do nó e a latência de rede são críticas. Esses conceitos de expansão e de integração estreita estão enraizados nas integrações do agendador que o CycleCloud dá suporte.