View
255
Download
4
Category
Preview:
Citation preview
Caracterização de Sistemas Distribuídos
CURSO DE CIÊNCIA DA COMPUTAÇÃODISCIPLINA DE SISTEMAS DISTRIBUÍDOS
PROF. MESSIAS R. BATISTA
Agenda
▫ Definição de Sistemas
Distribuídos
▫ Metas
▫ Tipos de Sistemas
Distribuídos
2
IntroduçãoO que aconteceu de 1945 até 2017?
3
1945Revolução dos Computadores
▫ Poucos computadores nas organizações;
▫ Funcionavam de forma independente;
4
1980Mais 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 Computadores1940-1959
6
Revolução dos Computadores1959-1965
7
Revolução dos Computadores1965-1970
8
Revolução dos Computadores1970~
9
10
Primeiro avanço tecnológico!
“O desenvolvimento de microprocessadores degrande 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
““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 é umsistema
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
MetasAs quatros coordenadas
23
24
Não seria mais simplesconectar 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 RecursosMeta
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çãoMeta
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 havertransparência?
AberturaMeta
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
EscalabilidadeMeta
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ídosTipos de Sistemas Distribuídos
60
Cluster e GridTipos 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ídosTipos 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 PervasivosTipos 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ésticosTipos de Sistemas DistribuídosSistemas Distribuídos Pervasivos
76
77
Sistemas Eletrônicos para Tratamento de SaúdeTipos de Sistemas DistribuídosSistemas Distribuídos Pervasivos
78
79
Redes de SensoresTipos de Sistemas DistribuídosSistemas Distribuídos Pervasivos
80
81
ConclusãoSistemas 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ÇÃODISCIPLINA DE SISTEMAS DISTRIBUÍDOS
PROF. MESSIAS R. BATISTA
Recommended