Vous êtes sur la page 1sur 21

Sistemas Distribudos

Carlos Oberdan Rolim


Cincia da Computao Sistemas de Informao

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

Propriedades crticas de um SD
Desafios na construo de um SD

Heterogeneidade Transparncia Flexibilidade Confiabilidade Desempenho Escalabilidade Mobildade

Heterogeneidade
Diferentes formas de representao de mesmo dado em diferentes computadores
Ex. Estrutura com bit mais significativos em um e bit menos significativos em outro

Necessidade de usar mesma representao de tipos primitivos e de estruturas de dados na troca de mensagens Soluo uso de middleware Migrao de cdigo ou cdigo mvel
Ex.: Mquinas virtuais / Applets Java

Transparncia a paralelismo
Lembrando do conceito de transparncia
Esconder do usurio e do programador de aplicaes a separao de componenentes em um sistema distribudo, tal que este seja visto como um sistema centralizado

Paralelismo: diviso de uma tarefa em sub-tarefas coordenadas e que so executadas simultaneamente em processadores distintos Compilador, ambiente de execuo e sistema operacional devem saber tirar vantagem do potencial paralelismo de um sistema distribudo sem mesmo que o programador saiba disso

Flexibilidade
Modelos de estrutura de SD:
Ncleo monoltico: inclui gerenciamento de arquivos, diretrios e processos Micro-ncleo: mecanismo para comunicao entre processos gerenciamento bsico de memria

gerenciamento de processos a baixo nvel


operaes de entrada/sado a baixo nvel

Vantagens do micro-ncleo
Modularidade => Flexibilidade
servios esto disponveis a todos os clientes, independentemente de localizao servios podem ser reparados sem causar parada total do sistema os prprios usurios podem adicionar novos servios

Confiabilidade
Em teoria, como medir? Aspectos:
disponibilidade: frao do tempo em que o sistema pode ser usado
exatido: replicao versus consistncia segurana: Como um servidor pode verificar a origem de uma mensagem? tolerncia a falhas: replicao versus desempenho

Desempenho
Mtodos de medio:
tempo de resposta

nmero de tarefas por hora


taxa de utilizao do sistema taxa de utilizao da rede

Fator crtico em SD: troca de mensagens Granularidade de computao paralela

Escalabilidade
Sistema dito escalvel se permanece eficiente quando h um aumento significativo do nmero de recursos e de usurios Evitar:
componentes centralizados (ex: um nico servidor de correio eletrnico para todos os usurios) tabelas centralizadas (ex: uma nica lista telefnica on-line) algoritmos centralizados (ex: roteamento baseado em informao completa)

Mobilidade
Diferentes dispositivos mveis como celulares, PDAs, laptops Conectividade fornecidade por protocolos Internet Protocolos Internet desenvolvido para ambientes fixos Problemas de intermitncia e mobilidade
Endereamento

Roteamento

Algoritmos Distribudos
Nenhuma mquina conhece o estado global Decises so baseadas somente em informao local A parada de uma mquina no arruna o algoritmo No h qualquer suposio quanto a existncia de tempo (relgio) global

Elementos bsicos de um SD
Sistema de nomes Comunicao Estrutura de software Alocao de carga de trabalho Manuteno de consistncia

Sistema de nomes
Nomes permitem que recursos sejam compartilhados Nomes de recursos devem ser independendentes de sua localizao O esquema de nomes deve escalar bem Um sistema de interpretao de nomes deve ser acessvel por programa

Comunicao
O sucesso de um SD depende muito do desempenho/confiabilidade das tcnicas de comunicao usadas em sua implementao Dilema: otimizar implementao da comunicao e prover alto nvel do modelo de programao dessa comunicao

Estrutura de software
Extensibilidade requer componentes de software com interfaces bem definidas Um servio um gerenciador de objetos de um certo tipo e sua interface um conjunto de operaes Novos servios devem interoperar com servios existentes e no duplicar suas funes

Alocao de carga de trabalho


Otimizao do uso de:
capacidade de processamento

capacidade de comunicao
recursos da rede em geral

Objetivo: bom desempenho

Manuteno de consistncia
Consistncia de atualizao: atomicidade como meio de atualizao instantnea de muitos elementos Consistncia de replicao: cpias de um mesmo recurso devem ser idnticas Consistncia de cache: modificaes em um cliente devem ser propagadas ao gerenciador e aos demais clientes

Manuteno de consistncia (continuao)


Consistncia de falha: deve-se evitar falhas mltiplas (em cascata); isolamento de falhas Consistncia de relgio: relgios fsicos (sincronizao aproximada) e relgios lgicos (timestampings em mensagens) Consistncia de interface de usurio: atrasos devido a comunicao podem causar viso inconsistente de aplicaes grficas

Requisitos no nvel do usurio


Funcionalidade: Que servios esperar de um SD? Como migrar aplicaes de um SC para um SD (adaptar SO, adaptar applicao, emulao de SO antigo)? Reconfigurabilidade: substituio de mquinas que falham, rearranjo de carga, transferncia de atividades e dados para minimizar comunicao

Requisitos no nvel do usurio (continuao)


Qualidade de servio:
desempenho

confiabilidade e disponibilidade
segurana

Vous aimerez peut-être aussi