Projeto da Unicamp otimiza computação de alto desempenho em ambientes heterogêneos

Parceiro da Microsoft desde 2006, o laboratório do Instituto de Computação da Universidade de Campinas (Unicamp) vem desenvolvendo uma série de projetos relacionados a Computação de Alto Desempenho (mais conhecida pela sigla HPC, acrônimo para High Performance Computing). O projeto Virtual Cluster Orchestration System (ViCOS), publicado no Codeplex, por exemplo, busca prover uma infraestrutura heterogênea para processamento de aplicações de HPC sob demanda, levanto em conta os recursos disponíveis no ambiente físico. "A infraestrutura para HPC é muito cara e em muitos casos não é utilizada em sua totalidade", justifica Sandro Rigo, professor da Unicamp e um dos coordenadores do Laboratório de Sistemas Computacionais da universidade.

O objetivo é fazer um uso inteligente do processamento ocioso do ambiente, aproveitando momentos de ociosidade do sistema e também liberando os recursos que não estão sendo usados. O foco pode ser tanto em ganhos de desempenho como em economia de energia, usando conceitos de computação em nuvem para criar um ambiente flexível, econômico e tolerante a falhas para o processamento de tarefas de alto desempenho.

Interoperabilidade

Através dele, é possível integrar, numa mesma infraestrutura, clusters HPC de plataformas diversas - hoje a Unicamp trabalha com Windows HPC Server 2008 R2 e Plataforma open source baseada em Linux - e até mesmo formar um ambiente de propósito misto, contendo tanto clusters como máquinas de usos diversos. "Isso pode permitir que um laboratório da universidade, que contém máquinas dedicadas ao uso dos alunos, possa ser usado para executar tarefas de alto desempenho, usando o poder computacional ocioso do ambiente", exemplifica Rigo. "Isso tudo é feito sob demanda e automaticamente pelo sistema, de acordo com a carga de operação do ambiente."

O ViCOS faz uso de virtualização, usando Hyper-V Server 2008, de forma que os cluster HPC são formados por máquinas virtuais (VMs) rodando sobre o hardware real de forma transparente. Além disso, outros conceitos de computação em nuvem são usados para garantir que os clusters de alto desempenho virtualizados possam se adequar ao ambiente de acordo com a demanda.

Usando uma infaestrutura de um cluster de torelancia a falhas e técnicas como "live migration" de máquinas virtuais, características providas na tecnologia de "Failover Clustering" presente no Windows Server 2008 R2, é possível fazer com que as VMs sejam movidas pela sistema físico conforme a política de escalonamento adotada, que pode visar tanto um ganho de desempenho, balanceamento de carga ou até economia de energia. A migração transparente garante também que as VMs, que são os componentes dos clusters HPC, fiquem protegidas contra falhas nas máquinas físicas, uma vez que, em caso de problemas, as VMs podem migrar para uma máquina que esteja funcionando corretamente.