Domingo, 19 de Agosto de 2018
Home Notícias

A Microsoft fez uma grande aposta em chip de computador reprogramável: FPGA

06/03/2018 102 0
A Microsoft fez uma grande aposta em chip de computador reprogramável: FPGA

Em dezembro de 2012, no Microsoft Research, Doug Burger estava de pé na frente de Steve Ballmer tentando prever o futuro. O então CEO da Microsoft,estava cercado por seus principais colaboradores com seu laptop aberto. Burger, um pesquisador de chips de computador que se juntou à empresa quatro anos antes, estava lançando uma nova ideia para os executivos. Ele o chamou de Projeto Catapulta (Project Catapult).

O mundo da tecnologia, explicou Burger, estava entrando em uma nova órbita. No futuro, algumas empresas gigantes do setor operariam alguns dos maiores serviços da Internet tão complexos e tão diferentes que essas empresas teriam que construir uma nova arquitetura para executá-los. Estas empresas gigantes criariam não apenas o software que conduz esses serviços, mas, o hardware, incluindo servidores e equipamentos de rede. O Project Catapult equiparia todos os servidores da Microsoft – milhões deles – com chips especializados que a empresa poderia reprogramar para tarefas específicas. Mas, antes que Burger pudesse chegar até a parte dos chips, Ballmer olhou por cima do laptop e disparou: Quando visitei o Microsoft Research, disse Ballmer, esperava atualizações sobre P & D, não um briefing de estratégia. E começou a “fritar” Burger.

A Microsoft passou 40 anos criando software para PC como Windows, Word, Excel e certamente não tinha as ferramentas que os engenheiros precisavam para programar chips de computador – uma tarefa que é difícil, demorada, cara e meio estranha. Para comparação, a Microsoft programar chips de computador seria como a Coca Cola tentar fazer sopa, por isso os questionamentos de Ballmer.

Calmo e analítico, como tantos bons engenheiros, Burguer disse à Ballmer que empresas como Google e Amazon já estavam se movendo nessa direção. Ele disse que os fabricantes mundiais de hardware não forneceriam o que a Microsoft precisava para administrar seus serviços on-line. Ele disse que a Microsoft ficaria para trás se não construísse seu próprio hardware. Ballmer não estava comprando a ideia. Mas, depois de algum tempo, outra voz se juntou à discussão. Qi Lu, que administrava o motor de busca Bing, da Microsoft. A equipe de Lu estava conversando com Burger sobre chips de computador reprogramáveis por quase dois anos. O Projeto Catapulta era mais do que possível, disse Lu: sua equipe já havia começado.

Hoje, os chips programáveis que Burger e Lu acreditavam – estão aqui. As FPGAs (Field Programmable Gate Array) já sustentam o Bing e, nas próximas semanas, irão gerar novos algoritmos de busca baseados em redes neurais profundas – inteligência artificial modelada na estrutura do cérebro humano – executando IA (Inteligência Artificial) em várias ordens de magnitude mais rápido do que os chips comuns poderiam entregar, como executar um processo em 23 milissegundos, ao invés de quatro segundos dos outros chips. FPGAs também conduzem o Azure, o serviço de computação em nuvem da Microsoft. Nos próximos anos, quase todos os novos servidores da Microsoft incluirão um FPGA. São milhões de máquinas em todo o mundo.

“Isso nos dá uma enorme capacidade e enorme flexibilidade, e a economia funciona”, diz Burger. “Esta é agora, a arquitetura padrão da Microsoft, em todo o mundo”.

E não é apenas o Bing avançando contra o Google. O Project Catapult sinaliza uma mudança na forma como os sistemas globais irão operar no futuro. Da Amazon nos EUA para o Baidu na China, todos os gigantes da Internet estão completando seus chips de servidor padrão – ou CPUs – com silício alternativo que pode acompanhar as mudanças rápidas em IA. A Microsoft agora gasta entre $ 5 e US $ 6 bilhões por ano com o hardware necessário para executar seu império online. Portanto, esse tipo de trabalho “não é apenas pesquisa”, diz Satya Nadella, que assumiu o cargo de CEO da Microsoft em 2014. “É uma prioridade essencial.” Isso é o que Burger estava tentando explicar para Ballmer. A novidade levou Burger e sua equipe a superar anos de contratempos, redesenhos e entropia institucional para entregar um novo tipo de supercomputador global.

Um tipo de chip de computador novo e antigo

Andrew Putnam e Doug Burger, do Microsoft Research são ex-acadêmicos. Burger passou nove anos como professor de informática na Universidade do Texas, em Austin, onde se especializou em microprocessadores e projetou um novo tipo de chip chamado EDGE. Putnam trabalhou por cinco anos como pesquisador na Universidade de Washington, onde experimentou com FPGAs (Field Programmable Gate Array) que foram usados principalmente como uma forma de prototipagem de outros processadores. Burger trouxe Putnam para a Microsoft em 2009, onde começaram a explorar a ideia de que esses chips poderiam realmente acelerar os serviços on-line. Peter Lee, que supervisiona o grupo de Burger, acreditava que o Bing era o caso de teste perfeito.

O mecanismo de pesquisa da Microsoft é um único serviço online que funciona em milhares de máquinas. Cada máquina é conduzida por uma CPU e, apesar de empresas como a Intel continuar a melhorar, esses chips não acompanham os avanços no software, em grande parte, devido à nova onda de inteligência artificial. Serviços como o Bing ultrapassaram a Lei de Moore, a noção canônica de que o número de transistores em um processador duplica a cada 18 meses. Acontece que você não pode simplesmente inserir mais CPUs no problema. Mas, por outro lado, geralmente é muito caro criar chips especializados e projetados para cada novo problema.

As FPGAs superam essa lacuna. Eles permitem que os engenheiros criem chips que sejam mais rápidos e com menos energia que uma linha de montagem de CPU de propósito geral, mas personalizável, então eles lidam com os novos problemas de tecnologias e modelos de negócios sempre em mudança.

Seguindo um esboço feito por Putnam para chips FPGA, Burger e sua equipe construíram um protótipo, mostrando que poderiam executar algoritmos de aprendizado de máquina do Bing cerca de 100 vezes mais rápido. “Foi quando os executivos realmente se interessaram”, diz Jim Larus, outro membro do time naquela época, que agora é reitor da École Polytechnique Fédérale da Suíça em Lausanne. “Eles também mostraram um momento muito difícil”.

O protótipo era uma caixa dedicada com seis FPGAs, compartilhada por um rack cheio de servidores. Se a caixa seguisse o frizz, ou se as máquinas precisassem de mais de seis FPGAs – o que era cada vez mais provável dada à complexidade dos modelos de aprendizado de máquina – todas essas máquinas estavam sem sorte. Os engenheiros do Bing odiaram. “Eles estavam certos”, diz Larus.

Então, a equipe de Burger passou muitos meses construindo um segundo protótipo. Esta foi uma placa de circuito que se conectou a cada servidor e incluiu apenas um FPGA. Mas também conectado a todas as outras placas FPGA em todos os outros servidores, criando um gigante conjunto de chips programáveis que qualquer máquina do Bing poderia aproveitar.

Esse foi o protótipo que colocou Qi Lu a bordo. Ele deu à Burger o dinheiro para construir e testar mais de 1.600 servidores equipados com FPGAs. A equipe passou seis meses construindo o hardware com a ajuda dos fabricantes na China e Taiwan, e eles instalaram o primeiro rack em um centro de dados experimental no campus da Microsoft. Então, em uma noite, o sistema de extinção de incêndio foi acionado por acidente. Eles passaram três dias recuperando a cremalheira – mas, ainda funcionou.

Ao longo de vários meses em 2013 e 2014, o teste mostrou que os algoritmos de aprendizagem mecânica de “árvore de decisão” do Bing funcionavam aproximadamente 40 vezes mais rápidos com os novos chips. No verão de 2014, a Microsoft estava dizendo publicamente que em breve moveria este hardware para seus centros de dados do Bing ao vivo. E então, a empresa pisou no freio.

Procurando por mais do que o Bing

O Bing dominou as ambições online da Microsoft no início da década, mas, até 2015 a empresa tinha outros dois serviços online maciços: o pacote de produtividade empresarial Office 365 e o serviço de computação em nuvem Microsoft Azure. E, como todos os seus concorrentes, os executivos da Microsoft perceberam que a única maneira eficiente de administrar um crescente império on-line é executar todos os serviços na mesma base. Se o Project Catapult fosse transformar a Microsoft, não poderia ser exclusivo para o Bing. Tinha que trabalhar também no Azure e no Office 365.

O problema era que os executivos da Azure não se preocupavam com a aceleração da aprendizagem de máquinas. Eles precisavam de ajuda com a rede. O tráfego que circulava em torno dos centros de dados da Azure estava crescendo tão rápido e as CPUs do serviço não podiam manter o ritmo. Eventualmente, pessoas como Mark Russinovich, o arquiteto-chefe do Azure, viram que o Projeto Catapulta também poderia ajudar com isso – mas, não da maneira como foi projetado para o Bing. Sua equipe precisava de chips programáveis exatamente onde cada servidor conectado à rede primária, para que eles pudessem processar todo esse tráfego antes mesmo de chegar ao servidor.

O primeiro protótipo da arquitetura FPGA foi uma única caixa compartilhada por um rack de servidores (Versão 0). Em seguida, a equipe mudou para dar aos servidores individuais seus próprios FPGAs (Versão 1). E então eles colocam os chips entre os servidores e a rede geral (Versão 2)

Assim, a banda FPGA teve que reconstruir o hardware novamente. Com este terceiro protótipo, os chips ficariam à beira de cada servidor, conectando-se diretamente à rede, enquanto ainda criava um conjunto de FPGAs disponíveis para qualquer máquina. Isso começou a parecer algo que funcionaria para o Office 365 também e com isso, o Project Catapult estava pronto para entrar ao vivo finalmente.

Larus descreve os muitos redesenhos como um pesadelo prolongado – não porque eles tivessem que construir um novo hardware, mas porque eles deveriam reprogramar os FPGAs sempre. “Isso é horrível, muito pior do que o software de programação”, diz ele. “Muito mais difícil de escrever. Muito mais difícil de fazer corretamente. “É um trabalho fino, como tentar mudar pequenas portas de lógica no chip”.

Agora que o hardware final está no lugar, a Microsoft enfrenta esse mesmo desafio sempre que ele reprograma esses chips. “É uma maneira muito diferente de ver o mundo, de pensar sobre o mundo”, diz Larus. Mas, o hardware da Catapulta custa menos de 30% do resto do servidor, consome menos de 10% do poder e processa dados duas vezes mais rápido que a empresa sem ele.

O ganho é enorme. O Microsoft Azure usa esses chips programáveis para rotear dados. No Bing, estima-se que cerca de 20% do mercado mundial de pesquisas em máquinas de mesa e cerca de 6% nos celulares, os chips facilitam o movimento para a nova raça de AI: redes neurais profundas. E de acordo com um funcionário da Microsoft, o Office 365 está se movendo em direção ao uso de FPGAs para criptografia e compressão, bem como para a aprendizagem de máquinas – para todos os seus milhões de usuários. Eventualmente, diz Burger, esses chips habilitarão todos os serviços da Microsoft.

Espera: isso realmente funciona?

“Ainda me assusta”, diz Peter Lee, “que conseguimos que a empresa fizesse isso.” Lee supervisiona uma organização dentro da Microsoft Research chamada NExT, abreviação de Novas Experiências e Tecnologias. Depois de assumir o cargo de CEO, Nadella pessoalmente empurrou para a criação desta nova organização, e representa uma mudança significativa do reinado de 10 anos de Ballmer. Ele visa promover pesquisas que possam ver a luz do dia antes do dia amanhecer – que podem mudar o curso da Microsoft agora, ao invés de anos a partir de agora. O Project Catapult é um excelente exemplo. E faz parte de uma mudança muito maior em toda a indústria. “Os avanços futuros”, diz Burger, “são provenientes de tecnologias não-CPU”.

Todos os gigantes da Internet, incluindo a Microsoft, agora complementam suas CPUs com unidades de processamento gráfico, chips projetados para renderizar imagens para jogos e outras aplicações altamente visuais. Quando essas empresas treinam suas redes neurais para, por exemplo, reconhecer rostos em fotos de milhões e milhões de arquivos de imagens – as GPUs lidam com grande parte deste cálculo. Alguns gigantes como a Microsoft também estão usando silício alternativo para executar suas redes neurais após o treinamento. E mesmo que seja loucamente caro criar chips personalizados, o Google chegou a projetar seu próprio processador para executar redes neurais, a Tensor ProcessorUnit .

Com suas TPUs, o Google sacrifica a flexibilidade de longo prazo em prol da velocidade. Ele quer, digamos, eliminar qualquer atraso ao reconhecer comandos falados em smartphones. O problema é que, se os modelos de redes neurais mudam, o Google tem que criar um novo chip. Mas, com FPGAs, a Microsoft está jogando um jogo mais longo. Embora um FPGA não seja tão rápido quanto a compilação personalizada do Google, a Microsoft pode reprogramar o silício conforme as necessidades mudam. A Microsoft pode reprogramar não apenas novos modelos de IA, mas praticamente qualquer tarefa. E se um desses desenhos parece ser útil nos próximos anos, a Microsoft sempre pode tomar a programação FPGA e criar um chip dedicado.

Os serviços da Microsoft são tão grandes, e eles usam tantos FPGAs, que mudaram o mercado mundial de chips. Os FPGAs provêm de uma empresa chamada Altera, e a vice-presidente executiva da Intel, Diane Bryant, contou a Microsoft é a razão pela qual a Intel adquiriu a Altera no verão passado – um acordo no valor de US $ 16,7 bilhões, a maior aquisição na história da Intel. Em 2020, afirmou Bryant, um terço de todos os servidores dentro de todas as principais empresas de computação em nuvem incluirá FPGAs.

Não se preocupe muito com este típico emaranhado de siglas tecnológicas: CPUs, GPUs, TPUs, FPGAs. O subtexto é que importa. Com a computação em nuvem, empresas como a Microsoft, o Google e a Amazon estão gerando tanta tecnologia do mundo que esses chips alternativos direcionarão o universo mais amplo de aplicativos e serviços on-line. Peter Lee diz que o Project Catapult permitirá que a Microsoft continue expandindo os poderes de seu supercomputador global até o ano 2030. Depois disso, ele diz que a empresa pode se mover para a computação quântica.

Mais tarde, Satya Nadella disse o mesmo. Eles estão seguindo o script da Microsoft, promovendo um futuro habilitado para quantum computers ultra-rápidos. Considerando o quanto é difícil construir uma máquina quântica, isso parece um sonho. Mas, há alguns anos atrás, o Projeto Catapulta também era.

Fonte: Wired

Compartilhe:

Comentários: