Início » Negócios » Por que chips programáveis farão a diferença na Microsoft

Por que chips programáveis farão a diferença na Microsoft

A companhia teve resultados tão bons testando chips FPGA no Bing que decidiu levar a ideia a outros serviços

Emerson Alecrim Por

Alguém pede para você descrever a Microsoft em poucas palavras. Você diz que esta é uma das maiores companhias de software do mundo. Parabéns, está correto! Mas todo mundo sabe disso, certo? O que pouca gente sabe é que parte dos softwares e serviços da Microsoft só existe por causa dos departamentos da empresa que lidam com hardware. Pois é. O Project Catapult talvez seja a iniciativa que mais nos ajuda a entender essa história.

Diz que sim, Ballmer

Se você nunca ouviu falar dessa iniciativa, não se preocupe. A Microsoft não divulga o Project Catapult tão abertamente assim. Mas não é nada recente. A ideia começou a ser desenvolvida pelo engenheiro Doug Burger em 2010, época em que Steve Ballmer ainda mandava na companhia.

Aliás, quando Burger apresentou o projeto a Ballmer, o chefão da Microsoft não desperdiçou a oportunidade de fazer cara de poucos amigos, como explica a Wired. Para ele, simplesmente não fazia sentido. O Project Catapult consistia em chips que seriam desenvolvidos especificamente para equipar servidores da Microsoft. A companhia, por ser especializada em software, não tinha os recursos necessários para criar hardware desse nível.

Ballmer só se mostrou receptivo à ideia depois que Qi Lu, então líder da área de buscas da Microsoft, apareceu: ele e sua equipe viam o Project Catapult como uma solução perfeita para o Bing.

Eles não estavam errados. Hoje, o Project Catapult é um elemento importante não só para o Bing, mas para o Azure e plataformas que processam serviços como Cortana e Skype. Tudo indica que esses chips serão parte de quase todos os serviços online da companhia nos próximos anos.

Steve Ballmer

E que o Project Catapult tem de especial?

Essencialmente, o fato de os chips do programa serem do tipo FPGA (Field Programmable Gate Array). Não estamos falando de uma tecnologia nova. Os primeiros chips FPGA surgiram na década de 1980. Mas esse aspecto não significa que a tecnologia é defasada, pelo contrário. Não é por acaso que, fora a Microsoft, gigantes como Google e Amazon estão cada vez mais interessadas pelo assunto.

Fica mais fácil entender os chips FPGA se pensarmos neles como unidades que podem ser programadas depois da fabricação, não durante. Essa abordagem é bem diferente de um chip que, por exemplo, foi desenvolvido apenas para controlar a exibição de imagens em uma TV — esse chip sempre terá só essa função.

Com o FPGA, os desenvolvedores podem programar ou reprogramar os circuitos do chip para que este atue em funções muito específicas. Assim, o trabalho dos desenvolvedores envolve não só o software, como também o hardware. Isso permite que as aplicações sejam mais eficientes, além de flexíveis o suficiente para atender às necessidades de mudanças no projeto.

FPGA da Altera

FPGA da Altera

Um campo de prova chamado Bing

No Bing, para dar forma ao Project Catapult, a Microsoft ligou 1.632 servidores Intel Xeon a placas equipadas com chips FPGA de uma das principais fabricantes desse tipo de dispositivo: a Altera (hoje, uma empresa da Intel). Essas unidades têm entre as suas funções definir a ordem que os resultados das buscas devem ter ao serem exibidos ao usuário.

Esse é um trabalho extremamente complexo. Quando você faz uma pesquisa, espera que o buscador exiba resultados quase que instantaneamente. Imagine ter que processar milhares de solicitações desse tipo por segundo. Para piorar, com os dispositivos móveis, a quantidade de pesquisas só cresce. O problema é que, apesar dos esforços da Intel e outras companhias de hardware, o nível de evolução dos processadores não consegue acompanhar os avanços de software do Bing.

É aqui que o Project Catapult passa a fazer sentido. Como chips FPGA podem ser agrupados para realizar tarefas muito específicas de modo eficaz, o ganho de desempenho compensa os esforços de desenvolvimento. Segundo Burger, o Project Catapult consegue ser até 40% mais rápido que um servidor Xeon convencional.

Bing + Catapult

A melhor parte é que os custos ficam sob controle: chips FPGA são caros, mas, provavelmente, a Microsoft gastaria muito mais dinheiro se tivesse que se dedicar a chips especializados. Chips FPGA podem ser readaptados a novas demandas. Chips especializados não podem, o que faria cada novo problema exigir o desenvolvimento de unidades dedicadas.

Do Bing para o mundo

Os testes com os mais de 1.600 servidores deram tão certo que a Microsoft viu ali uma resposta para problemas que estavam surgindo em outras plataformas, como Azure e Office 365.

No Azure há muitos sistemas de aprendizagem de máquina rodando. Como você deve saber, essas aplicações exigem bastante processamento. Os engenheiros da Microsoft perceberam que o Project Catapult poderia ajudar com essa demanda, mas de uma forma diferente: lidando com o tráfego de dados que crescia e, consequentemente, congestionava os servidores.

Para tanto, os chips FPGA tiveram que ser reprogramados. O sistema construído para funcionar no Bing não era adequado para as demandas no Azure. Foi um trabalho tão árduo, tão mais difícil que modificar software, que os engenheiros da Microsoft o descrevem como “pesadelo”.

Chip

Mas deu certo. Em agosto, a Microsoft anunciou uma nova versão do projeto, o Catapult V2, que é ainda mais flexível, podendo lidar diretamente com processadores, memória RAM e switches de rede, por exemplo.

Dá para esperar, portanto, que os serviços nas nuvens da Microsoft sejam cada vez mais dependentes dos chips FPGA. A própria companhia reconhece isso. O Catapult V2 deve ser empregado no reconhecimento de imagem e processamento de linguagem natural, só para você ter ideia. É verdade que a reprogramação dos chips ainda representa um grande desafio, mas os resultados convenceram a Microsoft sobre a validade dos esforços.

Na verdade, não é só com a Microsoft. O crescente interesse de outras companhias pelos chips FPGA indica que eles farão parte de muito mais aplicações em um futuro relativamente próximo. Analisando bem, isso ajuda explicar o porquê de a Intel ter desembolsado US$ 16,7 bilhões pela Altera.

Comentários

Envie uma pergunta

Os mais notáveis

Comentários com a maior pontuação

Caleb Enyawbruce

Muito boa materia. E assunto muito interessante.

Ramon Gonzalez
Muito boa materia. E assunto muito interessante.
Ronaldo
Irrelevante, não preciso matar uma pessoa para saber que é errado. Mas respondendo sua pergunta, não é área do meu interesse.
Tales Cembraneli Dantas
Claro q não são, nem arduino é pic, possuem arquiteturas diferentes, usam linguagens diferentes mas usei apenas como exemplos próximos...
Gustavo Rotondo
arduino não é fpga. mt menos pic
Gustavo Rotondo
ja programou em um fpga?
Gabriel RB
Ótimo artigo. Valeu.
Ronaldo
Sim, eisso é feito no bitecode da arquitetura, diretamente em assembly (normalmente), o que não ta claro no texto, nem no proprio artigo da MS. Por isso falei da camada adicional. Ta parecendo mais um anel emulando uma camada de software do que reescrita.
Tales Cembraneli Dantas
Um exemplo básico desta tecnologia são os Arduinos e PICs amigo.
Tales Cembraneli Dantas
Amigo, não existe uma camada adicional, o que existe é a possibilidade de se reprogramar a camada de software (que já existe nos chips comuns), é exatamente o que já é feito nos microcontroladores PIC e nos famosos Arduinos. A diferença que para estes chips a Bios não é tão ROM assim, podendo ser reescrita e nada mais fica a mais "dentro" do chip pois estes softwares de desenvolvimento e gravação são todos externos. É um trabalho muito árduo pois estamos falando da camada mais baixa do software, onde vc trata diretamente com os endereços de memória e a arquitetura do hardware, mas com bons programadores, um programa específico neste nível vc consegue extrair muito mais do hardware para sua determinada função
JOSE HAROLDO SENA DE O. FILHO
Estes tais chips FPGA por um acaso não são memórias EPROM ou EAPROM muita mais evoluídas? O que me chama atenção é a programação algo que era possível nelas.
Renan Rufino
Sem contar com o que o texto fala: Não serve pro bing mais e agora tá no 365. Imagina a economia.
Ronaldo
Sei não. Toda camada adicional cria um overhead consumindo a toa recursos do hardware. Se houver uma economia referente a reutilização de hardware é até tolerável, prolongando sua vida útil, isso até seria interessante, mas seria definitivamente a única razão para isso. Como falamos de milhões de processadores e cpus, trocar o hardware a cada 2 anos ao invés de 1 faz muita diferença.
Christyan Yury
Amei, meus parabéns pelo texto.
leoleonardo85
Tipo de coisa que mesmo lendo sobre tecnologia o dia todo não sabia, sempre legal aprender mais.
Exibir mais comentários