0010-introducaosd.ppt [modo de compatibilidade]tacla/javaprogparsd/0010-introducaosd.pdf ·...

40
INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PR 1 Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla/EspSD/

Upload: ngokien

Post on 07-Dec-2018

234 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

INTRODUÇÃO AOSSISTEMAS DISTRIBUÍDOS

Prof. Cesar Augusto Tacla

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁPR

11Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

Prof. Cesar Augusto Taclahttp://www.dainf.ct.utfpr.edu.br/~tacla/EspSD/

Page 2: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Sumário

1. INTRODUÇÃOa. Definição de sistemas distribuídos (SDs)b. Exemplos de sistemas distribuídosc. Tipos de aplicações distribuídasd. Vantagens e dificuldades dos SDs

22Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

Page 3: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Sumário

Definição de sistemas distribuídos

1 a

33Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

Page 4: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Definição

◊ O que é um sistema distribuído?

44Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

Rede de Comunicação

Page 5: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Definição

◊ Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede de comunicação que é percebida pelos usuários como um único computadorque provê um serviço ou resolve um problema.

55Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

◊ (Tanenbaum & Steen, 2002)

Esta definição faz referência a um conceito importante em sistemas distribuídos, o da transparência

Page 6: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Definição

◊ Um sistema distribuído é composto por computadores conectados em rede (hardware e software) que se comunicam e coordenam suas ações somente através do envio de mensagens.

66Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

envio de mensagens.

◊ (Coulouris et al., 2001)

Page 7: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Sumário

Exemplos de sistemas distribuídos

1 b

77Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

Page 8: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Exemplo 1: WEB

intranet

ISP

backbone

��

WEB: Acesso remoto a páginas

FTP: Transferência de arquivos

EMAIL

88Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

desktop computer:

backbone

satellite link

server:

network link:

Fonte: figura 1-1 (Coulouris et al., 2003)ISP: Internet Service Provider = provedor de acesso

EMAIL

Page 9: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Exemplo 2: Bancos

Caixasautomáticos

BKP BD banco 1BD banco 1

BD = banco de dados

BKP = backup

99Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

Caixasautomáticos

BD banco 2 BKP BD banco 2

Fonte: http://www.ida.liu.se/~TDDB37/lecture-notes/lect1.frm.pdf

Page 10: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Exemplo 3: Napster

Requisição de

Servidor NAPSTER

usuário usuário

1010Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

Requisição de

MP3

Transferência de

arquivo

usuário usuário

Anúncio

Page 11: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Outros Exemplos

◊ Similares ao NAPSTER� EMULE� BITORRENT� SKYPE (VoIP)� MSN MESSENGER, YAHOO

◊ Outros

1111Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

◊ Outros� APLICAÇÕES DE MULTIMÍDIA

� WEB conferência� Difusão de streams on-line (voz, vídeo)

Page 12: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Exemplo 4: Cluster (1)

◊ CLUSTERS ou AGRUPAMENTOS

◊ Máquinas conectadas por rede de alta velocidade

◊ Necessidade de alto desempenho computacional

◊ Evitar custo de máquinas de alto desempenho

◊ Objetivo: compartilhar recursos computacionais

1212Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

◊ Objetivo: compartilhar recursos computacionais� De processamento� De armazenamento� De memória� Outros

Page 13: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Exemplo 4: Cluster (2)

JAGUARCluster de máquinas do Oak RidgeNational Laboratory (EUA)

Primeiro da lista dos TOP 500 SUPERCOMPUTERS

INSTALADO EM 2009224.162 CORES

1.759.000 Gflops

1313Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

FONTE http://www.top500.org/list/2010/06/100

Acesso em 9/9/2010

Solução: agrupamento físico de máquinas de menor porte = cluster:• mesmo espaço geográfico• Normalmente dentro da mesma

organização, com software/hardware homogêneos

• Softwares: OpenMosix, Condor e Oscar

Page 14: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Exemplo 4: cluster (3)

◊ Clusters são utilizados para...

◊ Aumentar a disponibilidade de serviço� se um nodo falha, outro assume

◊ Equilibrar carga de trabalho� um ou mais computadores do cluster atuam como distribuidores da

1414Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

� um ou mais computadores do cluster atuam como distribuidores da carga entre os demais

◊ Alto desempenho� Para resolver tarefas complexas que podem ser decompostas em sub-tarefas, cada uma rodando num nodo do cluster.

� Implementação mais comum: LINUX e software livre para implementar paralelismo = Beowulf cluster

Page 15: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Exemplo 5: Grid (1)

◊ GRID ou GRADE = as máquinas encontram-se distantes geograficamente.

◊ É uma cooperativa de máquinas � não pertencem necessariamente a mesma organização!

1515Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

� não pertencem necessariamente a mesma organização!� são ditas organizações virtuais� não há administração central dos recursos computacionais� Utilização de protocolos/padrões abertos

Page 16: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Exemplo 5: Grid (2)

◊ Aplicações� Tarefas complexas decompostas� Reunião dos resultados parciais

◊ Exemplos de grids de pesquisa� Laboratório Nacional de Computação Científica:

1616Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

� Laboratório Nacional de Computação Científica: http://portalvcg.lncc.br/

� Campina Grande: http://ourgrid.org

Page 17: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Exemplo 5: Grid (3)

◊ Exemplos – participação de qualquer usuário final

� World Community Grid: http://www.worldcommunitygrid.org� Identificar quais defeitos em proteínas produzidas pelos genes humanos podem causar doenças

� Utiliza BOINC

1717Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

� TeraGrid da universidade de Purdue (www.teragrid.org)

� BBC Climate Change Experiment: http://climateprediction.net/� Tentativa de prever o clima para o século 21� Utiliza BOINC

� Introdução básica:http://www.gridcafe.org/multimedia.html

Page 18: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Exemplo 6: BOINC

PC2. Download das tarefas (arqs .exe e dados)

3. Executar

1.1 Obter tarefas

Servidores: escalonamento e dados1. 2 tarefas

loop

1818Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

3. Executar

4. Enviar arquivos de resultados

5. Relatar resultados

loop

Page 19: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Exemplo 6: BOINC Créditos

◊ Mede quanto cada participante contribuiu

◊ Cada unidade de trabalho é enviada ao menos a dois PCs

1919Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

100+http://boinc.berkeley.edu/chart_list.php

Page 20: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

consultar links de Grid

2020Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

http://www.dainf.ct.utfpr.edu.br/~tacla/EspSD/

Page 21: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Sumário

Tipos de aplicações distribuídas

1 c

2121Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

Page 22: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Tipos de aplicação distribuídas (1)

◊ Resolução distribuída de problemas� Um usuário deseja resolver um problema complexo (ex. renderização de imagens complexas)

� Decomposição de um problema em subproblemas� Distribuição dos subproblemas para diferentes processos� Um dos processos coleta e monta o resultado final

2222Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

T1

T1.1 T1.2 T1.3

Page 23: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Decomposição de tarefas

2323Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

Page 24: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Decomposição de tarefas(2)

Tempo

2424Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

Renderman da Pixar https://renderman.pixar.com/index.html

Filme 2 minutos ���� 30 frames por segundo ���� 7.200 minutos de renderização

No Distributed Render Environment:Filme 2 minutos ���� 30 frames por segundo ���� 36 minutos de renderização

Fonte http://www.i-light.org/docs/IPgrid_fn_report.doc (TeraGrid Purdue)

Page 25: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Tipos de aplicação distribuídas (2)

◊ Composição de serviços� sistemas multi-agentes/peer-to-peer� Usuários com diferentes necessidades utilizam serviços/recursos heterogêneos providos por diferentes desenvolvedores

� Foco na interação entre agentes (competição ou colaboração); i.e. solução surge através da interação

� Ex. leilão

2525Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

� Ex. leilão

Page 26: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Tipos de aplicação distribuídas (3): Exemplo integração de serviços

2626Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

Page 27: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Sumário

Vantagens e dificuldades dos SDs

1 d

2727Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

Page 28: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Motivações

◊ Razões para construir um SD� Desempenho > sistema centralizado

� Distribuição natural das aplicações: bancárias, videoconf., etc.� Robustez: frente a falhas� Escalabilidade: sist. pode ser aumentado sem perda de desempenho?

� Compartilhamento de recursos

2828Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

� Compartilhamento de recursos� Impressoras e outros hardwares� Arquivos (inclusive páginas Web)� CPU� Memória� Espaço em disco� dados

Page 29: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Dificuldades

◊ O desenvolvimento de um sistema distribuído é mais complexo do que um centralizado

HETEROGENEIDADE

ABERTOS

2929Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

SEGUROS

ESCALÁVEIS

CONFIÁVEIS

CONCORRÊNCIA

TRANSPARÊNCIA

Page 30: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Exemplo

◊ Baseando-se no exemplo da aplicação bancária mostrada no início destes slides e considerando que:� Há acessos múltiplos (concorrentes) à mesma conta;� Transações bancárias podem envolver contas armazenadas em diferentes bancos de dados (BD);

� Não interessa ao cliente se os dados de sua conta estão armazenados no BD1 ou BD2

3030Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

armazenados no BD1 ou BD2

◊ pode-se concluir que as características importantes para este tipo de sistema são... (> próximo)

Page 31: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Exemplo

◊ Acessos múltiplos (concorrentes) à mesma conta: vários usuários acessam a mesma conta ou um sistema do banco (emissão de relatórios) acessa ao mesmo tempo em que usuários realizam transações.

◊ Transações bancárias podem envolver contas armazenadas em diferentes bancos ou localidades.

◊ O serviço deve ser transparente ao usuário – não interessa se os

3131Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

◊ O serviço deve ser transparente ao usuário – não interessa se os dados de sua conta estão armazenados no banco 1 ou banco 2, a aplicação não deve em nenhum momento deixar transparecer aspectos internos do sistema

◊ O serviço deve ser confiável e seguro

◊ Bases de dados replicadas devem ser consistentes

◊ Tolerância a falhas

Page 32: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

HETEROGENEIDADE

◊ Lidar com diferentes� Redes� hardwares (computadores)� sistemas operacionais� Linguagens de programação

◊ Além de resolver os problemas de heterogeneidade, o middleware define um modelo

3232Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

◊ Além de resolver os problemas de heterogeneidade, o middleware define um modelo

computacional uniforme para a programação de aplicações distribuídas.

HARDWARE

PROTOCOLOSSIST. OPER.

MIDDLEWARE

APLICAÇÃO DISTRIBUÍDA

HARDWARE

PROTOCOLOSSIST. OPER.

PLATAFORMA

RMIRPCCORBA

Page 33: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

ABERTOS

◊ O grau de abertura de um SD depende de:� Facilidade de adicionar novos recursos

� De hardware� De software: novos serviços ou re-implementação de antigos

� SD abertos baseiam-se em:� Mecanismos de comunicação uniformes

3333Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

� Mecanismos de comunicação uniformes� Especificados por organismos tais como OMG e IETF� Ex. CORBA (OMG)

� Publicação de interfaces de serviços: para esconder a heterogeneidade de implementação dos serviços, as implementações devem aderir a uma forma de publicar as interfaces dos serviços

Page 34: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

SEGURANÇA

◊ Segurança envolve:� “selar” informações importantes enviadas através da rede (ex. criptografia de número de cartão de crédito)

� Identidade: garantir a autenticidade da fonte. � Ex. um médico deseja acessar dados de pacientes de forma remota. É preciso assegurar que o usuário é realmente o médico.

3434Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

médico.

� Ex. um usuário deseja comprar um livro pela Internet. É preciso assegurar a identidade da loja virtual - que realmente é uma loja e não vai fazer mal uso do cartão.

� Problemas :� Indisponibilidade de serviço devido a ataques� Segurança de código móvel (ex. .exe anexados a emails, applets)

Page 35: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

ESCALABILIDADE

◊ Um SD é escalável se, ao adicionarmos novos recursos e usuários, seu desempenho permanece satisfatório.

◊ Exemplos:� Endereços IPv4 de 32 bits => IPv6 128 bits� DNS, no início, era uma tabela => foi particionada e é tratada localmente contendo replicações.

3535Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

localmente contendo replicações.

◊ Técnicas para garantir escalabilidade:� Replicação de dados� Caching� Replicação de serviços

Page 36: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Tratamento de falhas

◊ Falhas atingem parcialmente um SD

◊ Detecção� Mensagens corrompidas => checksum� Crash de um servidor => nunca é certo se o servidor caiu, se a falha está no link ou se a rede está sobrecarregada

3636Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

◊ Esconder falhas� Se uma mensagem não chega no destino => retransmissão� Dados podem ser escritos em dois discos, se um está danificado, utiliza-se a cópia.

Page 37: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Tratamento de falhas (2)

◊ Tolerância a falhas� Exemplo: quando um navegador da Internet não consegue acessar um servidor ele não prende o usuário indefinidamente.

◊ Como tornar um sistema tolerante a falhas?

� Redundância pode tornar sistema tolerante a falhas

3737Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

� Redundância pode tornar sistema tolerante a falhas� Replicação de dados� No serviço DNS cada entrada é replicada em pelo menos dois servidores

� Explorar rotas alternativas na Internet

Maior tolerância a falhas aumenta a disponibilidade do sistema

Page 38: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

Transparência

◊ O sistema deve ser visto pelo usuário e pelo programador como um todo e não como uma coleção de componentes

◊ Vários tipos de transparência� Acesso: recursos locais e remotos são acessados através de operações idênticas

3838Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

� Localização: permite acessar um recurso sem conhecimento de sua localização (ex. URL)� Replicação: múltiplas instâncias de um recurso podem ser utilizadas sem que isto seja explícito para usuários e programadores

Page 39: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

TRANSPARÊNCIA

◊ Vários tipos (cont)� Concorrência: vários processos podem acessar o mesmo recurso sem interferir na utilização um do outro nem no recurso.

Ex: sistema de telefonia celular (emissor)

3939Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

� Mobilidade: permite a movimentação de recursos e clientes dentro de um sistema sem afetar a operação

Page 40: 0010-IntroducaoSD.ppt [Modo de Compatibilidade]tacla/JAVAProgParSD/0010-IntroducaoSD.pdf · SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla ... . Exemplo 6: BOINC PC 2. Download

RESUMO

SISTEMAS DISTRIBUÍDOS SÃO ÚTEIS PARA

◊ Melhorar desempenho

◊ Melhor adaptados a distribuição natural dos elementos

◊ Porém são complexos

4040Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla

◊ Porém são complexos

◊ são inerentemente concorrentes

◊ devem ser confiáveis

◊ devem ser transparentes

◊ funcionar em plataformas heterogêneas

◊ Middlewares resolvem parte destes problemas