O que é computação em cluster?
O que é computação em cluster?
A computação em cluster é o processo de usar vários nós de computação, chamados clusters, para aumentar a capacidade de processamento para resolver problemas complexos. Casos de uso complexos, como pesquisa de medicamentos, análise de proteínas e treinamento de modelos de IA, exigem o processamento paralelo de milhões de pontos de dados para tarefas complexas de classificação e previsão. A tecnologia de computação em cluster coordena vários nós de computação, cada um com suas próprias CPUs, GPUs e memória interna, para trabalharem juntos na mesma tarefa de processamento de dados. As aplicações na infraestrutura de computação em cluster são executadas como se estivessem em uma única máquina e não estão cientes das complexidades subjacentes do sistema.
Como a tecnologia de computação em cluster evoluiu?
Os clusters de computação foram inventados na década de 60 para fornecer capacidade de processamento, memória e armazenamento paralelos em vários computadores. Os primeiros clusters consistiam em computadores pessoais, estações de trabalho e servidores. Cada computador era conectado a uma rede local (LAN), permitindo que os usuários acessassem recursos como se estivessem usando um único computador.
Com o passar dos anos, as tecnologias que possibilitam a computação em cluster evoluíram, levando a casos de uso mais diversos, como a computação de alta performance (HPC). A computação de alta performance usa vários processadores conectados, possivelmente centenas de milhares, para fornecer uma enorme capacidade de computação paralela. As organizações usam a HPC para dar suporte a workloads em aplicações que consomem muitos recursos, como análise de dados, pesquisa científica, machine learning e processamento visual.
Computação em cluster na nuvem
Tradicionalmente, a configuração de clusters de computadores exige a instalação e configuração manual do computador, do sistema operacional, dos recursos de rede e dos mecanismos de distribuição de recursos. Além disso, uma configuração on-premises coloca uma pressão financeira nas organizações, pois a escalabilidade do cluster exige investimento em mais hardware de servidor.
Atualmente, muitos provedores de nuvem oferecem clusters gerenciados de computação de alta performance (HPC) em que as organizações podem implantar facilmente suas workloads. Em vez de configurar milhares de computadores conectados on-premises, você pode acessar o poder ilimitado de processamento na nuvem com o AWS HPC.
O AWS HPC permite que as equipes de software inovem e escalem workloads intensivas em computação com os serviços de computação em cluster disponíveis. Por exemplo, a Hypersonix usa computação de alta performance para executar simulações de dinâmica de fluidos em alta velocidade envolvendo milhões de células na Nuvem AWS.
Quais são os casos de uso da computação em cluster?
Confira abaixo as aplicações típicas das tecnologias de computação em cluster.
Big data analytics
A computação em cluster pode acelerar a análise de dados distribuindo tarefas analíticas para vários computadores em paralelo. Por exemplo, você pode executar cálculos complexos, como Monte Carlo, genômica ou análise de sentimentos, com clusters de computação em nuvem projetados para dar suporte a workloads de HPC.
Inteligência artificial e machine learning
As aplicações de inteligência artificial e machine learning (AI/ML) consomem muita capacidade de processamento ao treinar e processar dados. Com uma infraestrutura de computação em cluster criada especificamente, os cientistas de dados podem acelerar o tempo de obtenção de resultados. Por exemplo, você pode executar sua workload de IA/ML em clusters de IA na nuvem com tecnologia do AWS Trainium, um chip de computação projetado para acelerar a pesquisa de IA.
Renderização 3D
A computação em cluster possibilita a renderização em cluster, um processo em que vários computadores interconectados sincronizam imagens ou vídeos em várias telas. Você também pode usar a renderização em cluster para oferecer suporte à engenharia assistida por computador, à realidade virtual e a outras aplicações que exigem grande capacidade de processamento gráfico.
Simulações
As organizações usam clusters de computação para simular possíveis resultados dos dados para orientar as decisões de negócios. Vários computadores, quando interligados, permitem um fluxo de trabalho interativo em que especialistas humanos podem extrair, revisar e refinar os resultados dos modelos subjacentes. Por exemplo, você pode executar uma análise de risco financeiro alimentando as workloads subjacentes de machine learning com recursos de computadores conectados.
Como funciona a computação em cluster?
A computação em cluster conecta dois ou mais computadores em uma rede para funcionar de forma coesa como um único sistema. Normalmente, uma configuração de cluster consiste em nós de computação, um nó líder, um balanceador de carga e um mecanismo de pulsação. Quando o nó líder recebe uma solicitação, ele passa a tarefa para os nós de computação. De acordo com a forma como os engenheiros configuram o cluster, cada nó pode atuar na tarefa separada ou simultaneamente. Confira a explicação de cada componente abaixo.
Nós de computação
Os nós de computação são servidores (ou instâncias de nuvem) que trabalham em tarefas distribuídas. Geralmente, eles compartilham a mesma CPU, GPU, memória, armazenamento, sistema operacional e outras especificações de computação. Chamamos isso de configuração homogênea. Às vezes, uma configuração heterogênea pode ser usada, em que alguns nós do cluster têm especificações de computação diferentes.
Nó líder
Um nó líder é um computador designado para coordenar como outros nós de computação funcionam juntos. O nó líder recebe as solicitações que chegam e distribui as tarefas para diferentes nós sob sua responsabilidade. Se o nó líder falhar, outro nó tomará seu lugar por meio de um processo de escolha, geralmente por consenso dos nós restantes.
Balanceador de carga
O balanceador de carga é um dispositivo de rede que distribui o tráfego de entrada para os nós de computação apropriados. Ele acompanha as atividades de rede, o uso de recursos e a troca de dados entre os nós do cluster. Na computação em cluster, o balanceador de carga evita que os nós de computação sejam sobrecarregados por um aumento repentino nas solicitações. Às vezes, o nó líder atua como um balanceador de carga por meio de uma ferramenta de software dedicada ao balanceamento de carga.
Mecanismo de pulsação
O mecanismo de pulsação monitora todos os nós de computação no cluster para garantir que estejam operacionais. Quando um nó não responde, o mecanismo de pulsação alerta o nó líder, redistribuindo a tarefa para outros nós funcionais.
Quais são os tipos de computação em cluster?
As organizações podem configurar clusters de computação para apoiar várias metas comerciais, operacionais e de performance.
Clusters de balanceamento de carga
Os clusters de balanceamento de carga possibilitam a estabilidade operacional ao coordenar automaticamente o gerenciamento de recursos. Quando o cluster recebe uma solicitação, ele distribui a tarefa uniformemente entre todos os nós disponíveis. Isso evita que qualquer nó individual fique sobrecarregado. Por exemplo, as empresas hospedam sites de comércio eletrônico em clusters de balanceamento de carga para atender aos picos de tráfego sazonais. Como todos os nós atuam de forma colaborativa na solicitação, os usuários desfrutam de uma performance consistente, apesar do alto volume de tráfego.
Clusters de alta disponibilidade
Os clusters de alta disponibilidade (HA) garantem a disponibilidade do serviço mantendo nós redundantes. Quando um único nó falha, o balanceador de carga redistribui o tráfego para os nós de backup, garantindo a continuidade do serviço em todos os momentos. Um balanceador de carga redundante geralmente é incluído na configuração para evitar um único ponto de falha. Dessa forma, todo o cluster poderá se recuperar imediatamente se seus componentes falharem.
Você pode configurar clusters de alta disponibilidade de duas maneiras.
Configurações ativo-ativo
Todos os nós estão operacionais, independentemente de receberem uma tarefa ou não. No entanto, se falharem, o balanceador de carga redistribuirá a tarefa para nós íntegros.
Configurações ativo-passivo.
Alguns nós permanecem ociosos durante as operações normais. Eles só são ativados quando um nó falha.
Clusters de alta performance
Clusters de alta performance combinam vários computadores ou supercomputadores para resolver tarefas computacionais complexas em alta velocidade de processamento. Em vez de processar sequencialmente, os clusters de alta performance processam dados em paralelo, o que beneficia aplicações que consomem muitos recursos, como mineração de dados. Além disso, os nós de computação podem trocar dados enquanto trabalham em prol de uma meta comum.
Qual é o papel da computação em cluster na IA?
As workloads de IA exigem grandes recursos de computação, armazenamento e conexões de rede de baixa latência. Anteriormente, as organizações implantavam workloads de IA em data centers on-premises. No entanto, à medida que as aplicações de IA se tornam mais complexas, elas exigem mais poder de computação e espaço de armazenamento. Quando reutilizada para workloads de IA, a computação em cluster cria uma enorme rede de supercomputadores em que as workloads de IA podem ser executadas. Em vez de CPUs, os supercomputadores são alimentados por GPUs e TPUs para atender às altas demandas computacionais. Essas arquiteturas de cluster, também chamadas de superclusters de IA, permitem que as organizações criem, implantem e escalem o aprendizado profundo, sistemas autônomos, big data analytics e outras aplicações de IA.
Como a AWS pode apoiar você em seus requisitos de computação em cluster?
O Serviço de Computação Paralela da AWS (AWS PCS) é um serviço gerenciado que usa o Slurm para executar e escalar workloads de computação de alta performance (HPC) na AWS. Você pode usar o AWS PCS para:
- Simplificar suas operações de cluster usando recursos integrados de gerenciamento e observabilidade.
- Criar clusters de computação que integram a computação, o armazenamento, a rede e a visualização da AWS.
- Executar simulações ou criar modelos científicos e de engenharia.
O Elastic Fabric Adapter (EFA) é uma interface de rede para computação de nós executados em instâncias do Amazon EC2. Sua interface personalizada aprimora a performance das comunicações entre instâncias, o que é essencial para escalar aplicações de computação em cluster.
O AWS ParallelCluster é uma ferramenta de gerenciamento de clusters de código aberto que facilita a implantação e o gerenciamento de clusters do Amazon EC2. Você pode usar uma interface gráfica de usuário (GUI) simples ou um arquivo de texto para modelar e provisionar os recursos necessários para suas aplicações de HPC de forma automatizada e segura.
Comece a usar a computação em cluster na AWS criando uma conta gratuita hoje mesmo.