1 / 21

Sistemas Distribuídos

Sistemas Distribuídos. Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação. Metas de projeto [C2,C3,T1.5]. Propriedades críticas de um SD. Desafios na construção de um SD Heterogeneidade Transparência Flexibilidade Confiabilidade Desempenho Escalabilidade Mobildade.

stesha
Download Presentation

Sistemas Distribuídos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemas Distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

  2. Metas de projeto [C2,C3,T1.5]

  3. Propriedades críticas de um SD • Desafios na construção de um SD • Heterogeneidade • Transparência • Flexibilidade • Confiabilidade • Desempenho • Escalabilidade • Mobildade

  4. Heterogeneidade • Diferentes formas de representação de mesmo dado em diferentes computadores • Ex. Estrutura com bit mais significativos em um e bit menos significativos em outro • Necessidade de usar mesma representação de tipos primitivos e de estruturas de dados na troca de mensagens • Solução uso de middleware • Migração de código ou código móvel • Ex.: Máquinas virtuais / Applets Java

  5. Transparência a paralelismo • Lembrando do conceito de transparência • Esconder do usuário e do programador de aplicações a separação de componentes em um sistema distribuído, tal que este seja visto como um sistema centralizado • Paralelismo: divisão de uma tarefa em sub-tarefas coordenadas e que são executadas simultaneamente em processadores distintos • Compilador, ambiente de execução e sistema operacional devem saber tirar vantagem do potencial paralelismo de um sistema distribuído sem mesmo que o programador saiba disso

  6. Flexibilidade • Modelos de estrutura de SD: • Núcleo monolítico: inclui gerenciamento de arquivos, diretórios e processos • Micro-núcleo: • mecanismo para comunicação entre processos • gerenciamento básico de memória • gerenciamento de processos a baixo nível • operações de entrada/saído a baixo nível

  7. Vantagens do micro-núcleo • Modularidade => Flexibilidade • serviços estão disponíveis a todos os clientes, independentemente de localização • serviços podem ser reparados sem causar parada total do sistema • os próprios usuários podem adicionar novos serviços

  8. Confiabilidade • Em teoria, como medir? • Aspectos: • disponibilidade: fração do tempo em que o sistema pode ser usado • exatidão: replicação versus consistência • segurança: Como um servidor pode verificar a origem de uma mensagem? • tolerância a falhas: replicação versus desempenho

  9. Desempenho • Métodos de medição: • tempo de resposta • número de tarefas por hora • taxa de utilização do sistema • taxa de utilização da rede • Fator crítico em SD: troca de mensagens • Granularidade de computação paralela

  10. Escalabilidade • Sistema é dito escalável se permanece eficiente quando há um aumento significativo do número de recursos e de usuários • Evitar: • componentes centralizados (ex: um único servidor de correio eletrônico para todos os usuários) • tabelas centralizadas (ex: uma única lista telefônica on-line) • algoritmos centralizados (ex: roteamento baseado em informação completa)

  11. Mobilidade • Diferentes dispositivos móveis como smartphones, laptops, tablets • Conectividade fornecida por protocolos Internet • Protocolos Internet desenvolvido para ambientes fixos • Problemas de intermitência e mobilidade • Endereçamento • Roteamento

  12. Algoritmos Distribuídos • Nenhuma máquina conhece o estado global • Decisões são baseadas somente em informação local • A parada de uma máquina não arruína o algoritmo • Não há qualquer suposição quanto a existência de tempo (relógio) global

  13. Elementos básicos de um SD • Sistema de nomes • Comunicação • Estrutura de software • Alocação de carga de trabalho • Manutenção de consistência

  14. Sistema de nomes • Nomes permitem que recursos sejam compartilhados • Nomes de recursos devem ser independentes de sua localização • O esquema de nomes deve escalar bem • Um sistema de interpretação de nomes deve ser acessível por programa

  15. Comunicação • O sucesso de um SD depende muito do desempenho/confiabilidade das técnicas de comunicação usadas em sua implementação • Dilema: otimizar implementação da comunicação e prover alto nível do modelo de programação dessa comunicação

  16. Estrutura de software • Extensibilidade requer componentes de software com interfaces bem definidas • Um serviço é um gerenciador de objetos de um certo tipo e sua interface é um conjunto de operações • Novos serviços devem interoperar com serviços existentes e não duplicar suas funções

  17. Alocação de carga de trabalho • Otimização do uso de: • capacidade de processamento • capacidade de comunicação • recursos da rede em geral • Objetivo: bom desempenho

  18. Manutenção de consistência • Consistência de atualização: atomicidade como meio de atualização instantânea de muitos elementos • Consistência de replicação: cópias de um mesmo recurso devem ser “idênticas” • Consistência de cache: modificações em um cliente devem ser propagadas ao gerenciador e aos demais clientes

  19. Manutenção de consistência (continuação) • Consistência de falha: deve-se evitar falhas múltiplas (em cascata); isolamento de falhas • Consistência de relógio: relógios físicos (sincronização aproximada) e relógios lógicos (timestampings em mensagens) • Consistência de interface de usuário: atrasos devido a comunicação podem causar visão inconsistente de aplicações gráficas

  20. Requisitos no nível do usuário • Funcionalidade: Que serviços esperar de um SD? Como migrar aplicações de um SC para um SD ? • adaptar SO ? • adaptar applicação? • emulação de SO antigo? • Reconfigurabilidade: substituição de máquinas que falham, rearranjo de carga, transferência de atividades e dados para minimizar comunicação

  21. Requisitos no nível do usuário(continuação) • Qualidade de serviço: • desempenho • confiabilidade e disponibilidade • segurança

More Related