Descrever como executar o SLURM com o Azure CycleCloud
Depois de concluir esta unidade, você poderá usar o SLURM no Azure CycleCloud.
Habilitar o SLURM no CycleCloud
Você pode implantar um cluster de HPC (Computação de alto desempenho) usando o Azure CycleCloud executando as seguintes etapas:
Conecte-se a uma Instância do Azure CycleCloud implantada e autentique-se.
Na página Criar um Novo Cluster, examine as opções disponíveis e, na seção Agendadores , selecione Slurm.
Na guia Sobre da página Novo Cluster do Slurm, forneça um nome ao cluster do Slurm na caixa de texto Nome do Cluster.
Na guia Configurações Necessárias da página Novo Cluster de Slurm, defina as seguintes configurações na caixa de texto Nome do Cluster :
- Região: define qual datacenter hospedará nós de cluster.
- Tipo de VM do agendador: permite especificar a SKU da VM da máquina virtual que hospedará o agendador de trabalho.
- Tipo de VM HPC: permite especificar o SKU da VM da máquina virtual que hospedará cargas de trabalho de partição HPC.
- Tipo de VM HTC: permite especificar a SKU da VM da máquina virtual que hospedará cargas de trabalho de partição HTC.
- Dimensionamento automático: permite habilitar ou desabilitar a inicialização e a interrupção de instâncias de VM que hospedam nós de partição quando esses nós são necessários ou não são mais necessários.
- Núcleos máximos de HPC: o número máximo de núcleos de CPU que podem ser alocados para partições de HPC durante o dimensionamento automático.
- Núcleos HTC máximos: o número máximo de núcleos de CPU que podem ser alocados para partições HTC durante o dimensionamento automático.
- Máximo de VMs por conjunto de dimensionamento: o número máximo de VMs que podem ser usadas para hospedar cargas de trabalho de partição.
- Usar as Instâncias Spot: Determina se você quer permitir o uso das instâncias spot do Azure. Embora sejam substancialmente mais baratas de executar, as instâncias spot podem ser removidas sem aviso prévio, o que pode afetar a execução do trabalho.
- ID da sub-rede: A sub-rede da rede virtual do Azure que hospedará VMs do nó de cluster.
Na página Armazenamento em Rede, configure se você usará as opções de Interno Incorporado ou Externo NFS para montar o armazenamento em rede. Quando você seleciona Integrado, o nó do agendador será configurado como um servidor NFS que funciona como ponto de montagem para outros nós. Se você especificar o NFS externo, poderá fornecer os detalhes de um dispositivo de armazenamento anexado à rede, como o Azure NetApp Files, o HPC Cache ou uma VM especialmente configurada executando um servidor NFS.
Na página Configurações Avançadas , você pode especificar as seguintes configurações:
- Versão do Slurm: escolha a versão do Slurm a ser usada com o cluster.
- Contabilidade do Trabalho: especifique se deseja habilitar a contabilidade do trabalho e as configurações que você escolherá para armazenar dados de contabilidade.
- Política de Desligamento: você pode escolher entre encerrar a instância ou desalocar a instância.
- Credenciais: as credenciais para se conectar à assinatura associada do Azure.
- Sistema Operacional do Agendador: Escolha qual sistema operacional Linux é usado para hospedar o agendador.
- Sistema operacional HPC: especifique qual sistema operacional Linux é usado para hospedar o agendador.
- Inicialização do cluster do agendador: aqui, você especifica instruções personalizadas para aplicar à VM do agendador.
- Inicialização do Cluster do HTC: Especifique instruções personalizadas a serem aplicadas aos nós de HTC.
- Rede Avançada: essa opção permite habilitar o Proxy de Retorno, se o nó principal pode ser acessado de endereços da Internet e se os nós de execução podem ser acessados da Internet.
A página Cloud-init permite que você passe as configurações personalizadas para nós de máquina virtual depois que elas forem implantadas.
Configurações de memória
O CycleCloud define automaticamente a quantidade de memória disponível para o SLURM usar para fins de agendamento. Como a quantidade de memória disponível pode mudar um pouco devido a diferentes opções de kernel do Linux, e o sistema operacional e a VM podem usar uma pequena quantidade de memória que, caso contrário, estaria disponível para trabalhos, o CycleCloud reduz automaticamente a quantidade de memória na configuração do SLURM. Por padrão, o CycleCloud retém 5% da memória disponível reportada em uma VM, mas você pode substituir esse valor no modelo do cluster definindo slurm.dampen_memory como o percentual de memória a ser retido. Por exemplo, para reter 20% da memória de uma VM, use o seguinte:
slurm.dampen_memory=20
Configurar partições do SLURM
O modelo padrão fornecido com o Azure CycleCloud tem duas partições (HPC e HTC) e você pode definir matrizes de nós personalizadas que são mapeadas diretamente para as partições do Slurm. Por exemplo, para criar uma partição GPU, adicione a seguinte seção ao modelo de cluster:
[[nodearray gpu]]
MachineType = $GPUMachineType
ImageName = $GPUImageName
MaxCoreCount = $MaxGPUExecuteCoreCount
Interruptible = $GPUUseLowPrio
AdditionalClusterInitSpecs = $ExecuteClusterInitSpecs
[[[configuration]]]
slurm.autoscale = true
# Set to true if nodes are used for tightly-coupled multi-node jobs
slurm.hpc = false
[[[cluster-init cyclecloud/slurm:execute:2.0.1]]]
[[[network-interface eth0]]]
AssociatePublicIpAddress = $ExecuteNodesPublic
Editar clusters do SLURM existentes
Se modificar e aplicar alterações a um cluster do Slurm existente, você vai precisar recompilar o arquivo slurm.conf e atualizar os nós existentes no cluster. Você pode fazer isso usando um script que está presente nos clusters do Slurm implantados no Azure CycleCloud usando um script especial chamado cyclecloud_slurm.sh. O script está localizado no diretório /opt/cycle/slurm do nó do agendador do Slurm. Após ter feito quaisquer alterações no cluster, execute o script a seguir como root, com o parâmetro apply_changes. Por exemplo, use /opt/cycle/slurm/cyclecloud_slurm.sh apply_changes se você fizer alterações que afetem os nós que participam de uma partição de Interface de Passagem de Mensagem (MPI).
Desabilitar o dimensionamento automático de nós ou partições
Você pode desabilitar o dimensionamento automático de um cluster do Slurm em execução editando o arquivo slurm.conf diretamente. Você pode excluir nós individuais ou partições inteiras do dimensionamento automático.
Para excluir um nó ou vários nós do dimensionamento automático, adicione SuspendExcNodes=<listofnodes> ao arquivo de configuração do Slurm. Por exemplo, para excluir os nós 1 e 2 da partição HPC, adicione o seguinte a /sched/slurm.conf e, a seguir, reinicie o serviço slurmctld:
SuspendExcNodes=hpc-pg0-[1-2]
Para excluir partições, você também precisa modificar o arquivo /sched/slurm.conf. Por exemplo, para excluir a partição HPC do dimensionamento automático, adicione a linha a seguir ao slurm.conf e reinicie o serviço slurmctld:
SuspendExcParts=hpc


