Clusters de computação normalmente consistem em servidores, estações de trabalho e computadores pessoais (PCs) que se comunicam por uma rede de área local (LAN) ou uma rede de área ampla (WAN).
A computação em clusters é um tipo de computação distribuída, um tipo de computação que vincula computadores em uma rede para executar uma tarefa computacional, aumentar a potência computacional e funcionar como um único computador. Cada computador, ou "nó", em uma rede de computadores tem um sistema operacional (SO) e um núcleo de unidade central de processamento (CPU) que lida com as tarefas necessárias para que o software seja executado corretamente.
Devido ao seu alto desempenho e alta disponibilidade, a computação em cluster tem muitas aplicações, incluindo computação em nuvem, inteligência artificial (IA), pesquisa científica e análise de big data.
Boletim informativo do setor
Mantenha-se atualizado sobre as tendências mais importantes (e intrigantes) do setor em IA, automação, dados e muito mais com o boletim informativo Think. Consulte a Declaração de privacidade da IBM.
Sua assinatura será entregue em inglês. Você pode encontrar um link para cancelar a assinatura em todos os boletins informativos. Você pode gerenciar suas inscrições ou cancelar a inscrição aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.
Em seu nível mais fundamental, a computação em clusters utiliza uma LAN para conectar vários computadores independentes em uma rede. Na arquitetura do cluster, cada computador da rede é chamado de "nó" e é controlado pelo middleware, software que permite a comunicação entre cada máquina. Os usuários do cluster podem usar os recursos de cada computador como se fossem uma única máquina, em vez de máquinas individuais conectadas por meio de uma LAN.
Um cluster de computação pode conectar apenas dois nós ou milhares. Por exemplo, um cluster Beowulf normalmente usa PCs de nível comercial conectados via uma LAN e pode ser uma alternativa relativamente acessível a um supercomputador para determinadas tarefas.1
O Kubernetes, por outro lado (uma tecnologia relacionada a contêineres e adjacente a clusters que é essencial para a computação em nuvem), é compatível com clusters de até 5.000 nós separados, mas conectados. O Kubernetes é usado em muitos tipos de implementações de nuvem, incluindo arquiteturas de nuvem híbrida e multinuvem, bem como DevOps e modernização de aplicações.
As arquiteturas de computação em clusters consistem em um grupo de computadores individuais interconectados que trabalham juntos como uma única máquina. Cada recurso de computação é vinculado via uma conexão de alta velocidade — como uma LAN — e referido na arquitetura do sistema como um único nó. Cada nó tem um sistema operacional, memória e funções de entrada e saída (E/S).
Há dois tipos de arquiteturas de cluster: abertas ou fechadas. Em um cluster aberto, cada computador tem seu próprio endereço IP. Em um cluster fechado, cada nó fica oculto atrás de um nó de gateway. Como o nó de gateway controla o acesso aos outros nós, e os endereços IP podem ser encontrados na internet, os clusters fechados são menos um risco de segurança do que os clusters abertos.
Além da computação em clusters, há dois outros tipos de computação distribuída comumente usados que também apresentam redes conectadas de computadores: computação em grade e computação ponto a ponto.
Computação em grade: na ciência da computação, uma infraestrutura de computação em grade é configurada para combinar recursos de computação que estão em diferentes locais físicos. Os recursos de computação disponíveis das diferentes máquinas são combinados e usados juntos para resolver um problema. Assim como o cluster, a computação em grade utiliza os Recursos de vários computadores interconectados.
No entanto, diferentemente do cluster, apenas os recursos não utilizados nos computadores conectados por meio de arquitetura de grade são utilizados. A SETI (Search for Extraterrestrial Intelligence) foi um exemplo famoso de computação em grade, onde recursos de computação não utilizados de muitos computadores foram usados para analisar sinais de rádio do espaço profundo em busca de sinais de vida extraterrestre.2
Computação ponto a ponto: A computação ou rede ponto a ponto (P2P) requer que dois ou mais computadores sejam conectados como "pares" em uma rede, o que significa que eles têm o mesmo poder e as mesmas permissões. Ao contrário da computação em clusters, uma arquitetura P2P não requer uma abordagem de gerenciamento centralizada.
Em uma rede P2P, cada nó atua como uma máquina cliente (um computador que precisa acessar um serviço) e um servidor (um computador que fornece um serviço). Cada nó de par disponibiliza recursos para outras pessoas na rede, incluindo armazenamento, memória, largura de banda e outros.
A computação em clusters foi inventada na década de 1960 como um método de distribuição de tarefas de computação e armazenamento de dados em vários computadores. Na década de 1980, o desenvolvimento de várias tecnologias adjacentes, incluindo PCs, processadores versáteis e LANs, teve implicações significativas para a computação em cluster.
Talvez o maior deles tenha sido o uso de nós de computação com vários processadores em computação de alto desempenho (HPC) À medida que os casos de uso de HPC cresceram, também cresceram os casos de uso para computação em cluster. Atualmente, esses usos incluem os setores automotivo e aeronáutico, a análise de dados de Satellites e telescopes e o diagnóstico de doenças perigosas, entre outros.
Atualmente, a computação em cluster é usada em muitas das tecnologias mais avançadas que estão impulsionando nosso mundo, como inteligência artificial (IA), aprendizado de máquina (ML) e computação em nuvem. As maiores empresas do mundo usam a computação em cluster para migrar cargas de trabalho para a nuvem, aumentar a velocidade de processamento, melhorar a integridade dos dados e muito mais. Em nível empresarial, os clusters de computadores geralmente recebem uma tarefa específica - por exemplo, balanceamento de carga, alta disponibilidade ou processamento de dados em grande escala em um data center.
Os clusters de computação são projetados principalmente para ter melhor desempenho e serem mais confiáveis do que outros tipos de arquiteturas de computação, tornando-os indispensáveis para as empresas modernas. Por exemplo, os clusters modernos têm tolerância a falhas integrada, um termo que se refere à capacidade de continuarem funcionando mesmo quando um único nó em uma rede falha.
Além disso, grandes clusters de computadores dependem de sistemas de arquivos distribuídos (DFS) e de uma matriz redundante de discos independentes (RAID), permitindo que os mesmos dados sejam armazenados em diferentes locais em várias unidades de disco rígido. A computação em clusters beneficia a empresa moderna de várias maneiras; veja aqui alguns exemplos:
Devido à sua dependência do paralelismo, os clusters de computadores são considerados de alto desempenho e normalmente podem processar dados mais rapidamente e lidar com cargas de trabalho maiores do que um único computador.
A computação em clusters é considerada altamente confiável devido à sua incorporação das tecnologias DFS e RAID. Em um cluster de computadores, mesmo que um único nó falhe, a rede continua funcionando e o DFS e o RAID continuarão garantindo que os dados sejam armazenados em backup em vários locais.
Além de ser altamente confiável, a computação em clusters também é considerada altamente disponível devido à sua capacidade de se recuperar rapidamente da falha de um único nó. Se um cluster estiver funcionando corretamente, quando um nó falhar, seu trabalho será transferido sem dificuldades para outro no cluster sem interrupção no serviço.
O cluster é altamente escalável porque os nós do cluster podem ser adicionados a qualquer momento para aumentar o desempenho. A capacidade de ajustar dinamicamente os recursos dentro de um cluster significa que o cluster pode aumentar ou diminuir de escala, dependendo da demanda.
A computação em clusters é mais econômica do que outros tipos de computação. Muitas empresas modernas dependem da computação em clusters para melhorar o desempenho, a escalabilidade e a disponibilidade de sua infraestrutura de TI por um preço acessível.
Os clusters de computação variam muito em complexidade e finalidade. Clusters relativamente simples de nó duplo, por exemplo, conectam apenas alguns computadores, enquanto o supercomputador Aurora, por outro lado, conecta mais de 10.000.3
Os clusters têm muitos casos de uso de negócios devido ao alto desempenho, escalabilidade e flexibilidade, mas também são usados por universidades e escolas de medicina para pesquisas científicas. Com base em suas características, os clusters de computação são divididos em três tipos diferentes: alta disponibilidade, balanceamento de carga e alto desempenho.
Clusters de alta disponibilidade transferem automaticamente tarefas de um nó que falhou inesperadamente para outro nó na rede que ainda está funcionando. Essa capacidade de adaptação rápida e fácil quando um nó falha os torna ideais para cargas de trabalho em que evitar a interrupção do serviço é crítico.
Clusters de balanceamento de carga ou simplesmente balanceadores de carga garantem que o trabalho seja distribuído de forma justa entre os nós em um cluster. Sem balanceamento de carga, os nós seriam sobrecarregados com as tarefas que lhes seriam atribuídas e falharia com mais frequência. Existem diferentes tipos de balanceamento de carga para diferentes propósitos. Um dos mais famosos, o Linux Virtual Server, é gratuito e código aberto e é usado para desenvolver Virtual Servers de desempenho, alta disponibilidade com base na Tecnologia cluster.
Os HPC clusters são uma rede de processadores poderosos que podem processar conjuntos de dados multidimensionais maciços, também conhecidos como big data, a uma velocidade extremamente alta. Eles exigem redes de alta potência e latência ultrabaixa para migrar arquivos entre os nós.
Ao contrário dos clusters de balanceamento de carga e de alta disponibilidade, os HPC clusters têm mais poder de processamento e são especialmente projetados para análise de dados, como diagnóstico de doenças, análise de grandes quantidades de dados financeiros e sequenciamento de genomas. Além disso, os HPC clusters usam a Interface de Passagem de Mensagens (MPI), um protocolo para arquiteturas de computação paralela que permite a comunicação entre os nós.
Os clusters de IA são clusters de computação criados especialmente para cargas de trabalho de IA e ML, como reconhecimento facial e de fala, processamento de linguagem natural (NLP) e direção autônoma. Os clusters de IA são especialmente projetados para os algoritmos nos quais os modelos de IA treinam.
Os clusters de computação têm uma ampla gama de usos. De aplicações empresariais, como computação em nuvem e análise de dados, a software que ajuda a criar efeitos especiais 3D atraentes para filmes, aqui estão alguns exemplos:
A computação em clusters pode processar grandes volumes de dados de forma rápida e eficiente, tornando-a uma ferramenta ideal para análise de big data. Do poderoso mecanismo de pesquisa do Google ao software que analisa o mercado de ações e à análise de sentimentos nas mídias sociais, as aplicações da computação em cluster no espaço de análise de dados são grandes e variadas.
Os recursos de processamento paralelo de computação do cluster impulsionam os gráficos mais avançados em videogames e filmes. Usando um cluster de nós independentes, cada um com sua própria unidade de processamento gráfico (GPU), a renderização de computação em cluster (ou renderização em cluster) gera uma única imagem calibrada em várias telas. Esse processo diminui consideravelmente o tempo necessário para criar imagens 3D de alta qualidade.
Nas cargas de trabalho de IA e ML, a computação em clusters ajuda a processar e analisar vastos conjuntos de dados com rapidez e precisão, uma parte essencial do treinamento de modelos de IA que alimentam aplicações populares como o ChatGPT.
Empresas de seguros e empresas de negociação financeira usam a computação em clusters para analisar dados e quantificar os riscos de comprar determinadas ações ou fornecer seguro a determinados clientes. A computação em clusters é usada para analisar conjuntos de big data e extrair insights significativos que podem ser usados para tomar decisões de negócios mais informadas.
O IBM Spectrum LSF Suites é uma plataforma de gerenciamento de carga de trabalho e agendamento de tarefas para computação distribuída de alto desempenho (HPC).
As soluções de HPC em nuvem híbrida da IBM ajudam a enfrentar desafios complexos e intensivos em computação, acelerando a obtenção de insights.
Encontre a solução ideal de infraestrutura em nuvem para as necessidades do seu negócio e expanda os recursos conforme a demanda.