1 Projeto InteGrade: Interfaces Ubíquas Eliminando Ociosidade Alfredo Goldman, Fabio Kon, Marcelo Finger e Siang W. Song DCC – IME/USP Markus Endler e Renato Cerqueira DI – PUC-Rio Edson Cáceres e Henrique Mongelli DCT – UFMS Projeto InteGrade: I nterfaces Ubíquas Eliminando Ociosidade
2 Motivação ✵ Sociedade demanda a solução de problemas computacionalmente pesados: ✵ Previsão do Tempo ✵ Manipulação de Multimídia (vídeo, áudio, TV Interativa) ✵ Simulações de Tráfego de Veículos (CET) ✵ Análise de dados estatísticos (IBGE, Censo, etc.) ✵ Prospecção de Petróleo (Petrobrás) ✵ Simulações/Previsões no sistema financeiro ✵ Simulações Mercadológicas Motivação
3 Abordagem Tradicional ✵ Supercomputadores ✵ Máquinas Paralelas de alto desempenho ✵ Mais recentemente: ✵ Aglomerados de PCs (clusters) ✵ 8, 16, 64, PCs conectados via Fast Ethernet Abordagem Tradicional
4 Problemas ✵ Aglomerados custam muito caro ✵ Em geral, passam a maior parte do tempo ociosos ✵ Ocupam muito espaço ✵ Fazem muito barulho, esquentam ✵ Desperdício de recursos ambientais ✵ Somos um país pobre, não podemos nos dar ao luxo de jogar recursos fora desta forma Problemas
5 Mais Desperdício ✵ Hoje, qualquer instituição pública ou privada possui dezenas (ou centenas, milhares...) de computadores ligados à Internet. ✵ Computadores de ✵ Empresas: secretárias, pessoal administrativo, diretores, quiosques ✵ Universidades: professores, funcionários, laboratórios de pesquisas, laboratórios de alunos ✵ Residências, LAN houses etc. Mais Desperdício
6 Baixíssima Taxa de Utilização ✵ Exemplos: ✵ Computador da secretária que usa editor de textos ✵ IME/USP: 200 computadores em laboratórios computadores de professores... ✵ Estimativa grosseira: ✵ Em um instante qualquer, aproveitamos menos de 1% da capacidade computacional instalada no mundo. Baixíssima Taxa de Utilização
7 Solução ✵ Criação de uma infra-estrutura de software (middleware) para interligar estes computadores em uma grande Grade Computacional (Computational Grid). ✵ Grade = interligação de aglomerados ✵ Projeto InteGrade (USP/PUC-Rio/UFMS): ✵ Estamos apenas começando ✵ Já temos três bolsistas + dois alunos não bolsistas ✵ Obtivemos financiamento do CNPq Solução
8 Desafios de Pesquisa ✵ Não podemos atrapalhar os usuários tradicionais dos PCs que integram a Grade ✵ Como detectar quando uma máquina se torna livre? (encontrar padrões de utilização) ✵ Segurança ✵ dos computadores que fazer parte da Grade ✵ dos dados manipulados pelos programas que executamos ✵ Como descobrir dinamicamente onde estão os recursos computacionais de que preciso? ✵ Como cobrar pelo serviço? $$$ ou escambo :-) Desafios de Pesquisa
9 Trabalhos Relacionados ✵ Grades Computacionais: ✵ Globus ✵ Legion ✵ Ênfase em aproveitamento de máquinas ociosas: ✵ Condor / Condor-G ✵ ✵ BOINC Trabalhos Relacionados
10 Condor ✵ Trabalho pioneiro do final dos anos 80: ✵ University of Wisconsin at Madison ✵ Condor: a hunter of idle workstations ✵ Mais recentemente: ✵ Condor-G permite acesso a grades Globus ✵ Código-fonte e executáveis não disponíveis (???) ✵ Tentei obtê-lo várias vezes sem sucesso :-( Condor
11 ✵ University of California at Berkeley ✵ Search for Extraterrestrial Intelligence at home ✵ Protetor de tela baixado, instalado e executado voluntariamente por milhões de usuários. ✵ A aplicação que mais recebeu tempo de processador da história da computação: ✵ 2001: vazão de 27.4 TFLOPS; 1.87x10 21 operações ✵ cliente: linhas de C++ transportado para 175 plataformas diferentes. e
12 Segurança ✵ O foi feito de forma a evitar problemas de segurança. ✵ Mesmo assim, alguns problemas marginais ocorreram: ✵ hackers invadiram e roubaram s dos voluntários ✵ foi criado um vírus de p/ Windows que instala o na máquina e credita as horas de processador para o criador do vírus. Segurança
13 Funcionamento do ✵ Fitas com 35GB de dados são transportadas do observatório Arecibo para UCB. ✵ Servidor divide dados em unidades de 350KB e distribui para clientes via HTTP. ✵ Uma unidade é suficiente para manter clientes ocupados por cerca de 1 dia. ✵ Cada unidade é enviada para 2 ou 3 clientes para verificação de consistência. ✵ Resposta em geral tem apenas 1KB. Funcionamento do
14 Limita ç ões do ✵ So é capaz de resolver um único problema. ✵ Não é possivel atualizar o código sem intervenção manual nas máquinas dos voluntários. ✵ Os clientes decidem quando o protetor de tela vai entrar; o servidor central nunca toma iniciativas. ✵ Topologia em estrela; não há comunicacao entre os vários nós distribuídos ✵ Não é capaz de aproveitar processadores quando usuários estão ativos (mesmo que a utilização seja menor que 5%). Limita ç ões do
15 BOINC Berkeley Open Infrastructure for Network Computing ✵ Novo projeto de Berkeley que tenta eliminar algumas das limita çõ es do ✵ Projeto de código aberto: boinc.sourceforge.net ✵ Infra-estrutura genérica que permite a execução de qualquer algoritmo em um ambiente similar ao SETI. ✵ Ainda está em um estágio inicial de desenvolvimento. ✵ Ainda mantém algumas das limitações do SETI: ✵ topologia em estrela, outras ? ✵ mas é um projeto aberto: deficiências podem ser sanadas BOINC Berkeley Open Infrastructure for Network Computing
16 InteGrade Principais Inovações ✵ Código carregável dinamicamente: ✵ permite executar diferentes algoritmos ✵ permite atualização do próprio middleware ✵ Comunica çã o entre os clientes. ✵ O servidor mantém informa çõ es dinâmicas sobre os recursos disponíveis no passado, no presente e no futuro. ✵ Aproveitamento de recursos semi-ociosos. InteGrade Principais Inovações
17 InteGrade Áreas de Pesquisa ✵ Arquitetura geral do sistema (CORBA) ✵ Seguran ç a ✵ Monitoração de recursos (processador, memória, disco, rede, hardware específico etc.) ✵ Identifica çã o de padrões de uso e ociosidade ✵ entender o passado para prever o futuro ✵ Execução de diferentes classes de algoritmos paralelos ✵ Integração com sistemas ubíquos InteGrade Á reas de Pesquisa
18 InteGrade Arquitetura ✵ LRM - Local Resource Manager ✵ GRM - Global Resource Manager ✵ LUPA - Local User Pattern Analyzer ✵ GUPA - Global User Pattern Analyzer ✵ NCC - Node Control Center ✵ ASCT - Application Submission and Control Tool InteGrade Arquitetura
19 Dentro de um Aglomerado
20 Grade Global
21 Concluindo ✵ Estamos criando repositório CVS acessível publicamente. ✵ Primeira versão prevista para 1o semestre de ✵ Maiores informações: Concluindo