sistemasdistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. ·...

38
Sistemas Distribuídos STD6 – Engenharia de Telecomunicações Prof. Emerson Ribeiro de Mello http://docente.ifsc.edu.br/mello/std

Upload: others

Post on 01-Dec-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

SistemasDistribuídosSTD29006 – Engenharia de Telecomunicações

Prof. Emerson Ribeiro de Mello

http://docente.ifsc.edu.br/mello/std

17 DE NOVEMBRO DE 2020

Page 2: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Licenciamento

cb

Estes slides estão licenciados com uma Licença Creative Commons“Atribuição 4.0 Internacional”.

1/21

Page 3: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Escalonamento vertical

Adiciona mais recursos (memória,cpu, disco) em um único nó parapermitir que atenda o aumento dademanda

2/21

Page 4: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Escalonamento horizontal

Capacidade de processamento e armazenamento é aumentada pormeio de adição de novos nós no cluster

Escalabilidade horizontal é a opção mais barata e flexível, porém possuiuma maior complexidade

Sistema centralizado vs sistema distribuído

3/21

Page 5: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Escalonamento horizontal

Capacidade de processamento e armazenamento é aumentada pormeio de adição de novos nós no cluster

Escalabilidade horizontal é a opção mais barata e flexível, porém possuiuma maior complexidade

Sistema centralizado vs sistema distribuído

3/21

Page 6: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Fonte: HP

4/21

Page 7: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Fonte: HP

4/21

Page 8: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Fonte: HP

4/21

Page 9: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Fonte: HP 4/21

Page 10: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Introdução aos Sistemas DistribuídosMetas para construir um SD

1 Tornar os recursos acessíveis

2 Transparência

3 Ser aberto

4 Escalabilidade

5 Concorrência

5/21

Page 11: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Tornar os recursos acessíveis

Dar acesso a recursos de forma fácil, eficiente e controlada para osusuários (pessoas ou aplicações)

impressoras, computadores, storage, arquivos, etc.

O compartilhamento de recursos antes isolados, traz agorapreocupações com a segurança

Acesso indevido, abuso de recursos, privacidade dos usuários

6/21

Page 12: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Transparência

Esconder dos usuários o fato que o processamento e os recursos estãofisicamente distribuídos por diversos computadores

O usuário deve enxergar como um único sistemaA Internet é uma caixa preta? – http://goo.gl/d8stLV

TipoAcessoLocalizaçãoDesempenhoMobilidadeReplicaçãoConcorrênciaFalhas

7/21

Page 13: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Transparência

Esconder dos usuários o fato que o processamento e os recursos estãofisicamente distribuídos por diversos computadores

O usuário deve enxergar como um único sistemaA Internet é uma caixa preta? – http://goo.gl/d8stLV

TipoAcessoLocalizaçãoDesempenhoMobilidadeReplicaçãoConcorrênciaFalhas

7/21

Page 14: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Transparência

Esconder dos usuários o fato que o processamento e os recursos estãofisicamente distribuídos por diversos computadores

O usuário deve enxergar como um único sistemaA Internet é uma caixa preta? – http://goo.gl/d8stLV

TipoAcessoLocalizaçãoDesempenhoMobilidadeReplicaçãoConcorrênciaFalhas

Esconder as diferenças para representação dosdados

Como os dados serão representados emdiferentes arquiteturas de máquinas esistemas operacionaisEx: Convenções para nomes de arquivos, bemcomo sua manipulação em diferentessistemas operacionais

Usuários e aplicações não precisam terciência disto

7/21

Page 15: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Transparência

Esconder dos usuários o fato que o processamento e os recursos estãofisicamente distribuídos por diversos computadores

O usuário deve enxergar como um único sistemaA Internet é uma caixa preta? – http://goo.gl/d8stLV

TipoAcessoLocalizaçãoDesempenhoMobilidadeReplicaçãoConcorrênciaFalhas

Esconder a localização dos recursosUsuário não consegue determinar onde umrecurso está localizado fisicamente nosistemaEx: http://docente.ifsc.edu.br/mello

Onde está localizado o servidor web do IFSC?

7/21

Page 16: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Transparência

Esconder dos usuários o fato que o processamento e os recursos estãofisicamente distribuídos por diversos computadores

O usuário deve enxergar como um único sistemaA Internet é uma caixa preta? – http://goo.gl/d8stLV

TipoAcessoLocalizaçãoDesempenhoMobilidadeReplicaçãoConcorrênciaFalhas

Permitir que o sistema seja reconfigurado paramelhorar o desempenho de acordo com a carga

Novos servidores web poderiam seragregados para ajudar no balanceamento decarga em períodos críticosEx: Dia do resultado do ENEM

7/21

Page 17: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Transparência

Esconder dos usuários o fato que o processamento e os recursos estãofisicamente distribuídos por diversos computadores

O usuário deve enxergar como um único sistemaA Internet é uma caixa preta? – http://goo.gl/d8stLV

TipoAcessoLocalizaçãoDesempenhoMobilidadeReplicaçãoConcorrênciaFalhas

Esconder a mudança de localização enquanto osrecursos estão sendo acessados

Ex: Quando você ouve, sem interrupções, suarádio on-line no celular pela rede WiFi durantesua movimentação pelo câmpus

7/21

Page 18: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Transparência

Esconder dos usuários o fato que o processamento e os recursos estãofisicamente distribuídos por diversos computadores

O usuário deve enxergar como um único sistemaA Internet é uma caixa preta? – http://goo.gl/d8stLV

TipoAcessoLocalizaçãoDesempenhoMobilidadeReplicaçãoConcorrênciaFalhas

Esconder que os recursos são replicadosRecursos podem ser replicados para aumentara disponibilidade ou desempenhoEx: Quando acessa a página do google, emqual servidor está se conectando? No maispróximo do teu computador ou no servidor noEUA?

7/21

Page 19: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Transparência

Esconder dos usuários o fato que o processamento e os recursos estãofisicamente distribuídos por diversos computadores

O usuário deve enxergar como um único sistemaA Internet é uma caixa preta? – http://goo.gl/d8stLV

TipoAcessoLocalizaçãoDesempenhoMobilidadeReplicaçãoConcorrênciaFalhas

Esconder que o recurso pode estar sendocompartilhado de forma concorrente com outrosusuários

Dois usuários estão no mesmo momentoacessando a mesma tabela no Banco deDadosO sistema deverá garantir o acessoconcorrente ao mesmo tempo que garante aconsistência dos dados (geralmenteprotegidos por locks)

7/21

Page 20: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Transparência

Esconder dos usuários o fato que o processamento e os recursos estãofisicamente distribuídos por diversos computadores

O usuário deve enxergar como um único sistemaA Internet é uma caixa preta? – http://goo.gl/d8stLV

TipoAcessoLocalizaçãoDesempenhoMobilidadeReplicaçãoConcorrênciaFalhas

Esconder as falhas de um recurso, bem como suarecuperação

Servidor web possui 3 réplicas para melhorar odesempenhoSe uma réplica falhar, o serviço continuaacessívelQuando a réplica que falhou for recuperada,nada muda na forma de acesso para o usuário

7/21

Page 21: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Transparência

É impossível prover um sistema distribuído completamentetransparente

Impossível esconder a latência na transmissão pela Internet

Nem sempre será possível esconder falhas do sistema

Em alguns casos é desejável que o usuário tenha ciênciaEx: O usuário precisa saber onde está a impressora para ondemandou o trabalho

8/21

Page 22: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Ser aberto

Permitir ser estendido ou implementado de diferentes formas

Exemplos:Computador pessoal – Periféricos de diferentes fabricantes

Rede TCP/IP – computadores com diferentes arquiteturas e sistemasoperacionais conseguem interagir sem problema

Especificações abertas dos protocolos – www.ietf.org

Sistema Distribuído Aberto

Faz uso de mecanismos de comunicação padronizados e tornapúblico interfaces para acesso aos recursos compartilhados

Pode ser construído com hardware e software heterogêneos,possivelmente de diferentes fabricantes

9/21

Page 23: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Ser aberto

Permitir ser estendido ou implementado de diferentes formas

Exemplos:Computador pessoal – Periféricos de diferentes fabricantes

Rede TCP/IP – computadores com diferentes arquiteturas e sistemasoperacionais conseguem interagir sem problema

Especificações abertas dos protocolos – www.ietf.org

Sistema Distribuído Aberto

Faz uso de mecanismos de comunicação padronizados e tornapúblico interfaces para acesso aos recursos compartilhados

Pode ser construído com hardware e software heterogêneos,possivelmente de diferentes fabricantes

9/21

Page 24: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Sistema Distribuído Aberto

É desejado que o sistema seja organizado como uma coleção decomponentes que possam ser facilmente adaptados ousubstituídos

Deve-se publicar definições de interfaces de alto nível (vistas pelosusuários) e também de interfaces internas (vistas pelas partesinternas do sistema)

A separação das políticas dos mecanismos garante uma maiorflexibilidade aos sistemas abertos

mecanismo: cache do navegador web

política: usuário indica o que salvar e por quanto tempo

10/21

Page 25: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Escalabilidade

Sistemas centralizados não são escaláveisEx: Um único servidor de arquivos centralizado

Aumento no número de usuários e recursos demandará maior poder deprocessamento, armazenamento e taxa de transferência paracomunicação

Se os usuários estão espalhados pelo globo, logo resultará em umagrande latência na comunicação com o servidor

Um sistema é dito escalável se continuar efetivo mesmo diante deum aumento no número de recursos e usuários

Pode ser medido em três dimensões:tamanho – número de usuários e/ou recursos

dispersão geográfica – distância entre os nós

administração – número de domínios administrativos

11/21

Page 26: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Escalabilidade

Sistemas centralizados não são escaláveisEx: Um único servidor de arquivos centralizado

Aumento no número de usuários e recursos demandará maior poder deprocessamento, armazenamento e taxa de transferência paracomunicação

Se os usuários estão espalhados pelo globo, logo resultará em umagrande latência na comunicação com o servidor

Um sistema é dito escalável se continuar efetivo mesmo diante deum aumento no número de recursos e usuários

Pode ser medido em três dimensões:tamanho – número de usuários e/ou recursos

dispersão geográfica – distância entre os nós

administração – número de domínios administrativos

11/21

Page 27: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Escalabilidade

Qual topologia é mais escalável?

12/21

Page 28: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Desafios para projetar um sistema distribuído escalável

Gerenciar o custo dos recursos físicosSer possível estender o sistema com um custo aceitável para atendernova demanda

Gerenciar a perda de desempenhoEstruturas hierárquicas (ex: DNS) são escaláveis, mas implicam emuma perda de desempenho se comparada com uma estrutura plana

Comunicação síncrona só é adequada para redes locais (confiáveis)Redes de longa distância (WAN) requerem comunicação assíncrona

Prevenir que os recursos de software se esgotemNúmero de IPs da versão 4 é um exemplo de recurso que se esgotou

Prever a demanda com base em um crescimento futuro é algocomplicado

Evitar gargalosUso de algoritmos descentralizados (ex: DNS)

13/21

Page 29: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Técnicas para projetar sistema distribuído escalávelOcultar a latência inerente da comunicação

Comunicação síncrona – o cliente só prossegue em sua execuçãoapós receber a resposta de seu pedido enviado ao servidor

Client

Request Reply

ServerProvide service Time

Wait for result

Comunicação assíncrona – evita bloquear o cliente enquantoaguarda pela resposta do servidor

Call local procedure

Call remoteprocedure

Returnfrom call

Client

RequestAcceptrequest

ServerTime

Wait foracceptance

Interrupt client

Returnresults Acknowledge

Call client withone-way RPC

14/21

Page 30: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Técnicas para projetar sistema distribuído escalávelOcultar a latência inerente da comunicação

Comunicação síncrona – o cliente só prossegue em sua execuçãoapós receber a resposta de seu pedido enviado ao servidor

Client

Request Reply

ServerProvide service Time

Wait for result

Comunicação assíncrona – evita bloquear o cliente enquantoaguarda pela resposta do servidor

Call local procedure

Call remoteprocedure

Returnfrom call

Client

RequestAcceptrequest

ServerTime

Wait foracceptance

Interrupt client

Returnresults Acknowledge

Call client withone-way RPC

14/21

Page 31: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Técnicas para projetar sistema distribuído escalávelOcultar a latência inerente da comunicação

Comunicação assíncrona não é adequada para aplicaçõesinterativas, onde o usuário aguarda por uma resposta rápida

Mover para o cliente a maior parte possível de tarefas deprocessamento, reduzirá carga no servidor

MA

AR

TE

N

MAARTEN

MAARTEN

[email protected]

[email protected]

VAN STEEN

VAN STEEN

FIRST NAME

FIRST NAME

LAST NAME

LAST NAME

E-MAIL

E-MAIL

Server

Server

Client

Client

Check form

Check form

Process form

Process form

MAARTENVAN [email protected]

(a)

(b)

É preferível enviaruma únicamensagem grande,do que váriasmensagenspequenas

15/21

Page 32: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Técnicas para projetar sistema distribuído escalávelDistribuição das responsabilidades

Divida um componente em diversas pequenas partes e as espalhepelo sistema

Cada parte fica com uma pequena responsabilidade de todo osistema

int com edu gov mil org net jp us nl

sun

eng

yale

eng

ai linda

robot

acm

jack jill

ieee

keio

cs

cs

pc24

co

nec

csl

oce vu

cs

flits fluit

ac

Generic Countries

Z1

Z2

Z3

16/21

Page 33: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Técnicas para projetar sistema distribuído escalávelReplicação dos componentes

Aumentar disponibilidade e balancear cargaRéplicas poderiam estar mais próximas dos clientes, melhorandotambém o desempenho

A forma que servidores DNS fazem uso do cache é considerado umtipo de replicação

Na primeira consulta do cliente, o servidor vai em busca da resposta esalva no cache

Consultas subsequentes o servidor só busca no cache

A consistência dos dados nas diferentes réplicas é a principaldificuldade

Cache do DNS x tempo de validade dos registros

17/21

Page 34: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Concorrência

Em um sistema distribuído os recursos podem estar espalhados pordiversas máquinas

Existe a possibilidade de diversos clientes tentarem acessar ummesmo recurso no mesmo instante

Deve-se garantir a consistência dos dados nas múltiplas réplicas ediante de múltiplos acessos

Operações devem ser sincronizadas e ordenadas

Vocês já viram isto com “semáforos nos sistemas operacionais”

18/21

Page 35: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Resumo

Compartilhamento de recursos é o principal fator motivador para SD

A transparência permite esconder do usuário que o processamentoe recursos estão distribuídos

Ser construído de forma modular e sobre uma base deespecificações e padrões abertos

Torna mais fácil estender ou substituir componentes

Garante a interoperabilidade entre implementações de diferentesfabricantes

Distribuição das responsabilidades e replicação dos componentessão propriedades para um SD ser escalável

Deve-se garantir a consistência mesmo diante de concorrência

Redes de longa distância são diferentes das redes locaissegurança, confiabilidade, latência, heterogeneidade, taxa detransferência e administração

19/21

Page 36: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Questoes

Page 37: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Questões

1 Por qual motivo você deveria projetar um sistema como um sistemadistribuído?

2 Liste as desvantagens de um sistema distribuído quandocomparado com um sistema centralizado.

3 Explique o significado da transparência em sistemas distribuídos eapresente alguns exemplos para os diferentes tipos detransparência.

20/21

Page 38: SistemasDistribuídosdocente.ifsc.edu.br/mello/std/std-aula-02-introducao.pdf · 2020. 10. 22. · sistemas operacionais Ex: Convenções para nomes de arquivos, bem como sua manipulação

Aulas baseadas em

TANENBAUM, ANDREW S.; STEEN, MAARTEN VANSISTEMAS DISTRIBUIDOS: PRINCÍPIOS E PARADIGMAS

Veja Capítulo 1 do livro Distributed Systems 3rd edition

21/21