Notas de Aula - MAC 5755 - Sistemas Operacionais Distribuídos
Aula 24 - 21/11/2001
Computação em Grade (Grid Computing)
-
Até meados dos anos 90 fazia sentido construir-se grandes máquinas
paralelas.
-
Com a mudança no HW, passou a ser mais vantajoso a utilização
de aglomerados (clusters) de máquinas.
-
Globe, Legion e Globus são sistemas de middleware que permitem a
união de diversos aglomerados em uma grande Grade através
da Internet.
Globe
-
Tanenbaum e Maarten van Steen, Vrije Universiteit, Holanda (1995 ->
2001 ->)
-
http://www.cs.vu.nl/globe
-
O objetivo não é só computação de alto
desempenho mas sim a
-
Construção de Sistemas Distribuídos de Grande Escala
em Redes de Grande Área
-
É baseado no paradigma de Objetos Distribuídos Compartilhados
-
O sistema é composto de milhões ou bilhões de objetos
compartilhados
-
Usuários autorizados podem chamar os métodos dos objetos
-
Tais métodos podem
-
devolver o conteúdo de uma página da teia (como um servidor
HTTP)
-
devolver o conteúdo ou parte de um arquivo
-
receber como argumento uma mensagem de email (como um servidor SMTP)
-
realizar uma operação em um banco de dados de escala mundial
-
ou seja, qualquer coisa que se faz em um sistema distribuído mas
sempre usando o mesmo modelo OO
-
Objetos são distribuídos fisicamente com cópias ativas
em vários sítios
-
Aplicações carregam parte do objeto em seu espaço
de endereçamento para participar do objeto compartilhado. Esse modelo
foi antes chamado de Objeto Fragmentado por Marc Shapiro no sistema
SOS.
-
Usuários podem contactar qq. cópia do objeto sem saber sobre
a estrutura interna do objeto e como ele está distribuído/fragmentado.
-
Desta forma, fica transparente para o usuário os métodos
e protocolos utilizados dentro do objeto paraparticionamento de dados,
replicação, consistência e tolerância a falhas.
-
Implementação
-
o nome dos objetos é independente de sua localização
-
objetos são divididos em
-
sub-objeto de controle
-
sub-objeto de comunicação
-
sub-objeto de replicação
-
sub-objeto de segurança e
-
sub-objeto de semântica (que faz o trabalho funcional do objeto)
-
Os 4 primeiros são implementados por bibliotecas ou por um compilador
-
O usuário escreve o sub-objeto de semântica e define quais
as políticas não-funcionais (replicação, segurança,
etc.) devem ser utilizadas; o sistema se encarrega de construir o objeto
inteiro.
-
Aplicação atual:
-
Um bom artigo sobre o Globe:
Legion
-
Andrew Grimshaw, University of Virginia, EUA (1993 -> 1997 (primeira
versão) -> 2001 ->)
-
http://legion.virginia.edu
-
Grid OS, Metacomputing, Metacomputer
-
Requisitos de um OS para Grades:
-
grande área
-
alto desempenho
-
gerenciamento de complexidade
-
extensibilidade
-
segurança
-
autonomia dos sítios
-
entrada / saída
-
heterogeneidade
-
tolerância a falhas
-
escalabilidade
-
simplicidade
-
espaço de nomes único
-
gerenciamento de recursos
-
independência de plataforma
-
multi-linguagem
-
suporte a sistemas existentes (legacy systems)
-
Voltado para aplicações massivamente paralelas
-
engenharia de materiais
-
modelos atmosféricos e oceanográficos
-
previsão do tempo
-
modelos econômicos
-
processamento de imagens
-
simulações de crescimento/desmatamento de florestas
-
simulações mercadológicas
-
Abordagem:
-
divide um grande problema em partes similares mas independentes
-
envia cada parte para um aglomerado (cluster) diferente
-
desejamos um alto grau de comunicação dentro de uma máquina,
grau médio dentro de um aglomerado e grau baixo entre os diversos
aglomerados conectados via Internet.
-
pode-se também dividir o problema de forma diferenciada onde cada
sítio executa aquilo no qual ele é especialista:
-
aglomerado na UCLA gera pré-condições
-
resultados são armazenados nos HPSS (High Performance Mass Storage
System) de UCSD
-
grandes máquinas paralelas do MIT executam simulação
usando as pré-condições e os dados
-
colaboradores em outras instituições acompanham o andamento
da simulação remotamente
-
Laboratórios compartilhados, tele-experiências
-
Implementação:
-
oferece serviços de SOs tradicionais
-
controle e criação de processos
-
IPC
-
Sistema de Arquivos
-
Segurança
-
Gerenciamento de recursos e controle de uso (accounting)
-
executa em cima de SOs tradicionais
-
sistemas locais provêem processadores, armazenamento etc.
-
Legion combina os recursos em um único metacomputador
-
Sistema baseado em modelo de objetos distribuídos
-
Como foi criado antes de CORBA se tornar disponível, o Legion usa
o seu próprio protocolo e ORB
-
Caso tivesse sido criado após 1996, teria sido baseado em CORBA
-
http://legion.virginia.edu/StatusMonitor
mostra o estado da Grade em tempo real
Globus
-
Ian Foster (Argonne National Laboratory, EUA) e Carl Kesselman (U.
Southern California)
-
http://www.globus.org (1997 -> 2001
->)
-
Versão 2.0 beta acabou de ser lançada. Roda em Linux, Irix
e Solaris
-
O projeto deu menos ênfase na invovação e na criação
de novos modelos e mais ênfase na facilidade de instalação
e uso. O objetivo principal foi sempre fazer algo simples mas que funcionasse
-
É o sistema de computação em grade mais utilizado
atualmente
-
Sua interface não é tão elegante quanto a do Legion
e do Globe, é baseada em bibliotecas C
-
As informações sobre os recursos disponíveis é
armazenada em um grande serviço de diretórios acessado via
LDAP
-
Inicialmente, usavam um único servidor de LDAP mas ele logo se tornou
um gargalo; agora, cada organização tem o seu próprio
servidor mas todos são interligados
-
Principais elementos da arquitetura do Globus:
-
Data Grid (ferramentas para replicação e distribuição
de dados na grade)
-
GridFTP: A high-performance, secure, robust data transfer mechanism
-
Globus Replica Catalog: A mechanism for maintaining a catalog of dataset
replicas.
-
Globus Replica Management: A mechanism that ties together the Replica Catalog
and GridFTP technologies, allowing applications to create and manage replicas
of large datasets.
-
MDS - Metacomputing Directory Service
-
baseado no OpenLDAP e no OpenSSL
-
GRAM - Globus Resource Allocation Manager
-
oferece API para submissão de tarefas ao sistema
-
RSL (Resource specification Language) permite a descrição
das necessidades de cada tarefa e de quantas réplicas da tarefa
devem ser executadas
-
GSI - Grid Security Infrastructure
-
5 áreas ativas de pesquisa:
-
ambientes para desenvolvimentos de aplicações e integração
com outras linguagens e ambientes (CORBA, Java, Python e perl)
-
gerenciamento de recursos
-
serviços de informação
-
gerenciamento e acesso a dados
-
segurança
Novo projeto de pesquisa no IME: InteGrade - breve em
cartaz numa página da teia próxima de você!
Próxima Aula
Aula Anterior
Página de MAC 5755
Página do Fabio
Página do DCC