Anda di halaman 1dari 38

Introduo aos sistemas de computao em grade: Globus, Legion, Globe e Condor

Mac 449/5775 Sistemas Operacionais Distribudos

Andrei Goldchleger andgold@ime.usp.br

Motivao
Grande necessidade de computao: para que? Simulaes
Financeiras, Mercadolgicas Climticas, ambientais Estudos variados Previso do Tempo Aplicaes na Indstria Manipulao de multimdia Prospeco de Petrleo

Mquinas paralelas e supercomputadores


Muitas vezes multiprocessados Processadores integrados por hardware proprietrio, dependendo de redes de comunicao proprietrias Caras (custo de dezenas de milhares de dlares, as vezes at milhes) Acesso restrito a: Instituies de pesquisa de 1o nvel Grandes empresas Possuir uma mquina desse tipo, devido ao custo, normalmente s se justifica quando h uma grande utilizao da mesma
3

Aglomerados (Clusters) de computadores tipo PC (1/2)


Tipicamente, uma potencia par de PCs (4,8,16...) conectados por fast ethernet Implementao de cluster: Beowulf (1994) o exemplo mais famoso Unio de diversos pacotes independentes MPI/PVM (Bibliotecas de programao paralela) Patches para o kernel do Linux (Exemplo: endereamento de processo global)

Aglomerados (Clusters) de computadores tipo PC (2/2)


Vantagens dos Aglomerados: Baixo custo em relao mquinas paralelas tradicionais Pode ser montado com hardware comum Extensvel facilmente Desvantagens dos aglomerados: Normalmente dedicados (Inclusive fazem essa suposio) Ainda caros para instituies com recursos financeiros limitados Ociosidade Ocupam espao, esquentam, fazem barulho...

Atualmente (1990+, ganhando fora em 1995+)


Integrar recursos em escala mundial, extrapolando os limites locais Computao em Grade (GRID Computing) (Ian Foster, 1998) Permitir o compartilhamento de recursos distribudos, estejam eles onde estiverem Operar sobre os diversos SOs, arquiteturas e redes de comunicao, abstraindo assim tais detalhes e facilitando o desenvolvimento de aplicaes para a grade A maioria Middleware Oferecem alguns servios presentes nos SOs mas que atuam de maneira global.
6

Globus
Iniciado em 1997 www.globus.org Argonne National Labs, U. of Chicago, U. of Southern California Ian Foster, Carl Kesselman, Steve Tuecke o sistema de computao em grade mais popular Cdigo Aberto Grande ateno por parte da mdia, inclusive atraindo a ateno de empresas (exemplo: IBM) Atualmente na verso 3.x, o que aproximadamente representa a terceira gerao do sistema Escrito em C
7

Globus: Caractersticas Fundamentais


Arquiteturado como toolkit, permitindo a criao de aplicaes que usufruam dos servios da grade de maneira incremental Exemplo: Inicialmente, pode-se usar Globus apenas para agendar a execuo em mltiplas mquinas Posteriormente, pode-se adicionar uma biblioteca para deteco e correo de falhas Finalmente, pode-se utilizar os servios Globus de distribuio de arquivos Diversos servios, como escalonamento, segurana, informaes e distribuio de dados
8

GRAM (Globus Resource Allocation Manager)


Um dos servios de escalonamento do Globus Cada GRAM cuida de uma ou mais mquinas, tipicamente um conjunto local Servio global composto da unio de vrios GRAM RSL(Resource Specification Language) permite especificar os recursos necessrios a uma aplicao GRAM no possui suporte para co-alocao de recursos Exemplo: Aplicao precisa de 10 ns, sistema aloca 8 e no consegue os outros 2. Execuo abortada.

GARA (Globus Architecture for Reservation and Allocation)


Tambm um mdulo de escalonamento de aplicaes Servio mais avanado que GRAM Permite reservas de recursos Possui mecanismos para garantir QoS das aplicaes

10

MDS (Metacomputing Directory Service)


Mantm informaes sobre as diversas mquinas que compem a grade hardware, SO, memria, latncia de rede Implementado utilizando LDAP (Lightweight Directory Access Protocol) Permite armazenar e consultar dados Servio de informao em escala global a reunio de diversos servidores MDS

11

GSI (Globus Security Infrastructure)


Lida apenas com autenticao Mapeia as credenciais de acesso para mecanismos locais de autenticao Usurio autentica uma vez no comeo da sesso, e recebe uma credencial vlida por toda uma sesso de uso

12

CoG Kits (Commodity Grid Kits)


Iniciativa para levar o poder da grade aplicaes do usurio comum Esforos para fornecer APIs do Globus em diferentes linguagens: Java Python Web Services CORBA JSP PERL Matlab
13

OGSA (Open Grid Services Architecture)


Presente na 3a gerao do toolkit Tentativa de juntar Computao em Grade e Web Services Os servios do Globus possuiriam assim uma casca implementada em Web Services, facilitando assim a adoo de servios da grade por usurios de Web Services Talvez o assunto mais comentado do momento em termos de Computao em Grade

14

Legion
1993-2001? U. da Virginia http://legion.virginia.edu/ Andrew Grimshaw Aparentemente a pesquisa no projeto terminou (ltimo artigo de 2001) No disponvel para download: parece ser comercializado por uma empresa, a Avaki

15

Legion: Princpios de Arquitetura


Autonomia para diferentes domnios Ncleo extensvel Arquitetura escalvel Ambiente de computao homogneo Espao de nomes nico e persistente Aproveitamento de recursos heterogneos Suporte mltiplas linguagens e interoperabilidade Tolerncia falhas Executar com poucos privilgios

16

Legion: Objetos e Classes


Arquitetura totalmente orientada objetos Tudo no sistema so objetos Classes: possuem responsabilidades de sistema Criao de objetos Ativao/Desativao Agendamento da execuo Objetos comunicam-se por chamadas de mtodos assncronas Interfaces definidas por um tipo de IDL Legion possui protocolos e ORB prprios

17

Legion: Identificadores de Objetos


Hierarquia composta por 3 nveis Nomes de contexto: Cadeias de caracteres com significado. Anlogo a nomes de domnio registrados no DNS LOID (Legion Object Identifier): Identificador nico de um objeto. Anlogo a IORs em CORBA LOA (Legion Object Address): Especifica uma maneira de se comunicar com um objeto (Ex: TCP -> IP/porta)

18

Legion: Objetos Centrais


Implementam funcionalidades bsicas necessrias a todos os objetos Existem implementaes de referncia, mas podem ser reimplementados pelos programadores Exemplos de objetos centrais Objetos de contexto: mapeiam nomes de contexto a LOIDs Agentes de associao: guardam pares (LOID,LOA). Podem implementar polticas diferenciadas Objeto hospedeiro: Representa um processador na grade Objeto cofre: representa um objeto Legion qualquer seriado em disco Objeto de implementao: representa um programa a ser executado
19

Legion: Segurana
Associada a possibilidade de se chamar os diferentes mtodos dos objetos Mtodo MayI: Todo objeto possui, e indica os privilgios Usurio recebe certificado listando seus direitos MayI intercepta chamadas e verifica se o usurio que as fez possui tais direitos Objeto possui par de de chaves criptogrficas Pblica: embutida no LOID, permite comunicaes criptografadas Privada: permite que objetos assinem suas mensagens

20

Legion: Programao paralela e Linguagens em geral


Possui suporte a bibliotecas paralelas: MPI PVM Linguagens suportadas: MPL (Extenso de C++) BFS (Basic Fortran Support) Java Aplicaes legadas podem ser encapsuladas em objetos

21

Globe
Iniciado em1995 Vrije Universiteit, Holanda http://www.cs.vu.nl/globe/ Andrew Tanenbaum, Maarten van Steen Objetivo principal: construo de sistemas distribudos escalveis em redes de grande rea Motivao: cada sistema distribudo implementa o seu protocolo de comunicao, polticas de caching e replicao. Globe pretende ser um arcabouo provedor de tais funcionalidades

22

Globe: Objetos Distribudos Compartilhados


Todos os elementos do sistema so objetos Um nico objeto pode estar fragmentado em diferentes mquinas Acesso ao sistema se d atravs de mtodos Alguns exemplos de funcionalidades que podem ser implementadas: devolver o contedo de uma pgina da teia (como um servidor HTTP) devolver o contedo ou parte de um arquivo receber como argumento uma mensagem de email (como um servidor SMTP) realizar uma operao em um banco de dados de escala mundial qualquer coisa que se faz em um sistema distribudo mas sempre usando o mesmo modelo OO
23

Globe: Sub-objetos
Componentes de um objeto Globe Cada objeto possui uma certa quantidade de sub-objetos Cada sub-objeto responsvel por uma determinado aspecto do funcionamento do objeto Exemplos de sub-objetos: Semntica: contm os aspectos funcionais do objeto Comunicao Replicao: pode determinar uma poltica de replicao especfica Controle O modelo comportaria outros sub-objetos para a implementao de outros aspectos, como segurana, persistncia...
24

Globe: Sub-objeto de Replicao


Tem de lidar com a consistncia das rplicas Podem implementar diferentes polticas de consistncia Premissa bsica: consistncia pode ser determinada pela possibilidade de se chamar os mtodos de um objeto Intercepta as chamadas, mantendo assim a consistncia das rplicas de acordo com a poltica estabelecida

25

Globe: Sub-objeto de Controle


Intercepta as chamadas aos sub-objetos de semntica Responsvel por empacotar/desempacotar as chamadas que ocorrem entre ele e o sub-objeto de replicao Permite o acesso e modificao do estado do objeto de semntica

26

Globe: Sub-objeto de Comunicao


Responsvel pela comunicao entre as partes de um objeto Pode utilizar diversos tipos de comunicao Conectada X No-conectada Confivel X No-confivel Ponto-a-ponto X Multicast Encapsula a comunicao atrs de uma interface padronizada Independente dos sub-objetos de semntica

27

Condor
Iniciado em 1988 http://www.cs.wisc.edu/condor/ U. of Wisconsin at Madison Miron Livny Derivado de um projeto ainda mais antigo, o Remote Unix (1986) o pioneiro dos sistemas de computao em grade Licena de cdigo nebulosa, mas parece que est sendo aberto sobre licena liberal Objetivo principal de Condor: utilizar o potencial ocioso dos computadores
28

Condor: High Throughput

Computing

Condor introduziu conceito de HTC HTC = Necessidade de processamento por longos perodos: dias, semanas, meses Contraste com HPC: FLOPS Este o grande atrativo: utilizar tempo ocioso para cumprir tarefas de HTC

29

Condor: Organizao Bsica


Sistemas Condor se organizam em aglomerados Um aglomerado tipicamente compreende as mquinas em uma rede local 3 tipos de ns em uma aglomerado: N fornecedor de recursos N consumidor de recursos N gerenciador do aglomerado

30

Condor: Mdulos
Schedd Mantm fila de tarefas submetidas pelo dono da mquina Obtm recursos para executar tarefas Startd Anuncia recursos do n ao Coordenador Central Aplica a poltica de uso do proprietrio do n Collector Recebe informaes e requisies de todas as mquinas do aglomerado Negotiator Com base nos dados de Collector, realiza o emparelhamento entre oferta e procura
31

Disseminao de Informaes: ClassAd


Estrutura de Dados que representa informaes No possuem esquema fixo Entradas so do tipo (atributo, valor) Podem representar: Requisies feitas por um Schedd: "Execute este programa em mquinas com 128Mb de memria, ao menos Ofertas de recursos feitas por um Startd: "Esta maquina um Pentium III 500, com 512Mb de memria,.

32

Sequencia de Operao
Collector

Negotiator Schedd Startd N Origem N Destino Coordenador Central Schedd Startd


33

Processo Sombra
Aps a obteno do recurso remoto, inicia-se um processo sombra na mquina origem Funes: Mascarar complexidade de processo remoto Receber estado da execuo (erros) Receber resultados Permitir a execuo de chamadas de sistema remotas

34

Chamada de Sistema Remota


Utilizadas tipicamente para acesso remoto a arquivos Chamadas de sistema capturadas e enviadas para execuo na mquina origem Problemas: Ineficiente, especialmente se o programa utiliza muito Nessessidade de religar o cdigo com a biblioteca de suporte

35

Checkpointing
Possibilidade de salvar estado de execuo Mover aplicao quando mquina torna-se ocupada Salva todo estado da aplicao: pilha,registradores Problemas: Em aglomerados heterogneos possibilidade de migrao reduzida No podem ser utilizados recursos como: Kernel-level threads, fork, pipes e memria compatilhada No funciona com aplicaes paralelas Depende de muitas informaes do SO, como sinais pendentes, arquivos abertos e estado da CPU
36

Aplicaes Paralelas
Condor suporta aplicaes escritas em MPI-CH e PVM Recursos de um cluster so marcados como dedicados, o que significa: Nunca desalojam aplicaes paralelas Do preferncia a aplicaes paralelas No h checkpointing de aplicaes paralelas Vantagens: Melhor que aglomerado dedicado, pois evita particionamento de recursos Mquinas do cluster podem executar aplicaes seqenciais na ausncia de aplicaes paralelas Desvantagens: Alguns recursos permanecem semi-reservados Invivel para estaes de trabalho
37

Condor Multi-aglomerado
Diversas formas de integrao de aglomerados: Gateway Flocking: Transparente Direct Flocking: Usurios se registram em diversos aglomerados Condor e Globus Condor-g: Schedd modificado que acessa grades globus via GRAM Aglomerados condor ad-hoc Utiliza-se Condor-g para submeter startds grade globus Startds contactam Collector/Negotiator especificado pelo usurio Cria-se assim um aglomerado Condor em cima de parte de uma grade Globus
38

Anda mungkin juga menyukai