Partilhar via


CycleCloud: Conceitos centrais

No seu nível mais básico, um sistema de High Performance Computing (HPC) é um conjunto de recursos computacionais, suportados por sistemas de ficheiros eficientes e interligados por redes de baixa latência. Os programadores HPC, aplicações de software que agendam trabalhos, normalmente gerem estes recursos computacionais.

A criação de sistemas HPC individuais no Azure a partir de unidades de infraestrutura básica, como máquinas virtuais, discos e interfaces de rede, pode ser complicada, especialmente se esses recursos forem efêmeros — existindo apenas pelo tempo necessário para resolver a tarefa de HPC. Além disso, convém criar vários ambientes HPC separados adaptados a várias unidades de negócios, equipes de pesquisa ou indivíduos. A gestão destes múltiplos sistemas de HPC pode ser operacionalmente complexa.

O que é CycleCloud?

Azure CycleCloud é uma ferramenta que ajuda a construir sistemas HPC no Azure. Ele orquestra esses sistemas para que eles sejam dimensionados de forma elástica de acordo com as tarefas de HPC, sem o incômodo de gerenciar blocos de construção básicos do Azure. Uma equipa de profissionais de HPC experientes concebeu o CycleCloud para administradores e utilizadores de HPC, particularmente utilizadores que pretendam criar sistemas HPC no Azure que se assemelhem à sua infraestrutura HPC interna.

Diagrama de orquestração

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

Servidor aplicacional

Este servidor de aplicações fornece:

  • Uma API REST para criar e gerir sistemas HPC no Azure.
  • Uma interface gráfica do utilizador que utiliza para gerir e monitorizar sistemas HPC.
  • Uma CLI que facilita a integração do CycleCloud em fluxos de trabalho existentes.
  • Uma base de dados NoSQL interna que armazena na cache o estado do cluster e dos nós.
  • Um sistema de alocação e orquestração que adquire e gerencia VMs do Azure.
  • Um sistema de monitorização de nós para VMs existentes que alerta sobre mudanças de estado.

Integrações

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

  • Um sistema de preparação e configuração de nós para converter uma máquina virtual provisionada em um nó de HPC.
  • Autoescalação para escalonadores HPC que traduzem os requisitos das tarefas do escalonador HPC em recursos do Azure.

O que o CycleCloud pode fazer

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

O CycleCloud fornece uma sintaxe de modelagem 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 computar nós de diferentes tamanhos de VM no Azure. Além disso, os plugins de escala automática estão integrados com os nós principais do agendador. Eles monitorizam as filas de pedidos de trabalho em cada sistema e dimensionam o cluster de computação interagindo com a API REST para dimensionamento automático em execução no servidor de aplicações.

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. Através desta estrutura, pode-se fazer a configuração de última etapa numa VM.

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

  • Acesso do usuário

    O CycleCloud tem suporte integrado para a criação de contas de usuário locais 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.

  • Monitorização

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

  • Registo

    O CycleCloud fornece um sistema para o registo de atividades e eventos ao nível dos nós e do servidor de aplicações.

  • Portabilidade

    O sistema não exige que você use uma imagem de VM ou sistema operacional específico. O CycleCloud suporta os principais sistemas operativos 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 é 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 diferentes ambientes: Sandbox, Desenvolvimento, Teste e Produção. Os operadores também podem implementar sistemas HPC idênticos para diferentes grupos de negócios ou equipas, a fim de separar as preocupações contábeis.

  • Cargas de trabalho acopladas de forma frouxa ou de forma rígida

    Os clusters HPC criados pelo CycleCloud são projetados para suportar não apenas trabalhos paralelos de acoplamento flexível ou embaraçosamente em que 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, suportando cargas de trabalho fortemente acopladas ou baseadas em MPI onde a proximidade do nó e a latência da rede são críticas. Esses conceitos de expansão e fortemente acoplados estão enraizados nas integrações do agendador suportadas pelo CycleCloud.