Projeto InteGrade:
Projeto InteGrade: Interfaces
Interfaces Ubíquas
Ubíquas
Eliminando Ociosidade
Eliminando Ociosidade
http://gsd.ime.usp.br/InteGrade
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
1
Motivação
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
2
Abordagem Tradicional
Abordagem Tradicional
✵
✵
Supercomputadores
Máquinas Paralelas de alto desempenho
✵
Mais recentemente:
✵
✵
Aglomerados de PCs (clusters)
8, 16, 64, ... 512 PCs conectados via Fast
Ethernet
3
Problemas
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
4
Mais
Desperdício
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.
5
Baixíssima Taxa
Taxa dedeUtilização
Baixíssima
Utilização
✵
Exemplos:
✵
✵
✵
Computador da secretária que usa editor de
textos
IME/USP: 200 computadores em laboratórios +
100 computadores de professores...
Estimativa grosseira:
✵
Em um instante qualquer, aproveitamos menos de
1% da capacidade computacional instalada no
mundo.
6
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
7
Desafios de Pesquisa
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 :-)
8
Trabalhos
Trabalhos Relacionados
Relacionados
✵
Grades Computacionais:
✵
✵
✵
Globus
Legion
Ênfase em aproveitamento de máquinas
ociosas:
✵
✵
✵
Condor / Condor-G
SETI@home
BOINC
9
Condor
Condor
✵
Trabalho pioneiro do final dos anos 80:
✵
✵
✵
Mais recentemente:
✵
✵
University of Wisconsin at Madison
Condor: a hunter of idle workstations
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 :-(
10
SETI@hom
SETI@home
e
✵
✵
✵
✵
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.87x1021 operações
cliente: 6.423 linhas de C++ transportado para
175 plataformas diferentes.
11
Segurança
Segurança
✵
✵
O SETI@home foi feito de forma a evitar
problemas de segurança.
Mesmo assim, alguns problemas marginais
ocorreram:
✵
✵
hackers invadiram e roubaram emails dos
voluntários
foi criado um vírus de email p/ Windows que
instala o SETI@home na máquina e credita as
horas de processador para o criador do vírus.
12
Funcionamento do
Funcionamento do SETI@home
SETI@home
✵
✵
✵
✵
✵
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.
13
Limitações do
Limitações do SETI@home
SETI@home
✵
✵
✵
✵
✵
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%).
14
BOINC
BOINC
Berkeley Open
Open Infrastructure
Infrastructure for
for Network
Network Computing
Computing
Berkeley
✵
✵
✵
✵
✵
Novo projeto de Berkeley que tenta eliminar
algumas das limitações do SETI@home.
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
15
InteGrade
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.
16
InteGrade
Áreas de
de Pesquisa
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
17
InteGrade
InteGrade
Arquitetura
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
18
Dentro de um
Dentro de um Aglomerado
Aglomerado
19
Grade
Global
Grade Global
20
Concluindo
Concluindo
✵
✵
✵
Estamos criando repositório CVS acessível
publicamente.
Primeira versão prevista para 1o semestre de
2003.
Maiores informações:
http://gsd.ime.usp.br/InteGrade
21
Download

PPT