Escolar Documentos
Profissional Documentos
Cultura Documentos
Captulo 1 Introduo
Apresentao
Prof. Andr Ribeiro Cardoso (andrec@larces.uece.br) Material didtico: http://www.larces.uece.br/~andrec/SD20082 Sistema de avaliao: Duas provas tericas - P1 e P2 Trabalhos prticos - T mdia = (P + P + T + S) Seminrios - S Condio para aprovao: mdia >= 7,0 Nota final = (mdia + NEF) / 2 >= 5,0
1 2
/4
Bibliografia
Sistemas Distribudos Princpios e Paradigmas (2a edio) Andrew Tanenbaum / Maarten Van Steen Sistemas Distribudos Conceitos e Projetos (4a edio) George Coulouris, Jean Dollimore e Tim Kindberg
Objetivos
Apresentar os princpios de funcionamento, conceitos avanados e tecnologias subjacentes dos Sistemas Distribudos Explorar os conhecimentos adquiridos atravs de Trabalhos Prticos e Seminrios Avanados
Cronograma (60horas)
Dezembro/2008 02, 04, 09, 11, 16, 18, 23 -------------------- 2009 -------------------Janeiro 06, 08, 13, 15, 20, 22, 27, 29 Fevereiro 03, 05, 10, 12, 17, 19, 26 Maro 03, 05, 10, 12, 17, 24, 26, 31 Abril 02, 07, 14, 16, 20
Sumrio
Definio
Metas Tipos de Sistemas Distribudos
Definio
Um sistema distribudo (SD) um conjunto de computadores independentes que se apresenta a seus usurios como um sistema nico e coerente (Tanenbaum) Um sistema em que componentes de hardware e software localizados em computadores em rede se comunicam e coordenam suas aes por passagem de mensagens (Coulouris et al.) Implica em: concorrncia, ausncia de relgio global e falhas isoladas e independentes Motivao: compartilhamento de recursos
7
Definio
Sistemas Distribudos
Voc que tem um quando a falha de um computador do qual voc nunca ouviu falar impede que voc faa qualquer trabalho
Definio
Arquitetura geral de um SD
Middleware: camada de software que se estende por vrias mquinas e oculta das aplicaes as diferenas em hardware e sistemas operacionais
9
Sumrio
Definio
Metas
Tipos de Sistemas Distribudos
10
Metas
Acesso a recursos
Transparncia da distribuio Escalabilidade Confiabilidade Flexibilidade Desempenho Heterogeneidade Segurana
11
Metas
Acesso/compartilhamento de recursos
Considerada PRINCIPAL META Tipos de recursos Impressoras, computadores, dados, Hds etc. Um SD deve oferecer fcil acesso a recursos remotos e compartilhamento eficiente/controlado Compartilhamento de recursos induz a economia
12
Metas
Acesso a recursos Escalabilidade Confiabilidade Flexibilidade Desempenho Heterogeneidade Segurana
Transparncia da distribuio
13
Metas
Transparncia da distribuio
Oculta o fato de recursos estarem distribudos Um SD se apresenta a usurios e aplicaes como um sistema nico (TRANSPARENTE) Tipos de transparncias Acesso, Localizao, Migrao, Relocao, Replicao, Concorrncia e Falha
14
Metas
Transparncia da distribuio (cont.) Acesso
Trata de ocultar diferenas em representao de dados (mquinas com arquiteturas diferentes) Diferenas entre sistemas de nomeao e como arquivos so manipulados O nome do recurso deve ser independente de sua localizao fsica (sist. nomeao tem papel importante) Nomes lgicos (URL): usurio acessa recursos da independente de onde ele est
15
Localizao
Metas
Transparncia da distribuio (cont.) Migrao
Objetos podem migrar de uma mquina a outra por questes de desempenho, confiabilidade, segurana etc. Deve Ser feita de forma automtica pelo sistema Manter nome do objeto Garantir continuidade de comunicao
16
Metas
Transparncia da distribuio (cont.) Relocao
Oculta que um recurso (notebook) possa ser movido para outra localizao durante o uso Quando um usurio mvel? Um notebook se movimentando dentro da mesma rea de cobertura (no mvel) Um automvel passando por vrias redes de acesso sem fio, com conexo ininterrupta (mvel) Um notebook numa lanchonete sem necessidade de conectividade durante trajetria (mvel)
17
Metas
Transparncia da distribuio (cont.) Replicao
Permite que vrias instncias de recursos sejam usadas para aumentar a confiabilidade e o desempenho Deve Mascarar o conhecimento das rplicas por parte dos usurios ou dos programadores de aplicativos
18
Metas
Transparncia da distribuio (cont.) Concorrncia
Coordenar acessos a recursos compartilhados Ordenao de eventos: todos usurios ter uma mesma viso do sistema Garantir excluso mtua Evitar postergao indefinida Evitar deadlocks
Metas
Transparncia da distribuio (sumrio)
20
Metas
Acesso a recursos Transparncia da distribuio Escalabilidade Confiabilidade Flexibilidade Desempenho Heterogeneidade Segurana
21
Abertura
Metas
Abertura
SD aberto oferece servios de acordo com regras padronizadas para descreverem a sintaxe e semntica dos servios Ex: Em redes, existe a padronizao de protocolos que regem o contedo, formato e significado das mensagens Em SDs, os servios so especificados por IDLs IDLs capturam a sintaxe dos servio (especificam nome das funes, tipos de parmetros, valores de retorno, excees etc. Especificao da semntica (parte complicada) 22
Metas
Acesso a recursos Transparncia da distribuio Abertura Confiabilidade Flexibilidade Desempenho Heterogeneidade Segurana
23
Escalabilidade
Metas
Escalabilidade De tamanho Entrada de vrios usurios ao sistema Geogrfica Usurios e recursos devem estar longe uns dos outros Administrativa Envolvimento de vrias organizaes administrativas
24
Metas
Escalabilidade/Problemas (tamanho)
25
Metas
Escalabilidade/Problemas (geogrfica)
26
Metas
Escalabilidade/Problemas (administrativa)
27
Metas
Escalabilidade/Tcnicas Ocultar latncias (geogrfica) Idia: evitar o tempo de resposta a req. remotas Comunicao assncrona: execuo de outros trabalhos Distribuio Idia: dividir um componente em partes e espalhar pelo sistema Ex: DNS e Web Replicao / Cache Idia: replicar recursos para aumentar disponibilidade 28
Metas
Escalabilidade/Tcnicas
Ocultar latncias: Aplicaes interativas no usam comunicao assncrona Soluo: uso de formulrios
Metas
Escalabilidade/Tcnicas Distribuio
Metas
Escalabilidade/Tcnicas
Replicao/Cache (*)
Replicao: deciso do proprietrio Cache: deciso do cliente (*) Problema de consistncia de dados
31
Metas
Acesso a recursos Transparncia da distribuio Escalabilidade Flexibilidade Desempenho Heterogeneidade Segurana
Confiabilidade
32
Metas
Confiabilidade
Tolerar falhas Habilidade do sistema continuar operacional mesmo na presena de falhas (redundncia e controle distribudo) Detectar e recuperar falhas Capacidade para detectar ocorrncia de falhas e levar o sistema a um estado aceitvel para a continuidade da operao (mecanismos de retransmisso de msgs)
33
Metas
Acesso a recursos Transparncia da distribuio Escalabilidade Confiabilidade Desempenho Heterogeneidade Segurana
Flexibilidade
34
Metas
Flexibilidade
Capacidade de modificao e incluso Correo/manuteno do sistema sem interrupo do servio Incluso de novas funcionalidades e recursos (integrao de componentes)
35
Metas
Acesso a recursos Transparncia da distribuio Escalabilidade Confiabilidade Flexibilidade Heterogeneidade Segurana
Desempenho
36
Metas
Desempenho
Objetivo: transformar o desempenho to bom quanto, ou mesmo superior, a de um sistema centralizado Tcnicas bsicas Uso da cache Minimizar a necessidade de transferncia de dados e sincronizao Explorar uso de paralelismo de alta granularidade (threads, concorrncia etc.)
37
Metas
Acesso a recursos Transparncia da distribuio Escalabilidade Confiabilidade Flexibilidade Desempenho Segurana
Heterogeneidade
38
Metas
Heterogeneidade
Objetivo: permitir a interao de sistemas diferentes tanto em nvel de software como de hardware Inclui diferentes SOs e linguagens de programao Tcnicas bsicas Uso de protocolos Uso de formatos comuns para representao de dados (XDR, XML etc.) Camadas de adaptao (Middleware)
39
Metas
Acesso a recursos Transparncia da distribuio Escalabilidade Confiabilidade Flexibilidade Desempenho Heterogeneidade
Segurana
40
Metas
Segurana
Objetivo: proteo recursos compartilhados e manuteno da confiabilidade de dados Deve considerar mecanismos para: Autenticao Autorizao Integridade Confidencialidade Autenticidade Tcnicas de criptografia Preocupao com ataques (DoS, DDoS)
41
Sumrio
Definio Metas
42
Tipos de SDs
Sistemas de Computao Distribudos
Sistemas de Informao Distribudos Sistemas Embutidos Distribudos
43
Tipos de SDs
Sistemas de Computao Distribudos
Sistemas de computao de clusters Sistemas de computao em grade (grids)
44
Tipos de SDs
Sistemas de computao de clusters
Conjunto de estaes de trabalho ou PCs semelhantes, conectados por meio de uma rede de alta velocidade Cada n executa o mesmo SO Hardware subjacente homogneo Usado para processamento paralelo nico programa executado em vrias mquinas
45
Tipos de SDs
Ex: Cluster Beowulf N mestre (middleware) Aloca ns de computao a um determinado programa paralelo, mantm uma fila de jobs e gerencia o cluster N de computao 46 SO padro
Tipos de SDs
Sistemas de computao em grade (grids)
SDs montados como federao de computadores, na qual cada sistema pode cair sob um sistema administrativo diferente, e pode ser muito diferente no que tange a hardware, software e tecnologia empregada Apresentam alto grau de heterogeneidade Software usado para permitir acesso a recursos (e.g. muitas vezes clusters) de diferentes organizaes reunidos para permitir a colaborao de um grupo (conceito de organizao virtual) Foco dirigido para a arquitetura
47
Tipos de SDs
Sistemas Distribudos Pervasivos
Dispositivos de computao mveis e embutidos Pequeno porte Alimentao por bateria Ausncia geral de controle humano Exemplos Sistemas domstios Redes de sensores Sistemas eletrnicos para tratamento de sade
48