Buscar

Aula 2 2 - Caracterização de Sistemas Distribudos

Prévia do material em texto

Caracterização de 
Sistemas 
Distribuídos
CURSO DE CIÊNCIA DA COMPUTAÇÃO
DISCIPLINA DE SISTEMAS DISTRIBUÍDOS
PROF. MESSIAS R. BATISTA
Agenda
▫Definição de Sistemas Distribuídos
▫Metas
▫Tipos de Sistemas Distribuídos
2
Introdução
O que aconteceu de 1945 até 2017?
3
1945
Revolução dos 
Computadores
▫Poucos computadores nas 
organizações;
▫Funcionavam de forma 
independente;
4
1980
Mais revoluções
▫Desenvolvimento dos 
microprocessadores de grande 
capacidade;
▪Máquinas de 8, 16, 32, 64 
bits;
▪Máquinas com capacidade 
de mainframe;
▪Redução do custo.
5
Revolução dos 
Computadores
1940-1959
6
Revolução dos 
Computadores
1959-1965
7
Revolução dos 
Computadores
1965-1970
8
Revolução dos 
Computadores
1970~
9
10
Primeiro avanço tecnológico!
“O desenvolvimento de 
microprocessadores de
grande capacidade.”
11
Segundo avanço tecnológico!
“O segundo desenvolvimento foi 
a invenção de redes de 
computadores de alta 
velocidade.”
Redes de 
Computadores
▫Localmente permitiram a
conexão de centenas de
máquinas em um edifício;
▫Redes de longa distância
permitiram que milhões de
máquinas no mundo se
conectem;
12
Infográfico: A evolução da Web
13
http://evolutionofweb.appspot.com/
http://evolutionofweb.appspot.com/
“
“O resultado dessas tecnologias é 
que, atualmente não é somente 
viável, mas também fácil de montar 
sistemas de computação compostos 
por quantidades de computadores 
conectados por uma rede de alta 
velocidade.”
14
Definição de um 
Sistemas 
Distribuído
15
16
O que é um
sistema distribuído?
17
Como o desenvolvedor sabe o que é
sistema distribuído?
18
Como o usuário sabe o que é
sistema distribuído?
“
“Um sistema distribuído é um 
conjunto de computadores 
independentes que se apresenta a 
seus usuário como um sistema 
único e coerente.”
(Tanenbaum; Van Steen)
19
20
Citem alguns exemplos de 
sistemas distribuídos...
Analisando a 
definição
21
▫Sistemas distribuídos consistem em componentes
autônomos;
▫Usuários (pessoas ou programas), acham que estão
utilizando um único sistema;
▫Os componentes precisam colaborar;
▫Como colaborar é o cerne ao se desenvolver
sistemas distribuídos;
▫Não é importante o tipo de componentes;
▫“Um sistema distribuído é um 
conjunto de computadores 
independentes que se 
apresenta a seus usuário como 
um sistema único e coerente.”
▫(Tanenbaum; Van Steen)
A camada de 
software
(middleware)
22
Metas
As quatros coordenadas
23
24
Não seria mais simples
conectar vários recursos a um 
computador em vez de criar um 
Sistemas Distribuído?
Metas 
Existem quatro metas importantes a
serem cumpridas na construção de
um sistemas distribuído.
▫ Acesso a recursos;
▫ Ocultação de recursos;
▫ Aberto;
▫ Expansível.
25
Acessa a Recursos
Meta
26
Acesso a 
Recursos
27
▫ Economia a partir do 
compartilhamento de recursos;
Acesso a 
recursos
(cuidados)
28
▫ Sistemas que oferecem pouco proteção;
▪ Informações sensíveis enviados como texto
comum;
▪ Rastreamento de comunicações para
montar um perfil de usuário específico;
Transparência da 
Distribuição
Meta
29
Transparência 
da Distribuição
30
▫“Uma meta importante de um sistema 
distribuído é ocultar o fato de que seus 
processos e recurso estão fisicamente 
distribuídos por vários computadores”
Transparências 
da Distribuição
31 Tipos de Transparência
Transparência Descrição
Acesso
Oculta diferenças na representação de dados e no 
modo de acesso a um recurso
Localização Oculta o lugar em que um recurso está localizado
Migração
Oculta que um recurso pode ser movido para 
outra localização
Relocação
Oculta que um recurso pode ser movido para uma 
outra localização enquanto em uso
Replicação Oculta que um recurso é replicado 
Concorrência
Oculta que um recurso pode ser compartilhado 
por diversos usuário concorrentes
Falha Oculta a falha e a recuperação de um recurso
Fonte: TANENBAUM; STEEN, 2008, p. 3
Transparência 
da Distribuição
32
▫ Diferenças em representação 
de dados;
▫ O modo como os usuário 
acessam os recursos;
Transparência de 
acesso
Transparência 
da Distribuição
33
▫ Usuários não podem afirmar a 
localização física de um 
recurso;
▪ Por exemplo: utilização de nomes 
lógicos, como a url.;
Transparência de 
localização
Transparência 
da Distribuição
34
▫ Usuários não podem afirmar a 
localização de um recurso ou 
se ele sempre esteve ali;
▪ Exemplo: um arquivo index 
em um servidor web.
Transparência de 
migração
Transparência 
da Distribuição
35
▫ Usuários não percebem que 
recurso são relocados durante 
a utilização
▪ Exemplo: uso de redes 
móveis.
Transparência de 
relocação
Transparência 
da Distribuição
36
▫ Oculta o fato de terem várias 
cópias disponíveis do mesmo 
conteúdo;
▪ Como funcionam as redes 
sociais?
Transparência de 
replicação
Transparência 
da Distribuição
37
▫ Oculta o fato de dois ou mais 
usuários estarem utilizando o 
mesmo recurso;
▪ Deverá acontecer mesmo 
que exista impacto de um 
sobre o outro.
Transparência de 
concorrência
Transparência 
da Distribuição
38
▫ O usuário não percebe que um 
recurso falhou e se recuperou;
Transparência à 
falha
“
A principal dificuldade para 
mascarar falhas está na 
incapacidade de distinguir 
entre um recurso morto e um 
recurso insuportavelmente 
lento.
39
Transparência 
da Distribuição
40
▫ Distância percorrida por uma informação pela
rede tem a limitação da velocidade da luz;
▫ Repetir a conexão com o servidor diversas
vezes, antes de desistir;
▫ Cópias (replicações) com servidores em
continentes diferentes;
Grau de 
Transparência
41
é necessário haver
transparência?
Abertura
Meta
42
Abertura
43
“Um sistema distribuído aberto é um
sistema que oferece serviços de acordo
com regras padronizadas que
descrevem a sintaxe e a semântica
desses serviços”
44
Abertura
45
Interoperabilidade: o ponto no qual
dois serviço ou recursos trabalham
juntos baseada na confiança, dado
seus diferentes fabricantes.
Portabilidade: capacidade de uma
aplicação desenvolvido para A poder
ser utilizada em B sem alterações.
Conceitos 
importantes
Escalabilidade
Meta
46
Escalabilidade
47
“[...] a escalabilidade é uma das mais
importantes metas de projeto para
desenvolvedores de sistemas distribuídos”
▫ Dimensões:
▪ Escalável quanto ao seu tamanho;
▪ Escalável em termos geográficos;
▪ Escalável em termos administrativos;
Escalabilidade
48
Problema de 
Escalabilidade
Conceito Exemplo
Serviços centralizados
Um único servidor para todos os 
usuários
Dados centralizados Uma única lista telefônica on-line
Algoritmos centralizados
Fazer roteamento com base em 
informações completas
Fonte: TANENBAUM; STEEN, 2008, p. 3
Escalabilidade
49
▫ Sincronia entre os relógios;
▫ Escalabilidade geográfica;Outros problemas
Técnicas de 
Escalabilidade
50
“[...]problemas de escalabilidade em
sistemas distribuídos aparecem como
problemas de desempenho causados
por capacidade limitada de servidores
e rede”
Técnicas de 
Escalabilidade
51
▫ Ocultar latências de comunicação;
▫ Distribuição;
▫ Replicação.
Técnicas de 
Escalabilidade
52
▫ Evitar esperar por respostas a
requisições remotas;
▪ Utilizar requisições assíncronas;
Ocultar latências 
de comunicação
53
Técnicas de 
Escalabilidade
54
▫ Subdivisão de componentes em
partes menores, em sequência,
espalhando-os pelo sistema;
Distribuição
Técnicas de 
Escalabilidade
55
▫ Objetiva resolver o problema de
desempenho;
▫ Aumenta a disponibilidade e o
equilíbrio de carga entre
componentes;
▫ Em sistemas geográficos auxiliar na
diminuição da latência;
Exemplo: cache
Replicação
Técnicas de 
Escalabilidade
56
▫ Escalabilidade geográfica;
▪ Problema centrado na própria
natureza;
▫ Escalabilidade administrativa;
▪ Apresenta problemas não técnicos
relacionados as organizações e
suas políticas.
57
É possível cumprir as metas 
propostas?
CiladasMeta
58
Ciladas em 
Sistemas 
Distribuídos
59
▫ A rede é confiável;
▫ A rede é segura;
▫ A rede é homogênea;
▫ A topologia não muda;
▫ A latência é zero;
▫ A largura de banda é infinita;
▫ O custo de transporte é zero;
▫ Há só um administrador.
Tipos de Sistemas 
Distribuídos
Tipos de Sistemas Distribuídos
60
Cluster e Grid
Tipos de Sistemas Distribuídos
61
Sistemas de 
computação 
distribuídos
62
“[...] o hardware subjacente consiste
em um conjunto de estações de
trabalho ou PCs semelhantes
conectados por meio de uma rede local
de alta velocidade”
Computação de 
Cluster
Sistemas de 
computação 
distribuídos
63
Computação de 
Cluster
Sistemas de 
computação 
distribuídos
64
“[...] consiste em sistemas distribuídos
que costumam ser montados como
federação de computadores, na qual
cada sistema pode cair sob um
domínio administrativo diferente”
Computação em 
Grade
Sistemas de 
computação 
distribuídos
65
Computação de 
Grade
Sistemas de 
Informação 
Distribuídos
Tipos de Sistemas Distribuídos
66
Sistemas de 
Informação 
Distribuídos
67
▫ Sistemas de Processamento
de Transações;
▫ Integração de Aplicações
Empresariais;
Sistemas de 
Processamento 
de Transações
68
Primitiva Descrição
BEGIN_TRANSACTION Marque o inicio de uma transação
END_TRANSACTION
Termine a transação e tente 
comprometê-la
ABORT_TRANSACTION
Elimine a transação e restaure os 
valores antigos
READ
Leia dados de um arquivo, tabela 
ou de outra forma
WRITE
Escreva dados para um arquivo, 
tabela
Fonte: TANENBAUM; STEEN, 2008, p. 12
Sistemas de 
Processamento 
de Transações
69
▫ Atômicas: para o mundo exterior, a transação 
acontece como se fosse indivisível;
▫ Consistente: a transação não viola invariantes de 
sistema;
▫ Isoladas: transações concorrentes não interferem 
umas com as outras;
▫ Duráveis: uma vez comprometida uma transação, 
as alterações são permanentes.
ACID
Sistemas de 
Processamento 
de Transações
70
Transação 
Aninhada
Sistemas de 
Processamento 
de Transações
71
Transação 
Aninhada
Integração de 
Aplicações 
Empresariais
72
Sistemas 
Distribuídos 
Pervasivos
Tipos de Sistemas Distribuídos
73
Sistemas 
Distribuídos 
Pervasivos
74
“[...] a questão ficou muito diferente
com a introdução de dispositivos de
computação móveis e embutidos.
Atualmente encontramos sistemas
distribuídos nos quais a instabilidade é
o comportamento esperado”
Sistemas 
Distribuídos 
Pervasivos
75
▫ Adotar mudanças contextuais;
▫ Incentivar composição ad hoc;
▫ Reconhecer compartilhamento como
padrão.
Sistemas 
Domésticos
Tipos de Sistemas Distribuídos
Sistemas Distribuídos Pervasivos
76
77
Sistemas 
Eletrônicos para 
Tratamento de 
Saúde
Tipos de Sistemas Distribuídos
Sistemas Distribuídos Pervasivos
78
79
Redes de 
Sensores
Tipos de Sistemas Distribuídos
Sistemas Distribuídos Pervasivos
80
81
Conclusão
Sistemas Distribuídos
82
Referências
83
TANENBAUM, A. S.; STEEN, M. V. Sistemas
Distribuídos: princípios e paradigmas. 2.ed. São
Paulo, SP: Pearson Prentice Hall, 2008
Caracterização de 
Sistemas 
Distribuídos
CURSO DE CIÊNCIA DA COMPUTAÇÃO
DISCIPLINA DE SISTEMAS DISTRIBUÍDOS
PROF. MESSIAS R. BATISTA

Mais conteúdos dessa disciplina