sistemas distribuídos carlos oberdan rolim ciência da computação sistemas de informação

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

Upload: internet

Post on 18-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

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

Sistemas Distribuídos

Carlos Oberdan Rolim

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

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

Introdução a

sistemas distribuídos

[C1,T1.1,T1.2,T1.3,T1.4] (40 p.)

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

Referência Básica

[C] Distributed Systems: Concepts and Design. G. Coulouris, J. Dollimore, T. Kindberg. Addison-Wesley, 1994. ISBN 0-201-62433-8. (Capítulos 4 e 5)

[T] Distributed Operating Systems. A. S. Tanenbaum. Prentice-Hall, 1995. ISBN 0-13-219908-4. (Seções 2.4 e 2.5)

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

Conteúdo

Caracterização de SD

Exemplos de SD

Objetivos de SD

Conceitos de hardware em SD

Conceitos de software em SD

Histórico

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

Sistemas distribuídos

Necessidade de realizar tarefas com maior intensidade. Opções:

Trabalhar mais

Trabalhar de uma maneira mais eficiente

Pedir ajuda

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

Definição de SD

"Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído." [C]

"Um sistema distribuído é uma coleção de computadores independentes que aparenta ao usuário ser um computador único." [T]

Você sabe que tem um sistema distribuído quando a falha de um computador do qual você nunca ouviu falar faz com que você pare completamente de trabalhar." [Leslie Lamport]

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

Definição de SD

Sistemas distribuídos se diferenciam dos demais computadores pelo acoplamento fraco entre os processadores, ou seja, os computadores não tem acesso a uma memória comum. Toda a interação deve ser realizada por troca de mensagens através de canais de comunicação

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

Definição de SD

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

sem memória compartilhadasem relógio globaltroca de mensagens

modelosmodelo físico

modelo lógico

nodos e rede

processadorrelógio localmemória local volátilarmazenamento não volátilinterface de redesoftware

Processos e canais

Definição de SD

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

Definição de SD

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

Avanços tecnológicos

Invenção de redes de computadores de alta velocidade (anos 70):

Rede local (Local Area Network - LAN)

Rede global (Wide Area Network - WAN)

Desenvolvimento de microprocessadores potentes (anos 80).

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

Estado da arte

É relativamente fácil agrupar um grande número de CPUs, conectando-as por uma rede de alta velocidade.

O software para sistemas distribuídos é completamente diferente do software para sistemas centralizados e está apenas começando a se desenvolver.

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

Exemplos de SD

Uma rede de estações de trabalho em uma universidade ou companhia

Uma rede de computadores em uma fábrica

Um grande banco com muitas agências, cada qual com um computadores e caixas automáticas

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

Exemplos de SD (continuação)

Sistema de reserva de passagens aéreas

Sistema de controle de estoque, vendas e entregas numa cadeia de lojas

Serviços da Internet: Netnews, WWW

Sistemas de acesso a recursos de multimídia e de conferência

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

Vantagens de SD sobre SC

Melhor relação custo/benefício

Capacidade de processamento além dos limites práticos de SC (velocidade da luz, aquecimento)

Maior domínio de aplicações

Maior confiabilidade e disponibilidade

Crescimento gradativo da capacidade de processamento

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

Vantagens de SD sobre PCs independentes

Compartilhamento de dados comuns entre usuários

Compartilhamento de recursos de hardware e software

Comunicação entre pessoas

Flexibilidade na distribuição de tarefas de acordo com as aplicações

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

Desvantagens de SD

Falta de software adequado

Falhas e saturação da rede de comunicação podem eliminar as vantagens de SD

Segurança pode ser comprometida: fácil acesso a dados e recursos reservados

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

Hardware em SD

F ra ca m e n teA cop la do

F o r te m e n teA cop la do

S e qu en t,E n co re

B ar ram en to

U ltracom p ute r,R P 3

C h av ea m e n to

M u ltip ro cessa d ores(m e m ó ria com pa rti lha da)

E s taçõ ese m um a L A N

B arram en to

H ype rcub e ,T ran sp u te r

C h av ea m e n to

M u lticom p u ta d ores(m em ó r ia s sep a ra da s)

C o m p uta do resd istr ibu ído s e p ara le los

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

Software básico em SD

Acoplamentode hardware

Acoplamentode software

Sistemas operacionais derede

Fraco Fraco

Sistemas distribuídos«autênticos»

Fraco Forte

Sistemas timesharingpara multiprocessadores

Forte Forte

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

Sistemas operacionais de rede

Estações de trabalho conectadas por uma LAN

Cada estação tem seu próprio sistema operacional

Ferramentas para login remoto e cópia de arquivos entre estações

Servidores de arquivos e ferramentas para causar aparência de arquivo local

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

Sistemas distribuídos autênticos

A rede toda tem aparência de ser um único sistema timesharing: virtual uniprocessor, single-system image

Mecanismo global para comunicação entre processos

Gerenciamento de processos homogêneo

Sistema de arquivos homogêneo

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

Sistemas timesharing para multiprocessadores

Fila única de processos prontos para execução: melhor distribuição de carga

CPUs especializadas em: executar processos, controlar periféricos, executar sistema operacional (gerenciar a memória global)

Sistema de arquivos comporta-se de maneira semelhante a um SC

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

Comparação de SW para SD

SO de rede SOdistribuído

SO paramultiproc.

Parece um SC Não Sim Sim

Mesmo SO Não Sim Sim

Cópias de SO N N 1

Comunicação Arquivoscompartilhados

Mensagens Memóriacompartilhada

Protocoloscomuns

Sim Sim Não

Fila única deexecução

Não Não Sim

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

Características básicas de SD

Compartilhamento de recursos

Extensibilidade (openness)

Concorrência

Escalabilidade (crescimento gradativo suave)

Tolerância a falhas

Transparência

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

Compartilhamento de recursos

Componentes de hardware: discos, impressoras, ...

Componentes de software: arquivos, bancos de dados, ...

Modelos básicos:

Modelo cliente-servidor

Modelo baseado em objetos

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

Extensibilidade

Extensões de hardware: periféricos, memória, interfaces de comunicação, ...

Extensões de software: funções de SO, protocolos de comunicação, ...

Interfaces chaves são públicas (system calls)

Mecanismo uniforme de comunicação entre processos

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

Concorrência

Mais de um processo em execução a cada instante:

Atividades separadas de usuários

Independência de recursos

Localização de processos servidores em computadores distintos

Acesso concorrente a recursos compartilhados requer sincronização

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

Escalabilidade

Quantidade de trabalho envolvido no processamento de qualquer requisição de acesso a um recurso compartilhado independe do tamanho da rede

Técnicas: replicação, caching, servidores múltiplos

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

Tolerância a falhas

Falhas de hardware e software (em CPUs e redes): programas param ou produzem resultados errados

Abordagens:

Redundância de hardware (Ex: banco de dados replicado em diversos servidores)

Recuperação por software: manter dados permanentes sempre consistentes

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

Transparência

Esconder do usuário e do programador de aplicações a separação de componenentes em um sistema distribuído, tal que este seja visto como um sistema centralizado

Formas de transparência: acesso, localização, concorrência, replicação, falha, migração, desempenho e escala

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

Transparência de acesso

Operações de acesso a objetos deinformação são idênticas para objetoslocais e remotos

Exemplo:Operação de envio de uma mensagemeletrônica especificando o destinatárioatravés de seu endereço Internet

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

Transparência de localização

Acesso a um objeto ocorre sem que sejanecessário o conhecimento de sualocalização

Exemplo:Operação de envio de uma mensagemeletrônica especificando o destinatárioatravés de seu endereço Internet

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

Outras formas de transparência

Concorrência: processos operam concorrentemente usando objetos de informação comuns sem interferência entre eles.

Replicação: várias instâncias de um objeto de informação são usadas sem requerer o conhecimento das réplicas pelos usuários e aplicações.

Falha: mascaramento de falhas de hardware e software.

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

Outras formas de transparência (Continuação)

Migração: movimento de objetos de informação dentro do sistema não afeta a operação de usuários e aplicações.

Desempenho: reconfiguração do sistema para melhorar desempenho conforme a carga varia.

Escala: o sistema e as aplicações podem expandir em escala sem requerer modificações na estrutura do sistema ou nos algoritmos das aplicações.