O Que é um Pod? O Que é um Cluster?

Nossas vidas digitais são processadas por conjuntos de computadores conectados em redes de alta velocidade, e o mais atual é um supercomputador de AI chamado NVIDIA DGX SuperPOD.
por Rick Merritt

Tudo o que fazemos na internet, que é praticamente tudo atualmente, depende do funcionamento dos clusters, que às vezes são chamados de pods.

Quando fazemos streaming de um novo programa de TV em alta, compramos uma calça jeans ou fazemos uma videochamada com a avó, usamos clusters. Você está lendo este artigo graças aos pods.

Afinal, O Que é um Pod? O Que é um Cluster? 

Um cluster ou pod é basicamente um conjunto de computadores conectados por redes de alta velocidade em uma única unidade.

Os arquitetos de computadores devem ter recorrido, talvez inconscientemente, a termos relacionados à natureza. As vagens de ervilhas e os grandes grupos de golfinhos, assim como os clusters de computadores de hoje, mostram o poder do trabalho em equipe realizado por vários indivíduos.

As Origens dos Pods e Superpods

As relações não param por aí. Segundo biólogos, as vagens não só protegem e nutrem ervilhas individuais, mas também redistribuem recursos de sementes frágeis para outras mais saudáveis. O mesmo ocorre em um balanceador de carga: ele transfere tarefas de um nó de computação defeituoso para um que esteja funcionando.

A experiente bióloga marinha Denise Herzing trabalha na costa das Bahamas e, todos os dias, vê os mesmos grupos de famílias de cerca de 20 golfinhos.

“Anos atrás, na Península da Baixa Califórnia, vi um grupo grande. Foi muito emocionante e um pouco assustador porque, como sou pesquisadora, meu interesse é observar de perto um pequeno grupo, e não milhares de animais espalhados por uma área extensa”, afirmou a fundadora do Projeto Wild Dolphin.

Para os golfinhos, esses grupos são fundamentais. “Eles criam um amplo sistema sensorial com milhares de ouvidos que escutam predadores como um único supersensor, protegendo os viajantes”, explicou, destacando os paralelos com os clusters usados atualmente na computação em cloud.

Warehouse-sized data center with many clusters or pods.
Um data center do tamanho de um depósito, com vários edifícios, pode funcionar como um único sistema.

O Surgimento dos Pods nos Primeiros Data Centers

No início dos anos 1960, as empresas começaram a informatizar seus sistemas de contabilidade e, para ter backups caso um dos computadores parasse de funcionar, elas reuniram várias máquinas, conta Greg Pfister, ex-tecnólogo da IBM e especialista em clusters.

“Tenho certeza de que a NCR, a MetLife e diversas outras empresas fizeram isso”, avaliou Pfister, autor de In Search of Clusters, considerado por alguns como a bíblia da área.

Em maio de 1983, a Digital Equipment Corp. reuniu vários dos famosos minicomputadores VAX de 32 bits para criar o chamado VAXcluster. Cada computador tinha seu próprio sistema operacional, mas todos compartilhavam recursos, oferecendo aos usuários de IT um sistema único.

An early cluster diagram
Representação de um dos primeiros clusters baseados em PCs.

No final dos anos 1990, o advento de processadores de PC de baixo custo, de redes Ethernet e do Linux contribuiu para pelo menos oito grandes projetos de pesquisa voltados para a construção de clusters. A NASA criou um com 16 placas-mãe de PC em duas redes de 10 Mb/s e o chamou de Beowulf com a esperança de que ele fosse massacrar os mainframes gigantes e sistemas extremamente paralelos da época.

Redes de Clusters Precisam de Velocidade

Os pesquisadores descobriram que era possível criar clusters rapidamente e que eles ofereciam alto desempenho por um custo baixo, desde que usassem redes de alta velocidade para eliminar problemas.

No projeto Network of Workstations (NoW)da Universidade da Califórnia em Berkeley, dezenas de workstations SPARC foram conectadas com as interconexões mais rápidas da época. A equipe criou uma imagem de um cardume de peixes menores comendo um peixe maior para ilustrar seu trabalho.

Berkeley NoW image of pod or superpod cluster
Pesquisadores do projeto NoW de Berkeley imaginavam clusters de vários sistemas menores com um desempenho superior ao de um único computador maior.

O pesquisador Eric Brewer viu que os clusters eram ideais para as aplicações emergentes da internet e usou o sistema NoW de 100 servidores como um mecanismo de pesquisa.

“Por um tempo, tivemos o melhor mecanismo de pesquisa do mundo no campus de Berkeley”, afirmou David Patterson, veterano do NoW e de vários projetos de pesquisa computacional em Berkeley.

O projeto foi tão bem-sucedido que Brewer ajudou a fundar a Inktom, empresa responsável por um dos primeiros mecanismos de pesquisa. Criado em um cluster de mil sistemas inspirado no NoW, ele tinha vários concorrentes, inclusive uma startup chamada Google, criada por empresários da rival Universidade Stanford.

“Eles criaram clusters de rede a partir de PCs e estabeleceram um modelo de negócios que os permitiu crescer e melhorar a qualidade da pesquisa, e o resto é história”, contou Patterson, coautor de um famoso livro didático sobre computação.

Hoje, os clusters ou pods são a base da maioria dos supercomputadores TOP500 do mundo e de praticamente todos os serviços de computação em cloud. Aliás, a maioria deles usam GPUs NVIDIA, mas vamos com calma.

Pods contra Clusters: Uma Guerra de Palavras

Embora os arquitetos de computadores chamassem esses sistemas de clusters, alguns especialistas em networking preferiam o termo pod. Eles transformaram o termo da biologia em uma sigla tecnológica, POD, afirmando que se referia ao ponto de entrega (Point Of Delivery) dos serviços de computação.

O termo pod ganhou força nos primórdios da computação em cloud. Os fornecedores de serviços logo começaram a construir sistemas do tamanho de depósitos e cada vez maiores, geralmente usando contêineres, também conhecidos como pods, de sistemas pré-configurados que pudessem ser conectados como peças de Lego.

First Google cluster in a container
Um dos primeiros protótipos de contêiner sendo entregue a um fornecedor de serviços em cloud.

Mais recentemente, o grupo Kubernetes adotou o termo pod. Na definição deles, um pod de software é “um contêiner único ou um pequeno número de contêineres extremamente conectados que compartilham recursos”.

Setores como o aeroespacial e o de eletrônicos também adotaram o termo pod, talvez para deixar seus produtos mais atraentes. Alguns dos exemplos mais famosos são o iPod, o antecessor do iPhone, e o veículo para somente um astronauta do filme 2001: Uma Odisseia no Espaço.

O Uso da AI em Clusters

Em 2012, os serviços de computação em cloud se transformaram com o surgimento da AI, uma nova e potente forma de computação. Foi uma verdadeira corrida para construir clusters gigantes de GPUs que, com clusters internos de núcleos de aceleração, conseguissem processar grandes conjuntos de dados para treinar e executar redes neurais.

Para ajudar a implementar a AI nos data centers empresariais, a NVIDIA oferece Sistemas NVIDIA DGX com clusters de GPU em redes InfiniBand. Com a arquitetura de referência, os usuários terão acesso a um dimensionamento fácil, de um único sistema DGX para um NVIDIA DGX POD ou até mesmo um supercomputador NVIDIA DGX SuperPOD.

O Cambridge-1, por exemplo, é um supercomputador de AI baseado em um DGX SuperPOD. Ele é dedicado ao desenvolvimento das ciências biomédicas e da área da saúde no Reino Unido.

Esse supercomputador é um dos muitos clusters e pods prontos para AI que estão surgindo cada vez mais. Eles estão crescendo como a AI, com vários formatos e tamanhos em todos os setores e empresas.