RIO - Entrevista com Dilma da Silva, pesquisadora e gerente do grupo avançado de sistemas operacionais da IBM, e José Eduardo Moreira, arquiteto-chefe no centro de pesquisa Thomas J. Watson da IBM.
Qual é a história do Projeto Kittyhawk?
DILMA DA SILVA (DS): O projeto começou em janeiro de 2007.
JOSÉ MOREIRA (JM): Mas é claro que, como todo projeto de pesquisa, ele é fruto de trabalhos e estudos anteriores.
DS: A motivação do projeto era tentar entender como projetar uma nova geração de computadores que tivesse a capacidade de executar o tipo de computação que existe hoje na era web de forma a oferecer as características que estão faltando nos data centers de hoje, sendo uma delas a escalabilidade. Suponha que você acaba de criar um serviço online que rapidamente se transforme num fenômeno mundial de acessos, algo como aconteceu com o YouTube. A escalabilidade é a capacidade de rapidamente (em poucas horas) crescer o seu sistema, adicionando centenas ou até milhares de novos servidores a um serviço, e integrando-os em um tempo mínimo.
Qual a diferença dessa abordagem para a dos "clusters" de computadores, em que várias máquinas baixo custo vão sendo ligadas umas às outras, formando um conjunto com grande poder de processamento?
DS: Nos clusters, supondo que você tenha dinheiro para isso, ainda será necessário comprar os computadores de mais baixo custo, abrir os pacotes, instalar, integrar e conectar o conjunto à rede. Mesmo para os centros que já têm esse processo bem ensaiado, ainda demora muito. Outra questão muito importante é a da segurança, ou seja, a possibilidade de ter vários "workloads" (tarefas computacionais) rodando na mesma máquina, permitindo a convivência de vários sistemas e aplicações independentes sem que uma interfira com a outra. Por exemplo, pode-se ter rodando num mesmo data center os sistemas da Coca-Cola e da Pepsi, sendo que nenhuma das duas tarefas tenha acesso às áreas da concorrente, ou seja, com total garantia de isolamento.
JM: Sim, no caso do Kittyhawk há também a questão da escalabilidade, que é a possibilidade de realizar computação em escala global e atender dinamicamente à demanda.
DS: Quando se compra um computador novo, é preciso levar em conta o "Total Cost of Ownership", ou seja, o custo total de comprar, manter e utilizar o sistema. O consumo de energia também é uma questão fundamental, além do quanto você precisará gastar para manter o sistema funcionando normalmente e de quantas pessoas você vai necessitar para gerenciar o sistema.
Como foi a gênese do projeto?
DS: Quando começamos a pensar em construir o computador do Projeto Kittyhawk, a equipe daqui observou que já tínhamos o Blue Gene, cuja equipe de desenvolvimento foi chefiada pelo José Moreira, na parte de software. É um computador cujo "empacotamento" é bem parecido com o que desejávamos. A equipe teve então uma visão inovadora de como utilizar essa plataforma já existente com uma finalidade que vai além de sua proposta original. Assim, considerando as questões de arquitetura de rede, do consumo de energia, e de quanto espaço físico o Blue Gene ocupa num centro de processamento de dados, concluímos que tudo isso estava bem na linha do que estávamos precisando.
E qual foi o primeiro passo?
DS: A primeira coisa que a equipe do Kittyhawk fez foi conseguir executar código geral, em Linux, no Blue Gene. Executamos o chamado "vanilla Linux", ou seja, "Linux baunilha", a versão mais usual e completa do sistema operacional, aquela que está disponível para todos os usuários no www.kernel.org . Pusemos para rodar essa versão em todos os processadores do Blue Gene, tirando total proveito das características únicas desse supercomputador.
Quantas pessoas fazem parte dessa equipe?
DS: São quatro pessoas, além de José e eu. Eu gerencio a equipe e o José é gerente de um outro esforço coligado aqui dentro da empresa, ou seja, participa do nosso projeto como assessor.
Com relação a prazos? Quando se pode esperar um Kittyhawk em pleno funcionamento?
DS: Desde o início do projeto até o presente momento, temos usado a nova plataforma apenas para um cliente. Ele é do setor financeiro, é o TD Bank Financial Group . E agora estamos oferecendo essa plataforma para aplicações de "cloud computing", mas não temos prazos para entregar um produto pronto. [Um dos testes com esse banco é o exame em tempo real de fontes de informações de dão suporte a companhias financeiras à medida que elas movimentam capital, com base em dados sobre as condições de mercado, que flutuam a cada instante. - c.a.t.]
JM: E, na verdade, não se pode falar em prazos, pois ainda é um projeto de pesquisa.
Absorver a internet inteira é um objetivo real e palpável, ou apenas uma meta teórica?
DS: Nosso objetivo é ter a capacidade de absorver toda a computação da internet. É um objetivo simbólico, no sentido de que várias outras empresas grandes estão fazendo anúncios em "cloud computing", como por exemplo a Microsoft. Ou seja, existem vários agentes interessados em hospedar pedaços grandes da computação global da grande rede.
JM: Mas acho que é um símbolo que representa bem o projeto, pois tem foco na escalabilidade dos computadores, que foi o que o Blue Gene trouxe em termos de hardware, e também na generalidade do software, que permitiu rodar programas globais numa plataforma web.
A adaptação para criar o Kittyhawk foi uma questão de hardware ou de software?
JM: Foi só de software, não houve nenhuma mudança de hardware, ainda.
DS: A experiência atual que estamos fazendo coleta informações que são passadas para os projetistas de hardware, para que esses dados sejam usados em novas gerações de computadores.
JM: Sim, são experimentos que podem afetar gerações seguintes desse supercomputador, mas por enquanto foi apenas um trabalho de software.
Como vocês vêem a possível aceitação ou o provável repúdio da comunidade que usa a internet diante da proposta de um computador gigantesco, de um só fabricante, se propondo a engolir a internet toda?
DS: Do ponto de vista do usuário final, em muitos aspectos, a questão seria totalmente transparente. Mas certamente haveria um impacto com respeito à sociedade, ou seja, haveria um receio com relação a ficar dependente de um conjunto de recursos que tenderia a ficar mais centralizado. Portanto, é um fenômeno que poderia ocorrer. E que, aliás, já acontece, quando as pessoas já esperneiam quando vêem a quantidade de informações que são centralizadas pelo Google e pelo Yahoo!, que ficam conhecendo bastante a nosso respeito a partir de nossas buscas, nossos contatos e nossas preferências. Recentemente, um membro de nossa equipe, Jonathan Appavoo, deu uma palestra em que falava um pouco sobre essa antiga questão. Mesmo na década de 60, quando se começou a falar em "Utility Computing" ou Computação Utilitária (eletricidade, água, telefone etc.), já eram levantadas questões éticas para a sociedade como. O Appavoo fica bem mais dedicado a essas questões de sociedade, ao passo que eu fico bem mais focada nas questões de tecnologia.
JM: Tem sido uma preocupação integrante da equipe do Kittyhawk o desenvolvimento de um sistema que não seja uma camisa de força para o usuário. Eu acho que o Jonathan, o Volkmar, o Bryan e o Amos, que fizeram todo o desenvolvimento técnico em si, sempre procuraram uma abordagem que não impusesse uma restrição, pelo contrário, buscaram uma abordagem que permitisse às pessoas explorar o que fazer com um recurso computacional dessa magnitude. O sistema usa padrões abertos de segurança por criptografia, ou seja, ninguém está forçando o usuário em nenhum sentido. Existe também uma flexibilidade. Se o usuário não ficar satisfeito com uma abordagem, ele pode trocar algum módulo que não seja do seu agrado, por exemplo, o usuário pode mudar o algoritmo de criptografia.
DS: A idéia é que, no futuro, se uma plataforma assim existir de forma que possa hospedar a web toda como uma aplicação, haverá serviços construídos em cima de serviços. Ou seja, alguém oferece o serviço mais cru, ou seja, o processamento, a memória, a conexão à rede e a conexão ao armazenamento. E aí, uma outra empresa, em cima disso, poderá oferecer uma outra categoria de serviços, por exemplo, uma característica especial de segurança. Haveria então diversas ofertas de serviços que utilizariam os recursos básicos de modo a atender esta ou aquela necessidade específica. É assim que a coisa deve evoluir, e não com uma única empresa oferecendo uma camada vertical de serviços em que não exista muita escolha. Essa abertura para novas idéias e serviços é um dos fundamentos do projeto Kittyhawk.
O que tem de único no design do Blue Gene?
JM: O grande diferencial do Blue Gene é o fato de ter sido concebido desde o início para escalar para tamanhos muito grandes. Não foi um sistema que começou pequeno para ir crescendo aos poucos. Não foi como um cluster, que começa com um único computador de pequeno porte e depois vai recebendo novos computadores, que vão sendo interconectados, e assim sucessivamente. Ele foi criado para crescer desde dezenas de milhares até milhões de processadores. Isso reflete desde o projeto do chip, passando pelo projeto das interconexões, até as características de confiabilidade da máquina, o princípio de gerenciamento. Ou seja, não é algo que foi forçado a crescer. Já é grande desde o começo.
DS: Nessa concepção, a rede já é parte do computador.
JM: Isso mesmo, não são coisas separadas que foram interconectadas depois. A interconexão entre os "nós" faz parte da máquina. Da mesma forma, a conexão da máquina com o mundo exterior é bastante poderosa e também escalável.
De acordo com uma recente reportagem no "The Register", uma máquina Kittyhawk pode ter até 67,1 milhões de processadores. Vocês já chegaram a montar uma configuração desse tamanho ou esse limite ainda é teórico?
JM: É um limite teórico. O maior supercomputador Blue Gene já montado tem 104 racks, ou seja, 106.496 nós, e está funcionando no LLNL (Lawrence Livermore National Laboratory). Nós poderíamos fazer algo maior, mas por enquanto ninguém quis comprar. A arquitetura comporta esse limite, mas no momento não acho que apareça alguém que vá pedir uma configuração desse tamanho. Certamente haveria algumas dificuldades de engenharia para se atingir uma configuração máxima, questões de cabeamento, de refrigeração, mas o conceito suporta até esse tamanho.
DS: Uma informação que talvez interesse ao seu leitor é o fato de que essa máquina é bastante confiável, ou seja, ela falha muito pouco. Ela é cerca de 100 vezes melhor em termos de tempo médio entre falhas (MTBF = "mean time between failures") do que os computadores comuns.
JM: E tem que ser assim, numa máquina planejada para crescer tanto. Caso contrário ela não sobreviveria, precisa ser uma máquina muito resistente.
Esses 16.384 racks conseguiriam abrigar a internet inteira?
DS: Estimando o tamanho da internet toda, com base nos relatórios do IDC e de outras fontes, chegou-se a um número total de servidores fazendo a computação da rede inteira. Com base nesse número, projetamos o Kittyhawk com poder suficiente para rodar a internet inteira.
? E quanto à localização geográfica desses racks para abrigar toda a internet?
JM: De acordo com essa proposta de absorver a rede inteira, seriam necessários alguns centros grandes, não apenas um único data center, pois seria perigoso em termos de segurança e mesmo diante de possíveis catástrofes naturais.
DS: Do ponto de vista geopolítico não seria interessante concentrar tudo num só local.
? Quantos seriam esses centros geograficamente distintos que permitiriam absorver a internet inteira sem oferecer grandes riscos?
DS: Muito da ciência básica de computação trabalha com um nível de replicação com entre cinco e seis centros de dados.
JM: Poderíamos dizer, em ordem de magnitude, que seriam cerca de dez centros grandes espalhados pelo mundo.
Matutando um pouco em cima do conceito geral, pode-se dizer que essa "mensagem" de que a idéia primordial do Kittyhawk é engolir a internet inteira é só força de expressão, servindo para ilustrar a capacidade do supercomputador rodar tarefas da web com perfeição e escalabilidade. Serve como poderoso argumento de marketing para a "Big Blue" (apelido da IBM) vender esta solução para clientes grandes. É claro que jamais a comunidade inteira da internet permitiria que toda a rede ficasse hospedada nos computadores de um só fornecedor, seja IBM ou qualquer outro, mesmo que seja uma máquina fabulosa como o Blue Gene upgradeado ao máximo. Isso me veio à mente com mais força quando lhes perguntei quantos data centers geograficamente distribuídos seriam necessários para o Kittyhawk hospedar a web inteira no planeta todo. E vocês não tinham um número pronto, apenas uma ordem de grandeza. Ok, ok, O Kittyhawk poderá até engolir pedacinhos da web, como hoje faz o Google com seus "clusters de baixo custo", que certamente já não são simplesmente PCs interconectados... há muito tempo. O Kittyhawk poderá até engolir pedações da web. Mas nunca a rede inteira, isso seria demais e nunca entraria goela adentro nem dos internautas, nem dos concorrentes. Obviamente, isso não denigre a grandiosidade do Projeto Kittyhawk, mas será que o mote "engolir a internet inteira" não seria quase uma pequena bravata?
DM: A imagem forte tem como principal objetivo esclarecer a escala para a qual estamos investigando a arquitetura de hardware e software. É uma afirmação sobre a capacidade tecnológica. Muitos fatores impactam a possibilidade desta visão se tornar realidade, e a gente está focalizando essencialmente no aspecto cientifico e de engenharia. De uma forma mais geral, "utility computing" sendo provida por um pequeno número de fornecedores viria com muitos desafios. Na minha opinião, em outras indústrias a sociedade aceita esta dependência num número pequeno de fornecedores, pois o alto nível de investimento exigido restringe o número de participantes. Em computação, porém, é bem possível que isso não seja verdade. Mas imagine que um supercomputador integrado e projetado para hospedar pedaços enormes da internet inteira consiga, via economia de escala e características especiais do computador, diminuir o custo de prover poderio computacional num patamar em que fornecedores menores não tenham condições de competir. Nesse caso, é possível imaginar que umas pouquíssimas empresas serão responsáveis por prover a maior parte dos recursos computacionais consumidos pela sociedade. Em resumo, sua matutação está correta, mas ao mesmo tempo não é possível afirmar que o modelo que temos hoje em dia vai continuar em voga.
E como vocês se sentem, tão à frente no mundo tecnológico?
DS: Esse é um dos atrativos em se trabalhar em tecnologia de ponta.
JM: É muito gratificante trabalhar num projeto assim, desbravando as fronteiras da tecnologia. Em geral, a defasagem entre a pesquisa e o produto em si pode variar entre cinco a dez anos. O Blue Gene, por exemplo, foi um caso assim. Cinco anos depois do início do projeto, as pessoas já estavam trabalhando com a máquina.