Estilo de arquitetura de computação grande
O termo computação grande descreve cargas de trabalho em grande escala que exigem um grande número de núcleos, muitas vezes numerando em centenas ou milhares. Os cenários incluem renderização de imagens, dinâmica fluida, modelagem de risco financeiro, exploração de petróleo, design de medicamentos e análise de estresse de engenharia, entre outros.
Aqui estão algumas características típicas de aplicativos de computação grande:
- O trabalho pode ser dividido em tarefas discretas, que podem ser executadas em vários núcleos simultaneamente.
- Cada tarefa é finita. Ele usa alguma entrada, faz algum processamento e produz a saída. O aplicativo inteiro é executado por um período finito de tempo (minutos a dias). Um padrão comum é provisionar um grande número de núcleos em uma intermitência e, em seguida, girar para zero depois que o aplicativo for concluído.
- O aplicativo não precisa permanecer 24/7. No entanto, o sistema deve lidar com falhas de nó ou falhas de aplicativo.
- Para alguns aplicativos, as tarefas são independentes e podem ser executadas em paralelo. Em outros casos, as tarefas são firmemente acopladas, o que significa que elas devem interagir ou trocar resultados intermediários. Nesse caso, considere o uso de tecnologias de rede de alta velocidade, como o InfiniBand e o RDMA (acesso remoto à memória direta).
- Dependendo da carga de trabalho, você pode usar tamanhos de VM com uso intensivo de computação (H16r, H16mr e A9).
Quando usar essa arquitetura
- Operações computacionalmente intensivas, como simulação e análise de números.
- Simulações que são computacionalmente intensivas e devem ser divididas entre CPUs em vários computadores (10-1000s).
- Simulações que exigem muita memória para um computador e devem ser divididas em vários computadores.
- Cálculos de longa execução que levariam muito tempo para serem concluídos em um único computador.
- Cálculos menores que devem ser executados 100 ou 1000 vezes, como simulações de Monte Carlo.
Benefícios
- Alto desempenho com processamento "vergonhosamente paralelo".
- Pode aproveitar centenas ou milhares de núcleos de computador para resolver grandes problemas mais rapidamente.
- Acesso a hardware especializado de alto desempenho, com redes InfiniBand dedicadas de alta velocidade.
- Você pode provisionar VMs conforme necessário para trabalhar e, em seguida, derrubá-las.
Desafios
- Gerenciando a infraestrutura da VM.
- Gerenciando o volume de análise de números
- Provisionando milhares de núcleos em tempo hábil.
- Para tarefas bem acopladas, adicionar mais núcleos pode ter retornos decrescentes. Talvez seja necessário experimentar para encontrar o número ideal de núcleos.
Computação grande usando o Lote do Azure
O Lote do Azure é um serviço gerenciado para executar aplicativos HPC (computação de alto desempenho) em larga escala.
Usando o Lote do Azure, você configura um pool de VM e carrega os aplicativos e os arquivos de dados. Em seguida, o serviço lote provisiona as VMs, atribui tarefas às VMs, executa as tarefas e monitora o progresso. O Lote pode dimensionar automaticamente as VMs em resposta à carga de trabalho. O Lote também fornece agendamento de trabalho.
Computação grande em execução em Máquinas Virtuais
Você pode usar o Microsoft HPC Pack para administrar um cluster de VMs e agendar e monitorar trabalhos de HPC. Com essa abordagem, você deve provisionar e gerenciar as VMs e a infraestrutura de rede. Considere essa abordagem se você tiver cargas de trabalho HPC existentes e quiser mover algumas ou todas elas para o Azure. Você pode mover todo o cluster HPC para o Azure ou manter o cluster HPC local, mas usar o Azure para capacidade de intermitência. Para obter mais informações, consulte soluções de Lote e HPC para cargas de trabalho de computação em larga escala.
HPC Pack implantado no Azure
Nesse cenário, o cluster HPC é criado inteiramente no Azure.
O nó principal fornece serviços de gerenciamento e agendamento de trabalho para o cluster. Para tarefas firmemente acopladas, use uma rede RDMA que fornece alta largura de banda, comunicação de baixa latência entre VMs. Para obter mais informações, consulte Implantar um cluster HPC Pack 2016 no Azure.
Intermitência de um cluster HPC no Azure
Nesse cenário, uma organização está executando o HPC Pack local e usa VMs do Azure para capacidade de intermitência. O nó principal do cluster é local. O ExpressRoute ou o Gateway de VPN conecta a rede local à VNet do Azure.