Partilhar via


Conceitos de agendamento e dimensionamento automático do CycleCloud

O CycleCloud não é um agendador, mas sim uma plataforma que permite implantar seu próprio agendador no Azure. O agendador gerencia e distribui trabalhos em um cluster de nós. O CycleCloud fornece uma API REST e uma biblioteca Python para desenvolver adaptadores de dimensionamento automático para agendadores. Com esses adaptadores, os clusters gerenciados aumentam ou diminuem o tamanho de acordo com o comprimento das filas de trabalho e as políticas de governança.

Diagrama de orquestração

Agendadores

Um agendador é um software que aceita uma lista de trabalhos (ou tarefas) e distribui essas tarefas em pools de recursos disponíveis. Considera as necessidades de recursos dos postos de trabalho, as dependências interprofissionais e as prioridades. Essas listas de trabalhos são comumente chamadas de filas.

O CycleCloud vem com suporte integrado para muitos agendadores comumente usados (PBS Professional OSS, Slurm, IBM LSF, Grid Engine e HT Condor). Ele fornece modelos para implantar esses agendadores no Azure. Esses modelos são topologias padrão que representam as práticas recomendadas para criar clusters HPC no Azure. Eles usam recursos especializados exclusivos, como rede InfiniBand de baixa latência.

Além disso, os projetos são criados para cada agendador. Use os projetos para instalar e inicializar os daemons do agendador nos nós principais e nós de computação.

Adaptadores do agendador

Os adaptadores criados para cada tipo de agendador desempenham duas funções principais. Uma função agrega requisitos de recursos de filas de agendadores. A outra função traduz os requisitos de recursos em solicitações de alocação para conjuntos de tamanhos de VM do Azure. Elabore essas solicitações de alocação para determinadas restrições. Essas restrições podem incluir cotas de VM, limites para o tamanho do cluster e limites impostos pela topologia de rede InfiniBand para tamanhos de VM apropriados. Em certos aspetos, esses adaptadores se assemelham a um corretor que negocia demanda e oferta de várias partes.

Ecrã

O monitor é um processo executado no servidor de aplicativos CycleCloud e sonda periodicamente os serviços do Azure quanto à disponibilidade de recursos na assinatura do Azure. Este monitor fornece essas informações aos adaptadores do agendador para intermediação de demanda.

Alocador de nó

O alocador de nó é executado no servidor de aplicações CycleCloud. Ele recebe a solicitação de alocação dos adaptadores do agendador por meio de uma API REST, provisiona os recursos do Azure necessários para atender à solicitação e apresenta os recursos provisionados de volta aos adaptadores do agendador como conjuntos de nós.

Observação

Embora os conceitos subjacentes sejam comuns entre os agendadores, os detalhes de implementação diferem entre os agendadores. Para obter mais informações sobre cada implementação, consulte as páginas individuais do agendador: