Clicked Gallery

O que é um cluster de computação?

Subrayado en un documento técnico real. Explicado por Clicked.

Usado numa frase

Engineering Notes · AI Systems

Nvidia's Jensen Huang called xAI's assembly of Colossus, a compute cluster of 100,000 chips, a “superhuman” effort, saying a machine of that size would normally take three years to plan and another year to get working.

O leitor sublinhou uma palavra na documentação. O Clicked explicou o termo técnico «compute cluster» em linguagem simples:

Explicado em três níveis

Os mesmos fatos, outra vibe — Modo slang 😎

O método Clicked

●○○

Overview

Um cluster de computação é um grupo grande de computadores independentes, ligados por conexões rápidas para que um único trabalho rode em todos ao mesmo tempo. Cada computador é uma máquina completa, com seus próprios chips de processamento e sua própria memória. Como essa memória é dele e de mais ninguém, tudo o que uma máquina calcula precisa ser enviado pelas conexões antes que as outras possam usar. Por isso um trabalho espalhado por mil máquinas para depois de cada passo para que elas troquem o que descobriram, e o passo seguinte espera a mais lenta se reportar. O tamanho é contado em chips e não em máquinas, porque cada máquina costuma levar vários: em 2026, os maiores clusters de treino de IA eram anunciados com 100.000 chips ou mais.
●○○

Overview

Um cluster de computação é o que você monta quando o serviço é grande demais para um computador só, então liga milhares deles e manda todos dividirem a tarefa. Cada um cuida do seu pedaço, e a pegadinha é que nenhum sabe o que os outros acharam até que todos parem e contem. Então a coisa toda roda em rodadas: todo mundo trabalha, todo mundo para, todo mundo troca respostas, e só aí começa outra rodada. Boa parte do dia vai embora esperando a última máquina terminar. Ou seja, uma manchete de 50.000 chips diz quanto poderia estar acontecendo ao mesmo tempo, e nada sobre quantas horas esses chips passam esperando uns pelos outros. 😎

Uma ideia rápida — muitas vezes é tudo de que você precisa.

●●○

Detail

Um cluster de computação é o que se monta quando um trabalho não cabe em máquina nenhuma: centenas ou milhares de computadores ligados entre si para resolver um mesmo problema. Dividir um trabalho entre máquinas deveria dividir o tempo na mesma proporção, então dez máquinas terminariam em um décimo. Não é o que acontece. Parte de todo trabalho não pode ser dividida: o preparo que cada máquina precisa antes que qualquer uma comece, e essa parte fixa continua do mesmo tamanho por mais máquinas que entrem. Digamos que um trabalho leve 100 dias sozinho, sendo 5 desses dias o preparo fixo e os outros 95 o trabalho divisível. Dez máquinas reduzem esses 95 dias para 9,5, então o trabalho termina em 14,5 dias e não em 10. Cem máquinas reduzem esses mesmos 95 dias para menos de um, e ainda assim o trabalho leva uns 6, porque os 5 dias fixos não saem do lugar. Esses 5 dias são um piso que nenhum número de máquinas atravessa, e a regra por trás disso tem nome: a lei de Amdahl. O preparo, no entanto, é um custo de uma vez só. Depois que o trabalho está rodando, as máquinas ainda precisam comparar o que encontraram, normalmente ao fim de cada passo, e o passo seguinte só começa quando a mais lenta se reporta. Cada uma dessas trocas atravessa a fiação, e é por isso que as conexões entre as máquinas são projetadas e pagas com o mesmo cuidado que as máquinas. Nem todo cluster paga esse preço: mil trabalhos sem relação entre si, rodando lado a lado e sem nada a comparar, se viram bem com redes comuns. As máquinas também quebram, e cada uma guarda um pedaço do trabalho, então uma falha para a execução em vez de deixá-la mais lenta. Espalhado por alguns milhares de máquinas ao longo de um mês, isso é rotina, então trabalhos longos salvam o progresso de tempos em tempos e retomam do último ponto salvo em vez de começar de novo.
●●○

Detail

Um cluster de computação são uns milhares de computadores dividindo um trabalho, e a parte cara é fazer eles agirem como um só. O trabalho roda em rodadas. Em cada rodada, cada computador faz seu pedaço, aí todos param para que cada um veja o que os outros conseguiram, e ninguém segue enquanto o último não der sinal. O tempo parado é real: se um computador está um minuto atrasado, os outros ficam esse minuto de braços cruzados, e isso se repete rodada após rodada, o dia inteiro. Depois vem o segundo problema: computador quebra. Suponha que um aguente mais ou menos um ano até algo dentro dele desistir. Um ano tem 8.760 horas, então com 1.000 rodando dá para esperar um caindo a cada 9 horas mais ou menos. Um treino que precisa de três semanas não vai ter três semanas limpas, e quando um computador desiste, o pedaço de trabalho que ele segurava vai junto, então a execução para em vez de seguir com um buraco dentro. É por isso que o trabalho anota onde chegou a cada poucos minutos e rebobina até ali depois de cada falha, o que significa que um bom naco dessas três semanas vai em refazer o que já estava feito. Somar computadores não resolve nada disso: cada um a mais é outra coisa que pode desistir e outra resposta para esperar. 😎

Quer mais? Um clique aprofunda.

●●●

Analogy

Um cluster de computação é como uma equipe grande levantando uma torre andar por andar. O serviço é grande demais para um pedreiro só, então quarenta se espalham pelo andar e cada um pega um trecho. Ninguém pode começar o andar de cima enquanto todos os trechos deste não estiverem prontos. Assim a equipe anda no ritmo de quem termina por último, e o pedreiro rápido não ganha nada terminando antes. Além disso, antes de subir, os trechos precisam ser conferidos entre si para o nível fechar, e essa conferência leva um tempo próprio. Coloque mais pedreiros e cada trecho fica menor, mas a conferência e a espera crescem. Um cluster funciona igual. Cada máquina pega um trecho de cada passo, nenhuma segue enquanto todas não compararem os resultados, e quanto mais máquinas houver, maior a parte de cada passo que vai para comparar em vez de trabalhar.
●●●

Analogy

Um cluster de computação é como um barco a remo com oito remadores dentro. Cada um é forte sozinho, mas o barco só anda bem quando os oito puxam no mesmo instante, então eles remam em uníssono, remada após remada, com uma pessoa marcando o ritmo. Se um fica meio tempo atrás, o barco não vai a sete oitavos da velocidade: ele engasga, porque os outros sete agora estão puxando contra esse um. Remar mais forte sozinho também não ajuda, porque o barco anda no ritmo que a tripulação consegue manter junta. Um cluster é esse barco com mil remadores: cada máquina dá a sua remada, todas esperam a mais lenta, e quem marca o ritmo é a fiação que liga uma na outra. 😎

Conceito novo? Um exemplo do dia a dia faz clicar — novas analogias quando quiser.

Explicações de IA podem conter erros · Não é aconselhamento profissional

Definição formal — O mesmo termo, explicado da forma habitual

Um cluster de computação é um conjunto de computadores independentes, chamados nós, conectados por uma interconexão dedicada de alta velocidade e administrados como um único sistema, de modo que uma carga de trabalho possa ser distribuída entre todos eles. Cada nó executa o próprio sistema operacional e possui a própria memória, e a coordenação se dá por troca de mensagens pela interconexão e não por memória compartilhada, o que distingue um cluster de uma única máquina multiprocessada de grande porte. Softwares de escalonamento como Slurm ou Kubernetes atribuem nós aos trabalhos e aplicam a política de filas. Clusters são a forma padrão de infraestrutura de computação de alto desempenho, usada em simulação científica, modelagem financeira e, na maior escala, no treino de modelos de aprendizado de máquina, em que a largura de banda da interconexão e a tolerância a falhas costumam ser os fatores limitantes do projeto.

Quer que o Clicked explique termos como “compute cluster” direto no seu navegador, inclusive em PDFs?

Adicionar ao Chrome — Grátis

50 explicações grátis · Sem cartão de crédito