Clicked Gallery

Slurm vs Kubernetes: qual é a diferença?

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

Usado numa frase

Engineering Notes · AI Systems

The job listing asked for engineers who had run large training clusters on either Slurm or Kubernetes.

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

Explicado em três níveis

Os mesmos fatos, outra vibe — Modo slang 😎

O método Clicked

●○○

Overview

Slurm e Kubernetes são dois programas que administram um cluster de máquinas. Instalado por todo o cluster, cada um decide qual programa roda em quais máquinas, e quando. Os dois são programas livres e de código aberto, e nenhum dos dois nomes é uma empresa. O Slurm saiu dos laboratórios nacionais dos Estados Unidos em 2002; o Kubernetes, do Google em 2014. Um cluster usa um dos dois, não os dois: dois administradores distribuindo as mesmas máquinas ficariam entregando cada um o que o outro já tinha reservado. A diferença entre eles é o tipo de trabalho para o qual cada um foi feito. O Slurm toca uma fila para trabalhos que acabam: você pede máquinas, espera a sua vez, roda até o fim e devolve. O Kubernetes mantém serviços que não podem parar: você declara o que deve estar sempre rodando, e ele sobe substitutos toda vez que uma máquina falha. O Slurm ainda escalona cerca de 60% dos maiores supercomputadores do mundo; o Kubernetes toca boa parte do software por trás da web moderna.
●○○

Overview

Slurm e Kubernetes são os dois nomes grandes que mandam num prédio com 1.000 computadores dentro, decidindo para onde vai a coisa de cada um e quem espera. Nenhum dos dois é empresa, e nenhum é aparelho que você compra. São downloads, dados de graça, com nomes que só engenheiro consegue amar. Você põe um deles no comando por prédio, nunca os dois, já que dois chefes prometendo o mesmo computador para pessoas diferentes acaba mais ou menos como você imagina. Entre eles existe uma pergunta só. A sua coisa acaba, do jeito que um cálculo acaba? O Slurm enfileira, leva até o fim e depois toma os computadores de volta. Tem de seguir para sempre, do jeito que um site segue? O Kubernetes fica de babá, trocando as peças enquanto o hardware embaixo vai morrendo. 😎

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

●●○

Detail

Slurm e Kubernetes são, os dois, software de cluster. Um programa administrador roda em uma máquina, um pequeno agente roda em todas as outras, e as pessoas entregam o trabalho ao administrador em vez de escolher máquinas por conta própria. A função é a mesma que o sistema operacional de um notebook já cumpre: dividir o hardware entre programas. Na escala de milhares de máquinas e organizações inteiras, aparece uma pergunta que um notebook nunca enfrenta: de quem é o trabalho que vai esperar. O Slurm, escrito para os laboratórios nacionais dos Estados Unidos em 2002, responde com uma fila. Você pede máquinas por um número de horas, espera atrás de quem pediu antes, roda até o fim, e as máquinas voltam para o bolo. Foi feito para supercomputadores, onde o cluster é um ativo fixo e caríssimo que não pode ficar parado. Ele ainda escalona cerca de 60% dos maiores do mundo. O Kubernetes, publicado pelo Google em 2014 a partir da experiência com serviços web, responde com uma instrução permanente. Você declara o que deve ser sempre verdade, por exemplo cinco cópias de um serviço rodando. Toda vez que uma máquina falha, o software torna aquilo verdade de novo, subindo substitutos nas máquinas que restaram. Foi feito para trabalho sem fim, em máquinas que vão e vêm. A unidade que ele movimenta é o contêiner, um programa empacotado com tudo de que precisa, capaz de subir em qualquer máquina em segundos. Existem duas respostas porque dois setores as construíram separados. Só passaram a ser comparados quando a IA precisou dos dois: trabalhos enormes que precisam acabar, e serviços que não podem parar nunca. A diferença de fundo não é qualidade, e sim a pergunta que cada um responde: o trabalho acaba, ou tem de seguir?
●●○

Detail

É assim que dá para sentir cada um. Com o Slurm, você anota o que quer, digamos 64 computadores por 6 horas, e tira uma senha. Quando chega a sua vez, aqueles computadores são inteiramente seus pelo período reservado. Seu cálculo roda até terminar, e depois tudo passa para quem está atrás de você. A obsessão do sistema é que nada fique parado, porque um supercomputador que não rende nada é um aquecedor caríssimo. Com o Kubernetes não tem senha e não tem ir embora. Você prega uma instrução, mantenha 5 disto vivos, sempre, e o Kubernetes faz cumprir a toda hora. Um computador morre às 3 da manhã e um substituto sobe antes de o celular de alguém apitar. É por isso que os sites raramente parecem perceber que o hardware deles está falhando embaixo. Os dois cresceram separados, um em laboratórios de pesquisa, o outro dentro dos gigantes da internet, e por anos simplesmente não se cruzaram. Aí chegou o treino de IA querendo os dois ao mesmo tempo: cálculos gigantes que precisam terminar e chatbots que não podem piscar. Os dois lados discutem desde então. Continua caindo numa pergunta só. A sua coisa acaba? Tire uma senha. Tem de continuar viva? Pregue a instrução. 😎

Quer mais? Um clique aprofunda.

●●●

Analogy

O Slurm é como a planilha de reservas de um ginásio; o Kubernetes é como a escala de plantão de uma ala de hospital. A planilha de reservas distribui algo escasso por turnos. A quadra inteira é sua das duas às quatro, mais ninguém encosta nela enquanto for sua, e às quatro ela passa para o próximo nome da lista. O objetivo do zelador é um calendário cheio, sem horas vazias. A escala é outro tipo de regra: três enfermeiras de plantão o tempo todo, dia e noite, sem data para acabar. Quando uma avisa que adoeceu, a chefia preenche o buraco na hora, porque a exigência não faz pausa enquanto ela procura. A planilha é o Slurm, distribuindo horários que acabam. A escala é o Kubernetes, mantendo um estado que precisa valer sempre. Os dois decidem quem fica com um recurso escasso.
●●●

Analogy

O Slurm é como a agenda de uma sala de ensaio; o Kubernetes é como o contrarregra de um teatro onde o espetáculo não pode parar. A sala de ensaio é sua das sete às dez, e às dez a banda seguinte entra, tendo você terminado ou não. O contrarregra vive sob uma lei mais dura: hoje tem espetáculo, e em toda noite seguinte também, aconteça o que acontecer. Se a protagonista perde a voz às seis, às sete a substituta está vestida e a plateia nem fica sabendo. É isso que o Kubernetes faz quando um computador morre: o substituto está no palco antes de o público notar qualquer coisa. Tempo reservado que acaba, contra um espetáculo que tem de acontecer toda noite. Qual você precisa depende de a sua coisa ser um ensaio ou uma temporada. 😎

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

Slurm é um gerenciador de cargas e escalonador de trabalhos de código aberto para clusters de computação de alto desempenho, desenvolvido no Lawrence Livermore National Laboratory desde 2002; atribui nós a trabalhos em fila conforme políticas de prioridade, divisão justa e recursos, e predomina na lista TOP500. Kubernetes é uma plataforma de orquestração de contêineres de código aberto publicada pelo Google em 2014, descendente do sistema interno Borg e hoje governada pela Cloud Native Computing Foundation; mantém um estado desejado declarativo, escalonando contêineres em pods pelos nós e reescalonando-os em caso de falha. Os dois encarnam, respectivamente, o escalonamento em lote e a orquestração de serviços; instalações híbridas os executam lado a lado sobre clusters particionados ou os interligam por projetos criados para esse fim.

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

Adicionar ao Chrome — Grátis

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