Sistemas Distribuídos
Introdução a Sistemas Distribuídos
São Paulo, 2011
Universidade Paulista (UNIP)
Introdução ao Estudo de Sistemas
Distribuídos (SD)
Prof. MSc. Vladimir Camelo
[email protected]
05/11/2015
[email protected]
1
Sistemas Distribuídos
Introdução a Sistemas Distribuídos
Sistemas distribuídos (SD)
05/11/2015
[email protected]
2
Sistemas Distribuídos
Histórico
Introdução a Sistemas Distribuídos
 Primeiros computadores: alto custo e de grande porte
 Anos 50 e 60: surgimento dos primeiros tipos de Sistemas
Operacionais (SO);
 Batching: jobs semelhantes para processamento
 Spooling: sobreposição de I/O e CPU
 multiprogramação: inúmeros programas sendo executados
concorrentemente pela CPU
 Objetivo: otimizar a utilização da CPU
05/11/2015
[email protected]
3
Sistemas Distribuídos
Histórico
Introdução a Sistemas Distribuídos
 Início dos anos 60:
 Sistemas Time Sharing (Compartilhado)
 Evolução do hardware:
 Redução do tamanho dos dispositivos;
 Redução no preço;
 Aumento da velocidade de acesso; e
 Aumento do poder de processamento.
05/11/2015
[email protected]
4
Sistemas Distribuídos
Histórico (Time Sharing)
Introdução a Sistemas Distribuídos
 O termo Time Sharing surgiu durante a 3º geração de Sistemas
Operacionais (SO);
 Significado:
 compartilhamento de tempo (tempo ocioso entre os processos
são compartilhados com outros processos);
 Compartilhamento de recursos de hardware e software;
05/11/2015
[email protected]
5
Sistemas Distribuídos
Histórico (Time Sharing)
Introdução a Sistemas Distribuídos
 Múltiplos jobs são executados simultaneamente, sendo que a UCP
atende cada job por um pequeno tempo, um a um em seqüência.
 O tempo dedicado à cada job é pequeno para que os usuários
possam interagir com o programa sem que percebam que existem
outros programas rodando;
05/11/2015
[email protected]
6
Sistemas Distribuídos
Histórico
Introdução a Sistemas Distribuídos
 Final dos anos 60 e início dos anos 70:
 Surgimento das redes de computadores.
 Rede local (Local Area Network - LAN)
 Rede global (Wide Area Network – WAN)
05/11/2015
[email protected]
7
Sistemas Distribuídos
Histórico
Introdução a Sistemas Distribuídos
 Final dos anos 60 e início dos anos 70:
 Surgimento do SO UNIX.
 Final dos anos 70:
 Surgimento do protocolo de comunicação em rede, TCP/IP.
 Inícios dos anos 80:
 Popularização das estações de trabalho.
05/11/2015
[email protected]
8
Sistemas Distribuídos
Histórico
Introdução a Sistemas Distribuídos
 SO’s Time Sharing
 Primeiro passo na direção dos sistemas distribuídos;
 Incorpora dois conceitos fundamentais:
 Compartilhamento de tempo e recursos;
 Acesso remoto.
05/11/2015
[email protected]
9
Sistemas Distribuídos
Histórico
Introdução a Sistemas Distribuídos
 Nos SO’s Time Sharing:
 Comunicação entre o usuário e o sistema é on-line;
 Usuário submete requisições ao sistema operacional, e recebe as
respostas de forma imediata.
 A interação é realizada por meio do uso de terminais.
 Cada terminal possui apenas o mínimo para funcionamento e
todo o acesso e realizado por meio de uma placa de rede.
 O sistema operacional possui um interpretador de comandos, que
lê a linha de comando contendo o nome do programa a ser
executado pelo terminal.
05/11/2015
[email protected]
10
Sistemas Distribuídos
Histórico
Introdução a Sistemas Distribuídos
 Nos SO’s Time Sharing:
 Após a execução do comando, o interpretador volta a ler o
terminal do usuário esperando pelo próximo comando.
 O usuário imediatamente compila e executa o seu programa.
 Muitos usuários compartilham o uso do computador.
05/11/2015
[email protected]
11
Sistemas Distribuídos
Evolução
Introdução a Sistemas Distribuídos
 Início dos anos 80:
 Criação de microprocessadores e a introdução comercial das
estações de trabalho;
 Redução dos custos em relação a aquisição de mainframes.
05/11/2015
[email protected]
12
Sistemas Distribuídos
Evolução
Introdução a Sistemas Distribuídos
 Final dos anos 80:
 Redes de computadores - estações de trabalho ligadas em rede;
 Disponibilização de diferentes serviços para comunicação entre
pessoas/máquinas
 FTP;
 TELNET;
 E-MAIL e outros.
05/11/2015
[email protected]
13
Sistemas Distribuídos
Evolução
Introdução a Sistemas Distribuídos
 Esta evolução foi motivada por alguns fatores, dentre eles pode-se
citar:
 Avanços na microeletrônica: Processadores mais rápidos,
menores e muito mais baratos, se comparado aos primeiros
processadores;
 Avanços nas telecomunicações: Redes de telefones celulares,
corporativas
e
caseiras
com
um
custo
mais
acessível,
possibilitando a troca de informações em largura de banda maior;
05/11/2015
[email protected]
14
Sistemas Distribuídos
Evolução
Introdução a Sistemas Distribuídos
 Esta evolução foi motivada por alguns fatores, dentre eles pode-se
citar:
 Popularidade
das
redes
de
computadores:
Redes
de
computadores mais eficientes e também mais confiáveis para a
troca de informações entre os usuários;
 Compartilhamento de recursos: Hardware, Software entre
outros;
 Relação
custo/desempenho:
Melhor
utilizar
diversos
processadores interconectados do que um único computador
centralizado;
05/11/2015
[email protected]
15
Sistemas Distribuídos
Conceito geral
Introdução a Sistemas Distribuídos
 Segundo Silberschatz et al. (2004) um Sistema Distribuído (SD) é
uma coleção de processadores que não compartilham memória ou um
relógio. Em vez disso, cada processador tem sua própria memória
local, e os processadores se comunicam, como redes locais ou
remotas de forma transparente para o usuário.
 Estes sistemas podem incluir pequenos dispositivos portáteis ou de
tempo real, computadores pessoais, estações de trabalho e
computadores de grande porte.
SILBERSCHATZ, ABRAHAM; GALVIN, PETER BAER; GAGNE, GREG. Sistemas Operacionais com Java. Tradução daSexta
Edição (Operating systems concepts with Java): Daniel Vieira. Editora Campus (Elsevier). Rio de Janeiro, 2004.
05/11/2015
[email protected]
16
Sistemas Distribuídos
Conceito de transparência
Introdução a Sistemas Distribuídos
 Esconder a separação dos componentes e da sua distribuição num
sistema distribuído do utilizador e do programador de aplicações, de
maneira a visualizar o sistema como um todo em vez de uma coleção
de componentes independentes.
05/11/2015
[email protected]
17
Sistemas Distribuídos
Transparência
Introdução a Sistemas Distribuídos
 A transparência pode ser definida em vários níveis:
 Acesso: Esconder diferenças na representação dos dados e no
método de acesso – permitir o acesso a recursos locais e remotos
utilizando as mesmas operações;
 Existe heterogeneidade em vários níveis num sistema distribuído:
 Rede;
 Hardware;
 Sistema Operacional;
 Linguagem de programação entre outros.
05/11/2015
[email protected]
18
Sistemas Distribuídos
Transparência
Introdução a Sistemas Distribuídos
 A transparência pode ser definida em vários níveis:
 A utilização de protocolos normalizados nos vários níveis de
abstração permite lidar com a heterogeneidade.
 Localização: Esconder onde o recurso é localizado – permitir o
acesso a recursos sem ter conhecimento da sua localização;
 Utilizar recursos por meio de seus nomes lógicos, de forma
clara e transparente.
 Migração: Permitir a mobilidade de recursos e clientes num
sistema sem afetar o funcionamento dos programas;
05/11/2015
[email protected]
19
Sistemas Distribuídos
Transparência
Introdução a Sistemas Distribuídos
 A transparência pode ser definida em vários níveis:
 Realocação: Permitir a mobilidade de recursos ativos num
sistema sem afetar o funcionamento dos programas em
funcionamento;
 Replicação: Esconder a utilização de múltiplas instâncias de
recursos para melhorar a confiabilidade e o desempenho do
sistema;
05/11/2015
[email protected]
20
Sistemas Distribuídos
Transparência
Introdução a Sistemas Distribuídos
 A transparência pode ser definida em vários níveis:
 Concorrência:
Permitir
que
vários
processos
operem
concorrentemente sobre recursos compartilhados sem que haja
interferência entre eles;
 Falha: Permitir esconder falhas de hardware ou software. Por
exemplo: reenvio de pedidos para outro servidor, ou seja enviar a
requisição de algum recurso ou serviço;
 Persistência: Esconder se um recurso (software) está em
memória ou no disco.
05/11/2015
[email protected]
21
Sistemas Distribuídos
Conceito geral
Introdução a Sistemas Distribuídos
 O que é um Sistema Distribuído (SD):
 É uma coleção de processadores independentes que parecem um
sistema único para o usuário (Tanenbaum).
 É um sistema onde os componentes de Hardware e Software,
localizados em computadores interligados por uma rede, se
comunicam e coordenam suas ações somente por meio da troca
de mensagens (Coulouris).
 Dois aspectos:
 Hardware: autonomia
 Software: sistema único
05/11/2015
[email protected]
22
Sistemas Distribuídos
Aspectos básicos
Introdução a Sistemas Distribuídos
 Um Sistema Distribuído (SD) é uma coleção de processadores pouco
acoplados, interconectados por uma rede de comunicação.
 Esses processadores são chamados de vários nomes, como
instalações, nós, computadores, máquinas ou hosts, dependendo do
contexto em que são mencionados.
SILBERSCHATZ, ABRAHAM; GALVIN, PETER BAER; GAGNE, GREG. Sistemas Operacionais com Java. Tradução daSexta
Edição (Operating systems concepts with Java): Daniel Vieira. Editora Campus (Elsevier). Rio de Janeiro, 2004.
05/11/2015
[email protected]
23
Sistemas Distribuídos
Introdução a Sistemas Distribuídos
Softwares básicos para Sistemas Distribuídos
Acoplamento de
hardware
Acoplamento de
software
Sistemas Operacionais de Rede
Fraco
Fraco
Sistemas Distribuídos «autênticos»
Fraco
Forte
Sistemas Timesharing para
multiprocessadores
Forte
Forte
05/11/2015
[email protected]
24
Sistemas Distribuídos
Características
Introdução a Sistemas Distribuídos
 Processos são executados concorrentemente no sistema distribuído:
 Não existe um controle global;
 Processos utilizam troca de mensagens para coordenar suas
ações.
 Inexistência de relógio global:
 Entretanto, a noção de tempo global é importante na coordenação
de processos;
 Sincronização de relógios possui um limite de precisão
05/11/2015
[email protected]
25
Sistemas Distribuídos
Características
Introdução a Sistemas Distribuídos
 Falhas independentes:
 A falha de um dos componentes (rede, máquinas, programas) do
sistema distribuído não implica na falha do sistema como um todo.
05/11/2015
[email protected]
26
Sistemas Distribuídos
Vantagens
Introdução a Sistemas Distribuídos
 Economia:
 Melhor relação custo/desempenho
 Velocidade:
 Utiliza várias redes de computadores aumentando gradativamente
seu desempenho.
05/11/2015
[email protected]
27
Sistemas Distribuídos
Vantagens
Introdução a Sistemas Distribuídos
 Maior confiabilidade (reliability) e disponibilidade:
 Grau de tolerância contra erros e falhas de componentes em um
sistema;
 Aplicações críticas - aviação, reatores nucleares;
 Replicação de componentes.
05/11/2015
[email protected]
28
Sistemas Distribuídos
Vantagens
Introdução a Sistemas Distribuídos
 Facilidade de expansão:
 Possibilita aumentar o poder de processamento/armazenamento
sem se desfazer daquilo que já possui, isto é, de maneira
gradativa e sem comprometimento da estrutura já existente dentro
da empresa.
 Permite o compartilhamento de dados/informação:
 Desenvolvimento de Software Distribuído
 Redes P2P
05/11/2015
[email protected]
29
Sistemas Distribuídos
Vantagens
Introdução a Sistemas Distribuídos
 Permite o compartilhamento de recursos
 Possibilitando maior economia (Ex. impressora, software, bases
de dados, disco, pool de processadores)
05/11/2015
[email protected]
30
Sistemas Distribuídos
Desvantagens
Introdução a Sistemas Distribuídos
 Maior dificuldade na garantia de segurança, pois os recursos estão
fisicamente distribuídos (crítico!);
 Desenvolvimento de Software Distribuído é muito mais complexo do
que o desenvolvimento de um software comercial;
 Componentes com diferentes modos de falha e falhas parciais
 Inexistência de relógio global exato
 Variações nos atrasos associados com a comunicação entre
processos
05/11/2015
[email protected]
31
Sistemas Distribuídos
Desvantagens
Introdução a Sistemas Distribuídos
 Gerência de recursos é muito mais complexa:
 Recursos fisicamente separados;
 A troca de mensagens entre as diferentes redes podem atrasar ou
mesmo serem perdidas ao longo de seu trafego na rede,
impossibilitando a troca de mensagens.
 Alto custo para implementar aplicações colaborativas.
05/11/2015
[email protected]
32
Sistemas Distribuídos
Desafios
Introdução a Sistemas Distribuídos
 Comunicação segura em um sistema distribuído:
 Quem enviou a mensagem enviada?
 Os dados foram modificados durante a transmissão de uma rede
para outra?
 Alguém não autorizado teve acesso aos dados enviado durante a
transmissão?
05/11/2015
[email protected]
33
Sistemas Distribuídos
Desafios
Introdução a Sistemas Distribuídos
 Confiabilidade em um ambiente não confiável:
 máquinas podem falhar, mas o sistema distribuído deve falhar
apensa parcialmente.
 Localização:
 colocar os recursos em um determinado local e permitir a
localização destes recursos quando necessário.
 Coordenação:
 acordo entre os componentes distribuídos sobre o que fazer, de
que forma deverá ser feito e quem deverá fazer.
05/11/2015
[email protected]
34
Sistemas Distribuídos
Exemplos de sistemas distribuídos
Introdução a Sistemas Distribuídos
 Internet: diferentes redes interconectadas;
 Comunicação por meio da troca de mensagens:
 Serviços: www, ftp, mail
 Intranet: parte da Internet administrada separamente:
 Necessidades: serviço de compartilhamento de arquivos, políticas
de segurança local (firewalls), facilidade de instalação e suporte
de SW
05/11/2015
[email protected]
35
Sistemas Distribuídos
Exemplos de sistemas distribuídos
Introdução a Sistemas Distribuídos
 Computação móvel: redução do tamanho e redes sem fio:
 Integração de pequenos dispositivos computacionais portáteis.
 Laptop, PDA, celular, câmera digital, dispositivo integrado a
utensílios.
 Problemas:
descoberta
de
recursos
no
ambiente,
reconfiguração de dispositivos, privacidade e segurança.
05/11/2015
[email protected]
36
Sistemas Distribuídos
Topologia de um sistema distribuído
Introdução a Sistemas Distribuídos
 As instalações em um sistema distribuído podem ser conectadas
fisicamente de
diversas maneiras. Cada configuração
possui
vantagens e desvantagens.
 Pode-se comparar as configurações utilizando os seguintes critérios:
 Custo de instalação: o custo de ligação física das instalações no
sistema.
 Custo de comunicação: o custo em tempo e dinheiro para enviar
uma mensagem da instalação A para a instalação B.
 Disponibilidade: a extensão à qual os dados podem ser
acessados apesar da falha de alguns enlaces ou instalações.
05/11/2015
[email protected]
37
Sistemas Distribuídos
Topologia de um sistema distribuído
Introdução a Sistemas Distribuídos
 Podem ser utilizadas diversas representações topológicas diferentes
para um sistema distribuído.
A
B
F
C
E
D
Rede totalmente conectada
05/11/2015
[email protected]
38
Sistemas Distribuídos
Topologia de um sistema distribuído
Introdução a Sistemas Distribuídos
 Podem ser utilizadas diversas representações topológicas diferentes
para um sistema distribuído.
A
B
F
C
E
D
Rede em anel
05/11/2015
[email protected]
39
Sistemas Distribuídos
Topologia de um sistema distribuído
Introdução a Sistemas Distribuídos
 Podem ser utilizadas diversas representações topológicas diferentes
para um sistema distribuído.
A
B
E
C
F
D
Rede parcialmente conectada
05/11/2015
[email protected]
40
Sistemas Distribuídos
Topologia de um sistema distribuído
Introdução a Sistemas Distribuídos
 Podem ser utilizadas diversas representações topológicas diferentes
para um sistema distribuído.
A
B
C
E
D
F
Rede estrutura em árvore
05/11/2015
[email protected]
41
Sistemas Distribuídos
Topologia de um sistema distribuído
Introdução a Sistemas Distribuídos
 Podem ser utilizadas diversas representações topológicas diferentes
para um sistema distribuído.
A
F
B
C
E
D
Rede em estrela
05/11/2015
[email protected]
42
Sistemas Distribuídos
Topologia de um sistema distribuído
Introdução a Sistemas Distribuídos
 Podem ser utilizadas diversas representações topológicas diferentes
para um sistema distribuído.
A
A
F
B
B
F
C
C
E
E
D
D
A
B
F
C
E
D
Rede Mista
05/11/2015
[email protected]
43
Sistemas Distribuídos
Segurança em sistema distribuído
Introdução a Sistemas Distribuídos
 Os princípios básicos de segurança em sistemas distribuídos são
voltados para a comunicação:
 Confidencialidade:
 Tem por objetivo proteger a informação intercambiada
prevenindo-a de acessos não autorizados por pessoas sem
acesso ao sistema;
 Integridade:
 Deve garantir a veracidade da informação protegendo-a de
modificações não autorizadas;
05/11/2015
[email protected]
44
Sistemas Distribuídos
Segurança em sistema distribuído
Introdução a Sistemas Distribuídos
 Os princípios básicos de segurança em sistemas distribuídos são
voltados para a comunicação:
 Autenticidade:
 Visa garantir a identidade dos parceiros do intercâmbio
através da autenticação dos usuários;
 Disponibilidade:
 Objetiva
prevenir
interrupções
na
operação
da
rede
garantindo a disponibilidade do uso da informação
05/11/2015
[email protected]
45
Sistemas Distribuídos
Segurança em sistema distribuído
Introdução a Sistemas Distribuídos
 As principais ameaças para um sistema distribuído são:
 Interceptação de uma mensagem;
 Interrupção de um processo de execução;
 Modificação de uma tarefa, mensagem, etc;
 Fabricação de uma informação indevida;
05/11/2015
[email protected]
46
Sistemas Distribuídos
Segurança em sistema distribuído
Introdução a Sistemas Distribuídos
 Os ataques aos canais de comunicação em um sistema distribuído
podem ocorrer por meio de:
 Escuta:
 Obtenção de informação na rede de forma indevida
possibilitando a obtenção de senhas, etc.
 Masquerading:
 Uso de identidades incorretas possibilitando o acesso a
informações autorizadas apenas a usuários conhecidos.
05/11/2015
[email protected]
47
Sistemas Distribuídos
Segurança em sistema distribuído
Introdução a Sistemas Distribuídos
 Os ataques aos canais de comunicação em um sistema distribuído
podem ocorrer por meio de:
 Message tampering:
 Alteração de mensagens trocadas.
 Replay
 Reenvio de mensagens obtidas por escuta.
 Negação de serviço
 Inundação de rede ou servidor por várias mensagens fazendo
com que a rede seja sobre carregada.
05/11/2015
[email protected]
48
Sistemas Distribuídos
Segurança em sistema distribuído
Introdução a Sistemas Distribuídos
 Alguns mecanismos podem ser utilizados para evitar tais problemas,
como por exemplo:
 Criptografia dos dados e informações que trafegam pela rede,
inclusive senhas.
 Autenticação de usuários para todos os serviços disponíveis no
sistema distribuído.
 Autorização a serviços – somente aquilo que for preciso para
execução;
 Auditoria a serviços disponibilizados pelos sistemas distribuídos.
05/11/2015
[email protected]
49
Sistemas Distribuídos
Tolerância a falhas em um sistema distribuído
Introdução a Sistemas Distribuídos
 Um sistema distribuído pode apresentar alguns estados, sendo estes:
 Sistema próprio: o serviço é fornecido pelo sistema como foi
especificado e esta apto a funcionar e entregar aquilo para que é
proposto.
 Sistema interrompido ou impróprio: o serviço não é fornecido
conforme especificado por faltas, falhas ou erros que possam
acarretar em sua interrupção ou mesmo torná-lo impróprio.
05/11/2015
[email protected]
50
Sistemas Distribuídos
Introdução a Sistemas Distribuídos
Tolerância a falhas em um sistema distribuído
Falha benigna
Sistema
Pronto
Restauração
Falha
Catastrófica
Sistema
Interrompido
Falha
Catastrófica
Sistema
Impróprio
05/11/2015
[email protected]
51
Sistemas Distribuídos
Tolerância a falhas em um sistema distribuído
Introdução a Sistemas Distribuídos
 Falta, Erro, Falha:
 Faltas são defeitos que ocorrem em sistemas
 Originadas por fatores internos ou externos ao sistema.
 Podem ficar dormentes até serem notadas ou ativados por
algum evento.
05/11/2015
[email protected]
52
Sistemas Distribuídos
Tolerância a falhas em um sistema distribuído
Introdução a Sistemas Distribuídos
 Falta, Erro, Falha:
 Erros são resultantes de faltas no sistema
 Ocorrem quando faltas impedem o funcionamento normal do
sistema interrompendo seu fluxo normal.
 Diferentes faltas podem causar o mesmo tipo de erro em um
sistema distribuído.
05/11/2015
[email protected]
53
Sistemas Distribuídos
Tolerância a falhas em um sistema distribuído
Introdução a Sistemas Distribuídos
 Falta, Erro, Falha:
 Falhas podem ocorrer devido a erros no sistema
 A falha é o efeito observável do erro.
 Diversos erros podem levar à mesma falha.
05/11/2015
[email protected]
54
Sistemas Distribuídos
Tolerância a falhas em um sistema distribuído
Introdução a Sistemas Distribuídos
 Falta, Erro, Falha:
 Exemplo: HD
 Um setor do disco pode estar com defeito (falta).
 Um erro de leitura pode ocorrer se um programa tentar ler ou
escrever neste setor defeituoso.
 Pode ocorrer uma falha em um sistema que tente acessar este setor
e não consiga, seja na hora da leitura ou mesmo escrito do arquivo
no disco.
 Se os dados gravados neste setor estiverem replicados em outro
local, o sistema pode tolerar a falta e não apresentar falha.
05/11/2015
[email protected]
55
Sistemas Distribuídos
Tolerância a falhas em um sistema distribuído
Introdução a Sistemas Distribuídos
 Previsão de faltas em um sistema distribuído:
 Estima a probabilidade de que faltas possam ocorrer durante o
processo de execução de um determinada tarefa no sistema
distribuído.
 Permite que se avalie os riscos de falha para o sistema de forma
que este não acarrete em problemas maiores.
05/11/2015
[email protected]
56
Sistemas Distribuídos
Tolerância a falhas em um sistema distribuído
Introdução a Sistemas Distribuídos
 Remoção de faltas em um sistema distribuído
 Consiste em detectar e remover as faltas antes que causem erros
e falhas no sistema distribuído.
 Podem ser utilizadas ferramentas como debugger, scandisk, entre
outras para que seja possível remover eventuais problemas antes
que venha a surgir.
05/11/2015
[email protected]
57
Sistemas Distribuídos
Tolerância a falhas em um sistema distribuído
Introdução a Sistemas Distribuídos
 Prevenção de faltas em um sistema distribuído
 Elimina as condições que fazem com que faltas ocorram durante
a operação do sistema distribuído.
 Usa replicação interna, técnicas de validação entre tantas outras
que possibilitem a prevenção de problemas.
05/11/2015
[email protected]
58
Sistemas Distribuídos
Tolerância a falhas em um sistema distribuído
Introdução a Sistemas Distribuídos
 Tolerância a faltas
 Propriedade que pode ser implementada em um sistema
distribuído de forma que ao se deparar como um falha não
necessariamente o sistema venha a parar.
05/11/2015
[email protected]
59
Sistemas Distribuídos
Tolerância a falhas em um sistema distribuído
Introdução a Sistemas Distribuídos
 Sistemas tolerantes a faltas
 São sistemas capazes de tolerar faltas encontradas durante a sua
execução
 Técnicas de tolerância a faltas
 Permitem prevenir falhas contornando as faltas que os sistemas
podem vir a apresentar ao longo de seu processo de execução.
05/11/2015
[email protected]
60
Sistemas Distribuídos
Tolerância a falhas em um sistema distribuído
Introdução a Sistemas Distribuídos
 Tipos de faltas
 Classificação em relação à sua origem:
 Física: causada pelo hardware (equipamentos).
 De projeto: introduzida durante a fase de projeto do sistema
(durante o processo de construção do sistema distribuído).
 De interação: ocorrida nas interfaces entre componentes do
sistema ou na interação com o mundo exterior , neste caso o
usuário do sistema.
05/11/2015
[email protected]
61
Sistemas Distribuídos
Tolerância a falhas em um sistema distribuído
Introdução a Sistemas Distribuídos
 Tipos de faltas
 Classificação em relação à sua natureza:
 Acidental ou Intencional.
 Maliciosa ou Não.
 Classificação em relação ao seu surgimento:
 Na fase de desenvolvimento do sistema.
 Na fase de operação do sistema.
05/11/2015
[email protected]
62
Sistemas Distribuídos
Tolerância a falhas em um sistema distribuído
Introdução a Sistemas Distribuídos
 Tipos de faltas
 Classificação em relação à sua localização:
 Interna
 Externa
 Classificação em relação à persistência:
 Temporária
 Transiente ou Intermitente
 Permanente
05/11/2015
[email protected]
63
Sistemas Distribuídos
Tolerância a falhas em um sistema distribuído
Introdução a Sistemas Distribuídos
 Tipos de faltas
 Classificação com base no modelo de faltas:
 Faltas Omissivas:
 Crash: deixa o sistema distribuído sem funcionar
permanentemente.
 Omissão: o sistema deixa de fazer o que deveria em um
determinado instante durante seu processo de execução.
 Temporal: o sistema atrasou-se para executar uma
determinada ação
05/11/2015
[email protected]
64
Sistemas Distribuídos
Tolerância a falhas em um sistema distribuído
Introdução a Sistemas Distribuídos
 Tipos de faltas
 Classificação com base no modelo de faltas:
 Faltas Assertivas
 Sintática: formato da saída é inadequado.
 Semântica: saída apresenta valor incorreto.
 Faltas Arbitrárias: omissivas + assertivas
05/11/2015
[email protected]
65
Sistemas Distribuídos
Tolerância a falhas em um sistema distribuído
Introdução a Sistemas Distribuídos
 Tipos de faltas
 Classificação com base no modelo de faltas:
 Faltas Assertivas
 Sintática: formato da saída é inadequado.
 Semântica: saída apresenta valor incorreto.
 Faltas Arbitrárias: omissivas + assertivas
05/11/2015
[email protected]
66
Sistemas Distribuídos
Sistemas centralizados VS Sistemas distribuídos
Introdução a Sistemas Distribuídos
 Características de sistemas centralizados
 Acesso local;
 Homogeneidade;
 Facilidade de gerência;
 Maior consistência;
 Segurança contra intrusos.
05/11/2015
[email protected]
67
Sistemas Distribuídos
Sistemas centralizados VS Sistemas distribuídos
Introdução a Sistemas Distribuídos
 Características de sistemas distribuídos:
 Acesso remoto;
 Heterogeneidade;
 Modularidade;
 Escalabilidade;
 Compartilhamento de recursos;
 Degradação paulatina;
 Mais sujeito a ataques;
 Custo menor a longo prazo.
05/11/2015
[email protected]
68
Sistemas Distribuídos
Supercomputadores e sistemas distribuídos
Introdução a Sistemas Distribuídos
 Um supercomputador é um tipo especializado de computador utilizado
para tarefas complicadas, como:
 Previsão do tempo;
 Pesquisas biológicas.
 Energia nuclear;
 Aeronáutico;
 Indústria de animação;
 Outros;
05/11/2015
[email protected]
69
Sistemas Distribuídos
Supercomputadores e sistemas distribuídos
Introdução a Sistemas Distribuídos
 Sua capacidade de operação possibilita executar até 35,6 trilhões de
problemas matemáticos por segundo.
 Exemplo de aplicação matemática que necessita de grande poder de
processamento:
 Situações físicas podem ser descritas por uma superfície ou região em
3D e tal superfície é aproximada por uma matriz de pontos;
 Um conjunto de equações define o comportamento físico da superfície
em cada ponto;
 Equações representadas como uma matriz de coeficientes e valores;
 Operações sobre as matrizes soluciona o sistema de equações.
05/11/2015
[email protected]
70
Sistemas Distribuídos
Supercomputadores e sistemas distribuídos
Introdução a Sistemas Distribuídos
 Características dos supercomputadores:
 Capacidade de processamento de Gflops / Tflops;
 Custo aproximado: US$ 10 a 15 milhões;
 Possibilitam a execução em paralelo de diversas tarefas;
05/11/2015
[email protected]
71
Sistemas Distribuídos
Introdução a Sistemas Distribuídos
Exemplo de um Sistema Distribuído
05/11/2015
[email protected]
72
Sistemas Distribuídos
Exemplo de um Sistema Distribuído
Introdução a Sistemas Distribuídos
 O primeiro da lista atualmente, é o Cray XT5-HE (conhecido como
Jaguar);
 Oferece um desempenho bruto de 1.76 petaflops (1.760.000
megaflops);
 É baseado no Opteron de 6 núcleos com o Istambul;
 Inclui um total de nada menos que 37.376 processadores, ou seja,
224.256 núcleos (um quarto de milhão!) em um sistema de
processamento distribuído
05/11/2015
[email protected]
73
Sistemas Distribuídos
Exemplo de um Sistema Distribuído
Introdução a Sistemas Distribuídos
 O Jaguar inclui nada menos que 4.672 gabinetes como este, ligados
por meio de uma topologia proprietária de rede, com um total de 300
TB de memória e 10 PB de armazenamento centralizado.
05/11/2015
[email protected]
74
Sistemas Distribuídos
Exemplo de um Sistema Distribuído
Introdução a Sistemas Distribuídos
 Link com acesso a um artigo que trata sobre o uso de um sistema
distribuído:
 Criando um sistema distribuído com o NI VeriStand 2010 http://zone.ni.com/devzone/cda/tut/p/id/12189.
05/11/2015
[email protected]
75
Sistemas Distribuídos
Supercomputadores
Introdução a Sistemas Distribuídos
 Os 5 supercomputadores mais rápidos segundo a lista do TOP 500
são:
 1º da lista: XT Jaguar, fabricado pela Cray (instalado nos USA laboratório Oak Ridge National, em Tennessee). Roda um sistema
baseado em Linux. Possui 224.162 núcleos de processamento para
gerar uma potência de 1.760 teraflops de processamento. Utilizado
para pesquisar temas relacionados à geração de energia limpa, entre
outras coisas.
05/11/2015
[email protected]
76
Sistemas Distribuídos
Introdução a Sistemas Distribuídos
Supercomputadores
05/11/2015
[email protected]
77
Sistemas Distribuídos
Supercomputadores
Introdução a Sistemas Distribuídos
 Os 5 supercomputadores mais rápidos segundo a lista do TOP 500
são:
 2º da lista: Roadrunner (construído pela IBM). Está instalado numa
área de quase 600 metros quadrados do Laboratório de Los Alamos,
na cidade do Novo México, nos USA. O Roadrunner é preparado para
chegar aos 1.700 teraflops por segundo, contudo, seu pico foi de
1.100 teraflops. Este supercomputador é utilizado para pesquisar os
efeitos (e o poder) de armas nucleares.
05/11/2015
[email protected]
78
Sistemas Distribuídos
Introdução a Sistemas Distribuídos
Supercomputadores
05/11/2015
[email protected]
79
Sistemas Distribuídos
Supercomputadores
Introdução a Sistemas Distribuídos
 Os 5 supercomputadores mais rápidos segundo a lista do TOP 500
são:
 3º da lista: Kraken, também desenvolvido pela Cray. Funciona no
Instituto Nacional de Ciências da Computação, na universidade
americana de Tennessee. Atinge níveis de processamento de 832
teraflops por segundo.
05/11/2015
[email protected]
80
Sistemas Distribuídos
Introdução a Sistemas Distribuídos
Supercomputadores
05/11/2015
[email protected]
81
Sistemas Distribuídos
Supercomputadores
Introdução a Sistemas Distribuídos
 Os 5 supercomputadores mais rápidos segundo a lista do TOP 500
são:
 4º da lista: JUGENE (Construído pela IBM – esta localizado na
Alemanha). Atinge a capacidade de processamento de 825,5 teraflops
por segundo. É utilizado por cientistas e pesquisadores do Jülich
Research Centre. Roda um sistema Linux e, recentemente, foi
classificado como um dos supercomputadores que menos consomem
energia elétrica.
05/11/2015
[email protected]
82
Sistemas Distribuídos
Introdução a Sistemas Distribuídos
Supercomputadores
05/11/2015
[email protected]
83
Sistemas Distribuídos
Supercomputadores
Introdução a Sistemas Distribuídos
 Os 5 supercomputadores mais rápidos segundo a lista do TOP 500
são:
 5º da lista: Tianhe-I (localizado na China). Construído por engenheiros
da Universidade Nacional de Defesa e Tecnologia da China, o
supercomputador oriental foi construído para ajudar na construção de
aeronaves e na exploração de petróleo. Possui capacidade de
processamento de 563 teraflops de cálculos matemáticos por
segundo.
05/11/2015
[email protected]
84
Sistemas Distribuídos
Introdução a Sistemas Distribuídos
Supercomputadores
05/11/2015
[email protected]
85
Sistemas Distribuídos
Introdução a Sistemas Distribuídos
Referências sobre supercomputadores

http://www.inf.ufrgs.br/gppd/disc/cmp134/trabs/T1/991/Crayt94/crayt94.htm

Lista com os 500 supercomputadores mais velozes do mundo http://www.top500.org/lists/2009/11
05/11/2015
[email protected]
86
Sistemas Distribuídos
Introdução a Sistemas Distribuídos
São Paulo, 2011
Universidade Paulista (UNIP)
Introdução ao Estudo de Sistemas
Distribuídos (SD)
Prof. MSc. Vladimir Camelo
[email protected]
05/11/2015
[email protected]
87
Download

Sistemas Distribuídos