Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

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

Infográfico: A evolução da Web

13

““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