Notas de PesquisaUso da computação de alto desempenho no combate ao HIV

Kristin Firth e Mia Matusow

Que imagem que vem à mente quando você pensa em pessoas realizando uma pesquisa médica? Você imagina homens e mulheres de jaleco branco manipulando tubos de ensaio e microscópios? Ou talvez uma equipe de químicos em uma universidade ou empresa farmacêutica? Certamente, há imagens reais comuns ao campo de pesquisas médicas, mas elas representam apenas

um aspecto do campo. Na verdade, as pesquisas médicas são realizadas em locais bem distintos.

Você ficará surpreso com a participação da Divisão de Pesquisa da Microsoft no desenvolvimento de uma vacina contra o vírus da imunodeficiência humana (HIV). O mais incrível é que a Microsoft está fazendo isso sem usar maçarico de laboratório. O local se parece com um escritório comum, com mesas de trabalho e vários PCs.

Afinal, qual é a função da Microsoft nesta pesquisa? O pessoal de jaleco branco – os cientistas de várias universidades e centros de pesquisa, incluindo o Mass General em Boston, a Universidade de British Columbia, a Universidade de Washington, o Fred Hutchinson Cancer Research Center e a Murdoch University na Austrália – coleta um grande volume de dados em seus projetos. O grupo eScience da Divisão de Pesquisa da Microsoft — que consiste em seis pessoas, a maioria delas localizada em Redmond, WA (e uma pessoa no Novo México) — ajuda os pesquisadores a processar e analisar esses dados. A Divisão de Pesquisa da Microsoft começou a se envolver neste projeto em 2003. Hoje, o grupo eScience colabora com os cientistas em diversos projetos sobre assuntos que afetam a sociedade. A equipe trabalha junto a cientistas externos, criando soluções personalizadas para projetos, manipulando números e analisando resultados.

Em um projeto de alta prioridade, a Microsoft está ajudando a analisar dados relativos aos padrões de mutação do HIV. David Heckerman, MD, PhD, pesquisador sênior da Microsoft, explica que o HIV sofre mutações rápidas quando atacado pelo sistema imunológico de uma pessoa infectada. "Estamos desenvolvendo um estudo para tentar determinar as mutações do HIV em resposta ao sistema imunológico do hospedeiro. Para fazer isso, estamos buscando correlações entre o tipo de sistema imunológico de um indivíduo e as seqüências de proteína HIV que o infectam".

Cientistas utilizam amostras de pessoas infectadas com HIV para determinar seus tipos de sistema imunológico e as seqüências de HIV. É nesse momento que a manipulação de números entra em cena. O estudo busca correlações entre 3 mil aminoácidos HIV e centenas de tipos de sistemas imunológicos em vários indivíduos. "Criamos testes estatísticos que geram correlações mais confiáveis, com um número reduzido de falsos valores positivos e negativos", diz Carl Kadie, PhD, principal engenheiro de desenvolvimento de software de pesquisas da Microsoft. "Contudo, esses testes exigem grande potência computacional, e quanto mais tópicos incluirmos, melhor. A idéia é executar milhões de simulações para revelar as correlações mais confiáveis".

Uso do HPC para combater o HIV

Alguns anos atrás, limitações de processamento dificultavam esforços de pesquisa. Contando com apenas seis computadores, os pesquisadores da Microsoft envolvidos neste projeto não tinham poder de processamento suficiente para executar a análise em tempo adequado. Eles levariam um ano inteiro para analisar apenas 200 sujeitos, pois precisariam verificar todas as posições do genoma da vacina e os diferentes tipos imunológicos. Mesmo que os pesquisadores dispusessem de 20 computadores para dedicar a essa análise, ainda enfrentariam a dificuldade de conseguir executar manualmente testes em cada um dos 20 computadores, recebendo 20 conjuntos de resultados separados, e precisariam de outro programa (e também de mais tempo) para tabular os conjuntos de resultados separados. Eles precisariam de muito tempo para gerenciar vários trabalhos, coletar o resultado parcial e realizar todas as demais tarefas individuais. Então, eles recorreram ao grupo HPC (processamento de alto desempenho) da Microsoft.

Em 2006, os pesquisadores implementaram o Windows® Compute Cluster Server 2003. Essa solução do HPC ofereceu aos pesquisadores uma forma simples de aproveitar o poder do trabalho conjunto de vários computadores. Basicamente, o Windows Compute Cluster Server permite a distribuição do trabalho em nós do servidor executados em paralelo. A tarefa de distribuir dados entre nós, gerenciar os dados e combinar os resultados é totalmente automatizada. A solução inclui procedimentos de configuração, um conjunto de ferramentas de gerenciamento e um programador de trabalhos integrados.

Finalmente, esta solução permitiu resolver os problemas técnicos mais significativos: a capacidade computacional deixou de ser limitada, e o processo de distribuição de trabalho e gerenciamento de dados foi totalmente automatizado.

A configuração

Para a Divisão de Pesquisa da Microsoft, a abordagem do cluster de computadores foi uma grande vantagem. O Windows Compute Cluster Server 2003 é ideal para projetos envolvendo aplicativos que executam a mesma operação repetidas vezes. Por exemplo, quando é possível acelerar a análise e a solução de problemas através da execução de tarefas em paralelo. Contudo, deve-se lembrar que a implantação dessa solução exige grande capacidade computacional de alto desempenho, especialmente em termos de potência e esfriamento. Isso envolve o emprego de vários servidores que costumam ser executados com 100% de utilização da CPU por várias semanas.

Os próximos passos são determinar o tamanho de cluster acessível para a organização e seu local de armazenamento. Se um ambiente já for baseado em Windows, com um Active Directory® ativo, administradores terão a infra-estrutura necessária para instalar, implantar e suportar um cluster. Em ambientes onde o Active Directory não está em uso, são necessárias algumas etapas adicionais de configuração.

Decida também como deseja prover nós no cluster de computação. Isso significa que você precisa escolher as ferramentas que acompanham o Windows Compute Cluster Server 2003 ou suas próprias técnicas de implantação interna. Implante o próprio Windows Compute Cluster Server 2003 junto com os aplicativos de software a serem executados no cluster. Também é preciso definir o acesso do usuário ao cluster para que usuários possam se conectar ao cluster e submeter trabalhos. Isso pode ser feito através da interface gráfica de usuário incluída ou das interfaces de linha de comando.

O Windows Compute Cluster Server 2003 é um sistema operacional de 64 bits. (A arquitetura típica de um ambiente Windows Compute Cluster Server 2003 é ilustrada na Figura 1.) Quando esta coluna estava sendo escrita (junho de 2007), a Divisão de Pesquisa da Microsoft estava executando vários aplicativos diferentes em um cluster criado em 326 servidores do 25 IBM eServer. Cada um desses servidores apresenta dois processadores AMD Opteron executados a 2.6 GHz.

Figura 1 Como aproveitar o poder do Windows Compute Cluster Server 2003

Figura 1** Como aproveitar o poder do Windows Compute Cluster Server 2003 **(Clique na imagem para aumentar a exibição)

Após implantar o Windows Compute Cluster Server, o grupo atualizou o aplicativo utilizado para executar a correlação genética a ser executada no cluster. A complexidade da implantação de aplicativos para clusters de computadores pode variar. Os próprios aplicativos influenciam na quantidade de programação necessária.

Primeiramente, o grupo utilizou as ferramentas criadas no Windows Compute Cluster Server para definir rapidamente uma IU genérica. Mas essa foi apenas uma correção rápida. O grupo logo criou seu próprio aplicativo Web personalizado, que permite maior flexibilidade e suporta a opção de expor alguns nós de cluster a cientistas localizados fora da Microsoft. Na realidade, a Microsoft faz parte do Open Grid Forum e alguns dos clusters do Centro de Pesquisa da Microsoft estão disponíveis a usuários de outras universidades ao redor do mundo, permitindo que pesquisadores colaborem uns com os outros e compartilhem a carga de trabalho.

Além das interfaces gráficas de usuário, o Windows Compute Cluster Server também suporta operações de linha de comando, permitindo que usuários gravem scripts. E ele oferece APIs sofisticadas que podem ser usadas para gravar programas que interagem diretamente com o programador de trabalhos do Windows Compute Cluster - uma técnica que o Centro de Pesquisa da Microsoft decidiu utilizar.

Como obter resultados

Graças ao uso de computadores de alto desempenho, o grupo eScience da Divisão de Pesquisa da Microsoft está fazendo enormes progressos na corrida para desenvolver uma vacina contra o HIV. "Graças aos computadores de alto desempenho, conseguimos compreender melhor as coisas", diz Heckerman. "Vários dos grupos externos com os quais temos colaborado agora utilizam nossas técnicas estatísticas e compartilham suas descobertas. Como resultado, cientistas já estão apresentando novas hipóteses para teste. Antes, levaríamos um ano para obter resultados para cada etapa do processo. Agora, isso leva apenas um dia".

Antes do Windows Compute Cluster Server, os métodos utilizados pela Divisão de Pesquisa da Microsoft seriam impraticáveis em função do tempo necessário para executar a análise. Segundo Kadie: "O Windows Compute Cluster Server nos permite executar 50 trabalhos, cada um com 200 mil itens, no mesmo tempo que gastaríamos para executar 1 trabalho".

Agora que o grupo eScience possui vários recursos de computação disponíveis, ele pode realizar testes com várias execuções em dados simulados. As execuções nos dados simulados são essenciais para determinar os resultados em dados reais relevantes. Quanto maior o número de simulações, mais confiáveis serão os resultados.

Lições aprendidas

É claro que a Divisão de Pesquisa da Microsoft se beneficiou da utilização do Windows Compute Cluster Server, mas o relacionamento é simbiótico por natureza. Desenvolvedores do grupo de Computação de Alto Desempenho, que estão trabalhando em uma segunda versão do Windows Compute Cluster Server, continuam a aprender muito com os comentários fornecidos pelo grupo eScience.

O grupo HPC, em especial, aprendeu muito sobre a alocação de recursos, ao monitorar e analisar o comportamento do cluster da Divisão de Pesquisa da Microsoft para determinar a melhor forma de equilibrar recursos do cluster entre vários usuários. Por exemplo, neste projeto, um usuário costuma criar um trabalho de cada vez, com uma média de 50 tarefas associadas a cada trabalho. O usuário submete o trabalho e o gerenciador de trabalhos do Windows Compute Cluster aloca recursos suficientes para gerenciar todas as 50 tarefas. Para fazer isso, ele logo declara que todos os nós disponíveis no cluster devem trabalhar nas tarefas. Este cenário não deve ser problemático em ambientes de um único usuário, mas ele se torna um problema em ambientes com múltiplos usuários, onde é muito importante que projetos tenham um progresso simultâneo.

No momento, quando 10 das 50 tarefas de trabalho são concluídas, 10 servidores não são liberados. O gerenciador de trabalhos aguarda a conclusão de todas as 50 tarefas do trabalho antes de liberar os servidores para resolver outro trabalho. Desenvolvedores do HPC estão trabalhando agora para descobrir uma forma de realocar recursos ao concluir cada tarefa, e não o trabalho inteiro.

A Divisão de Pesquisa da Microsoft também recorreu ao grupo HPC para ajudar a resolver problemas específicos relativos à forma em que os pesquisadores desejavam utilizar o Windows Compute Cluster Server. Notadamente, os pesquisadores desejavam configurar a segurança para que credenciais do usuário se propagassem automaticamente do Web front-end para o cluster de computadores. A solução era trabalhar no Microsoft® .NET Framework e estender a autenticação de formulários ASP.NET para que o aplicativo Web pudesse fornecer os nós de cluster com credenciais completas de usuário, cada vez que um usuário submetesse um trabalho.

Agora os membros da equipe eScience da Divisão de Pesquisa da Microsoft e seus colegas do mundo inteiro podem se concentrar nas partes mais importantes de seus trabalhos, deixando todas as tarefas relativas a processamento e gerenciamento de dados para os computadores. "Como resultado, podemos avançar como equipe", diz Heckerman. "Estamos conseguindo ultrapassar os limites em termos do conhecimento sobre o HIV, com grande avanço no combate à doença".

Kristin Firth e Mia Matusow, ambas da Blue Line Writing & Editing, passaram a última década criando conteúdo estratégico para organizações empresariais nos setores público e privado em três continentes.

© 2008 Microsoft Corporation e CMP Media, LLC. Todos os direitos reservados. A reprodução parcial ou completa sem autorização é proibida..