AI no Centro de Tudo: Como Criamos o Computador Industrial Mais Potente dos EUA em Três Semanas Durante a Pandemia

Fazer o Selene é uma história de experiência em sistemas que está trazendo a computação de alto desempenho para o data center.
por Rick Merritt

Em cerca de um mês em meio à pandemia global, uma pequena equipe montou o sétimo computador mais rápido do mundo.

Hoje, esse sistema, chamado Selene, se comunica com seus operadores no Slack, tem seu próprio atendente robô e está impulsionando a AI em automóveis, serviços de saúde e processamento de linguagem natural.

Embora muitos supercomputadores usem designs exóticos e proprietários que levam meses para encomendar, o Selene se baseia em uma arquitetura aberta que NVIDIA compartilha com seus clientes.

O Argonne National Laboratory, perto de Chicago, nos EUA, está usando o design DGX SuperPOD do Selene para pesquisar maneiras de combater o coronavírus. A Universidade da Flórida usará o design para criar o computador mais rápido de AI do meio acadêmico.

Os DGX SuperPODs estão garantindo resultados comerciais para empresas como a Continental no setor automotivo, a Lockheed Martins no setor aeroespacial e a Microsoft no setor de serviços de computação em cloud.

Nascimento de um Sistema de AI

A história de como e por que a NVIDIA construiu o Selene começa em 2015.

Os engenheiros da NVIDIA começaram seu primeiro design em nível de sistema com duas motivações: eles queriam criar algo suficientemente potente para treinar os modelos de AI que seus colegas estavam desenvolvendo para veículos autônomos e com uma finalidade geral suficiente para atender às necessidades de qualquer pesquisador de deep learning.

O resultado foi o cluster SATURNV, criado em 2016 e baseado na GPU NVIDIA Pascal. Quando a mais potente GPU NVIDIA Volta foi lançada um ano depois, a motivação do novo grupo de pesquisa e seus designs foram expandidos rapidamente.

Trabalhos de AI Além do Acelerador

“Estamos tentando prever o que virá com base no que ouvimos de pesquisadores, criando máquinas que atendam a vários usos e tenham vidas úteis longas, integrando o máximo de processamento, memória e armazenamento possível”, disse Michael Houston, um arquiteto que lidera a equipe de sistemas.

No início do 2017, “começamos a ver os novos softwares criarem a necessidade de treinamento de vários nós, exigindo comunicações de alta velocidade entre sistemas e acesso a armazenamento de alta velocidade”, explicou ele.

Os modelos de AI estavam crescendo rapidamente, exigindo várias GPUs para manipulá-los. As cargas de trabalho estavam exigindo novos modelos de computação, como o paralelismo, para manter o ritmo.

Então, em rápida sucessão, a equipe criou clusters ainda maiores de sistemas NVIDIA DGX-2 baseados em V100, chamados DGX PODs. Eles usaram 32 e, em seguida, 64 nós DGX-2, culminando em uma arquitetura de 96 nós chamada DGX SuperPOD.

Eles a chamaram de Circe em homenagem à irresistível deusa grega. Ela foi lançada em junho de 2019 no número 22 da lista TOP500 dos supercomputadores mais rápidos do mundo e atualmente é o número 23.

Cortando Cabos em um Selva de Computação

Ao longo do caminho, a equipe aprendeu sobre rede, armazenamento, potência e temperatura. Esses aprendizados foram colocados prática nos mais atuais sistemas NVIDIA DGX, arquiteturas de referência e no Selene de 280 nós de hoje.

Na corrida por clusters cada vez maiores para chegar à Circe, algumas lições foram difíceis.

“Nós começamos do zero duas vezes: literalmente cortamos os cabos. Foi a maneira mais rápida, mas ainda teve muito tempo de inatividade e custos. Então, nós juramos nunca mais fazer isso e definir facilidade de expansão e implementação incremental como um princípio de design fundamental”, afirmou Houston.

A equipe redesenhou a rede como um todo para simplificar a montagem do sistema.

Eles definiram módulos de 20 nós conectados por “switches finos” relativamente simples. Cada uma dessas unidades dimensionáveis pode ser disposta, ativada e testada antes que a próxima seja adicionada.

O design permite que os engenheiros especifiquem comprimentos de cabos definidos que poderiam ser combinados com Velcro na fábrica. Os racks poderiam ser rotulados e mapeados, simplificando radicalmente o processo de preenchê-los com dezenas de sistemas.

Dobrando a InfiniBand

Desde o início, a equipe aprendeu a dividir as malhas de computação, armazenamento e gerenciamento em planos independentes, difundindo-as entre mais placas de interface de rede mais rápidas.

A taxa de NICs por GPU foi duplicada para 1:1. Por isso, suas velocidades vão de 100 Gbits por segundo InfiniBand na Circe para 200 G HDR InfiniBand no Selene. O resultado foi um aumento de 4 vezes na largura de banda efetiva do nó.

Da mesma forma, os vínculos de memória e armazenamento aumentaram a capacidade e a taxa de transferência para lidar com trabalhos com necessidades de armazenamento hot, warm e cold. Quatro camadas de armazenamento abrangiam vínculos de 100 Terabytes/segundo de memória para pools de armazenamento de 100 Gigabytes/segundo.

A potência e as temperaturas ficam dentro dos limites resfriados a ar. Os designs padrão usavam racks de 35 kW típicos em data centers arrendados, mas eles podem se estender para além de 50 kW para as centrais de supercomputadores mais agressivas e para os racks de 7 kW que algumas empresas de telecomunicações utilizam.

Um retrato de Selene pelos números.

Buscando por um Sistema Grande e Equilibrado

O resultado é um design mais equilibrado que pode lidar com as diferentes cargas de trabalho de hoje. Esta flexibilidade também dá aos pesquisadores a liberdade de explorar novas direções da AI e da computação de alto desempenho.

“Até certo ponto, a HPC e a AI exigem máximo desempenho, mas você deve observar cuidadosamente como fornecer esse desempenho em termos de energia, armazenamento e rede, bem como processamento bruto”, disse Julie Bernauer, que lidera uma equipe de desenvolvimento avançado que trabalhou em todos os sistemas de grande escala da NVIDIA.

Tripulações Mínimas em Protocolos Restritos

Os investimentos tiveram seu retorno no início de 2020.

Poucos dias após o início da pandemia, as primeiras GPUs de arquitetura NVIDIA Ampere chegaram, e os engenheiros começaram a montar o Selene de 280 nós.

Na melhor das hipóteses, dezenas de engenheiros podem levar alguns meses para montar, testar e comissionar um sistema de classe de supercomputador. A NVIDIA precisava colocar o Selene em execução em algumas semanas para participar dos benchmarks do setor e cumprir as obrigações com clientes como a Argonne.

E os engenheiros tinham que se manter dentro das diretrizes de saúde pública da pandemia.

“Tínhamos equipes mínimas com protocolos rígidos para manter a saúde da equipe”, disse Bernauer.

“Para desencaixotar e montar os sistemas, usamos equipes de duas pessoas que não se misturavam com as outras: eles até tiraram férias ao mesmo tempo. E fizemos cabeamento com distâncias de dois metros entre as pessoas. Isso realmente muda a forma como você constrói sistemas”, disse ela.

Mesmo com as restrições do COVID, os engenheiros montavam até 60 sistemas em um dia, o máximo que sua doca de carga podia suportar. Os log-ins virtuais permitem que os administradores validem o cabeamento remotamente, testando módulos de 20 nós à medida que são implantados.

A equipe de Bernauer implementou várias camadas de automação. Isso eliminou a necessidade de pessoas na instalação de co-localização onde o Selene foi construído, a um quarteirão da sede da NVIDIA no Vale do Silício.

Slacking com um Supercomputador

Selene fala com a equipe através de um canal Slack como se fosse um colega de trabalho, relatando cabos soltos e isolando hardware com defeito para que o sistema possa continuar funcionando.

“Não queremos acordar durante a noite porque o cluster tem um problema”, disse Bernauer.

É parte da automação que os clientes podem acessar se seguirem as orientações nas arquiteturas DGX POD e SuperPOD.

Graças a esta abordagem, espera-se que a Universidade da Flórida, por exemplo, forneça e ligue uma extensão de 140 nós para seu sistema HiPerGator, ligando o mais poderoso supercomputador de AI do meio acadêmico em menos de 10 dias após recebê-lo.

Como um toque adicional, a equipe da NVIDIA comprou um robô de telepresença da Double Robotics para que designers não essenciais que trabalham de casa pudessem manter contato diário com o Selene. Eles o apelidaram de Trip devido às preocupações iniciais de técnicos essenciais no local que poderiam esbarrar nele.

O fato de o Trip ser impulsionado por um módulo NVIDIA Jetson TX2 foi uma atração a mais para os membros da equipe que imaginavam que algum dia poderiam mexer em sua programação.

Trip robot with Selene
Trip ajudou os engenheiros a inspecionar o Selene enquanto ele estava em construção.

Desde o final de julho, Trip tem sido usado regularmente para deixá-los guiar virtualmente pelos corredores de Selene, observando o sistema através da câmera e do microfone do robô.

“Trip não substitui um operador humano, mas se você estiver preocupado com algo às 2 da manhã, pode verificar sem precisar se deslocar até o data center”, disse ela.

Entregando Resultados de HPC e AI em Escala

No final das contas, é tudo uma questão de resultados, e eles vieram rápido.

Em junho, o Selene atingiu a 7ª posição na lista TOP500 e a 2ª posição na lista Green500 dos sistemas com maior eficiência energética. Em julho, ele quebrou recordes em todos os oito testes de sistemas para desempenho de treinamento de AI nos últimos benchmarks MLPerf.

“A grande surpresa para mim foi como tudo correu bem, já que estávamos usando novos processadores e placas, e eu credito todos os testes ao longo do caminho”, disse Houston. “Levantar esta máquina e fazer um monte de benchmarks consecutivos deu à equipe um grande impulso”, acrescentou.

O trabalho de pré-teste de contêineres NGC e software HPC para Argonne foi ainda mais gratificante. O laboratório já está trabalhando em problemas difíceis de encaixe de proteínas e química quântica para lançar uma luz sobre o coronavírus.

Em paralelo, a Circe doa muitos de seus ciclos gratuitos para a iniciativa Folding@Home que combate a COVID.

Ao mesmo tempo, os próprios pesquisadores da NVIDIA estão usando o Selene para treinar veículos autônomos e refinar a AI de conversação, aproximando-se dos avanços que devem apresentar em breve. Eles estão entre mais de mil trabalhos executados, muitas vezes simultaneamente, no sistema até agora.

Enquanto isso, a equipe já tem mais ideias para o que vem por aí. “Dê aos engenheiros obcecados por desempenho potência e cabos suficientes e eles descobrirão coisas incríveis”, disse Bernauer.

No topo: uma representação artística de uma parte do Selene.