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

Sistemas Distribuídos

  • Upload
    stesha

  • View
    29

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Sistemas Distribuídos

Sistemas Distribuídos

Carlos Oberdan Rolim

Ciência da ComputaçãoSistemas de Informação

Page 2: Sistemas Distribuídos

Metas de projeto

[C2,C3,T1.5]

Page 3: Sistemas Distribuídos

Propriedades críticas de um SDDesafios na construção de um SD

Heterogeneidade

Transparência

Flexibilidade

Confiabilidade

Desempenho

Escalabilidade

Mobildade

Page 4: Sistemas Distribuídos

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

Page 5: Sistemas Distribuídos

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

Page 6: Sistemas Distribuídos

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

Page 7: Sistemas Distribuídos

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

Page 8: Sistemas Distribuídos

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

Page 9: Sistemas Distribuídos

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

Page 10: Sistemas Distribuídos

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)

Page 11: Sistemas Distribuídos

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

Page 12: Sistemas Distribuídos

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

Page 13: Sistemas Distribuídos

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

Page 14: Sistemas Distribuídos

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

Page 15: Sistemas Distribuídos

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

Page 16: Sistemas Distribuídos

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

Page 17: Sistemas Distribuídos

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

Page 18: Sistemas Distribuídos

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

Page 19: Sistemas Distribuídos

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

Page 20: Sistemas Distribuídos

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

Page 21: Sistemas Distribuídos

Requisitos no nível do usuário(continuação)

Qualidade de serviço:

desempenho

confiabilidade e disponibilidade

segurança