Hoje no DCC/UFMG assisti a uma palestra do Stuart Feldman, presidente da ACM e VP de Engenharia do Google. Ele abordou tudo com muito bom humor, e deu respostas afiadas às perguntas da platéia.

Um cara bem informado: na prateleira, Ray Kurzweil e o Kama Sutra.
Como se não bastasse, ele inventou e escreveu o make, criou o primeiro compilador Fortran77, foi beta-tester na criação da linguagem C++ - tudo isso obra de um PhD em astrofÃsica.
Vamos então aos tópicos da palestra
já avisando que ela contém doses médias de filosofia técnica.
[ O Presente ]
Segundo Feldman, estamos em um momento muito particular na história da Tecnologia. Pela primeira vez, duas coisas muito interessantes acontecem:
- As CPUs não estão ficando mais rápidas, e sim mais lentas - mas estão combinadas em uma arquitetura multicore
- Durante os próximos 5 anos, a capacidade de processamento vai crescer em uma taxa maior que o número de páginas na Web
Para o leitor sem muita base em tecnologia, o 1.o item significa que processadores com uma frequência menor (menos GigaHertz) são combinados em dois, quatro ou mais núcleos para ganharem mais poder computacional. O segundo item significa que - durante algum tempo - os pesquisadores do Google terão uma faca mais que suficiente para o queijo gigante que têm nas mãos (nota: não culpem o Feldman pela metáfora, ela é minha)
Ao mesmo tempo em que o item 1 possibilita novos insights em tecnologia, ele irá criar um gap entre o poder de processamento e os algoritmos que façam uso dele. Em outras palavras, temos um mar de novos algoritmos a serem criados, e uma infinidade de problemas da vida real a serem modelados e resolvidos.
[ O Futuro da Computação ]
Dando um exemplo prático, Stuart citou que a Saúde Pública dos EUA joga fora anualmente um valor igual à metade do PIB brasileiro em papelada inútil - ou seja, formulários que vão direto para o arquivo morto. Ele usou esse fato para embasar uma pergunta: não deveriam ser as disciplinas não-tecnológicas o foco da pesquisa na Ciência de Computação? Ou seja, será que o futuro da Computação não estará na busca pró-ativa de problemas MUITO complicados em outras áreas, ao invés de algoritmos e publicações para subir a média das faculdades nos órgãos avaliadores? Esse último trecho é uma interpretação minha.
Afinal, fala-se hoje de petaflops em poder de computação, e já se divaga sobre hexaflops. Que tal direcionarmos esse poder para processar quantidades massivas de informação que nunca foram tratadas antes?
(sim, você entendeu certo. É aà que entra…)
[ O que o Google faz com isso tudo ]
Stuart Feldman definiu a coisa assim: o modelo de hipertexto criado por Tim Berners-Lee é tecnicamente inferior à teoria formal de hipertexto. Ele decidiu que a Web teria documentos hipertexto com links unidirecionais - ou seja, a página A aponta para a página B sem que B saiba disso de imediato. A teoria de hipertexto diz que links devem ser bidirecionais, permitindo a realização de buscas locais - mais simples e com menor custo computacional. Como isso não acontece, aparece a necessidade de uma busca global: ou seja, deve-se copiar todo o conteúdo da Web para depois estudá-lo e definir as relações entre as páginas.

Essa “bug” da Web foi exatamente a causa de seu sucesso: ele permitiu uma expansão explosiva porque usuários não-acadêmicos puderam usá-la sem complicações… e graças a isso, a Web é um grafo não-estruturado que virou um prato cheio para Larry Page e Sergey Brin. (Nota: também por isso, Berners-Lee parou para formalizar a teoria da Web Semântica e redefinir sua invenção).
Para complicar, a Web muda constantemente, e os hábitos de seus usuários também. Por isso, aumentar a qualidade dos algoritmos de busca implica em mudá-los constantemente, indo bem além do PageRank e considerando taxas de clickthrough em respostas, mudanças nas tendências dessas taxas e mudanças nas tendências das próprias palavras-chave.
Toda aplicação no Google obedece a três premissas - deve ser distribuÃda para ser escalável, ser tolerante a falhas e ter alto desempenho. Para tratar o problema da recuperação de informação nesse contexto, o Google desenvolveu algoritmos e ferramentas que são marcos históricos na pesquisa em Ciência da Computação. A definição do Bigtable e a criação de técnicas especÃficas de Mapreduce permitem um poder computacional sem igual no mundo de hoje. Eles foram então complementados pelo Chubby e o GoogleFS para formar a base de serviços da empresa.
[ Conclusão ]
Feldman afirma o Google é um “Caos auto-gerenciado com pequenos times de pessoas brilhantes”. Graças a essa estrutura, foi possÃvel fazer o que ele propõe como o futuro da Ciência da Computação: aplicar pesquisa teórica em áreas diversas, focando no fim (tornar a informação disponÃvel) e não no meio (a tecnologia).
Ele terminou dizendo que isso torna obsoletas as antigas regras de engenharia de software, mas faz também com que as novas ainda sejam insuficientes para resolver o problema. E que até isso ser solucionado, as equipes recebem instruções como “fica pronto até sexta?” e devem sempre responder “claro!”.
Ou você imaginava que lá seria diferente do mundo real? ![]()
muito bom artigo!
Olá,
Parabéns pelo Post, excelente, e dá muito o que pensar.
[…] Stu Feldman comentou uma coisa interessante na palestra de quarta, e eu queria repassar […]