introduÇÃo aos sistemas distribuÍdos prof. cesar augusto …tacla/espsd/aula1/0010... · 2020....
TRANSCRIPT
![Page 1: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/1.jpg)
1
INTRODUÇÃO AOS
SISTEMAS DISTRIBUÍDOS
Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla/EspSD/
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
PR
![Page 2: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/2.jpg)
2
Sumário
1. INTRODUÇÃO
a. Definição de sistemas distribuídos (SDs)
b. Exemplos de sistemas distribuídos
c. Tipos de aplicações distribuídas
d. Vantagens e dificuldades dos SDs
![Page 3: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/3.jpg)
3
Sumário
Definição de sistemas distribuídos
1 a
![Page 4: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/4.jpg)
4
Definição
◊ O que é um sistema distribuído?
Rede de
Comunicação
![Page 5: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/5.jpg)
5
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 computador
que provê um serviço ou resolve um problema.
◊ (Tanenbaum & Steen, 2002)
Esta definição faz referência a um conceito importante em sistemas distribuídos, o da transparência
![Page 6: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/6.jpg)
6
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.
◊ (Coulouris et al., 2001)
![Page 7: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/7.jpg)
7
Sumário
Exemplos de sistemas distribuídos
1 b
![Page 8: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/8.jpg)
8
Exemplo 1: WEB
intranet
ISP
desktop computer:
backbone
satellite link
server:
%
network link:
%
%
%
Fonte: figura 1-1 (Coulouris et al., 2003) ISP: Internet Service Provider =
provedor de acesso
WEB: Acesso remoto a páginas
FTP: Transferência de arquivos
![Page 9: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/9.jpg)
9
SISTEMA BANCÁRIO
![Page 10: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/10.jpg)
10
Exemplo 2: Bancos
Caixas
automáticos
Caixas
automáticos BD banco 2 BKP BD banco 2
BKP BD banco 1 BD banco 1
BD = banco de dados
BKP = backup
Fonte: http://www.ida.liu.se/~TDDB37/lecture-notes/lect1.frm.pdf
![Page 11: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/11.jpg)
11
◊ Aspectos importantes num sistema distribuído bancário:
• 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 de dados ou localidades.
![Page 12: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/12.jpg)
12
• 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 (não deixa os objetos em
estados inconsistentes) e seguro
• Bases de dados replicadas devem ser consistentes. Bases
de dados replicadas: aumentam a tolerância a falhas, mas
podem tornar o sistema não confiável!
• Tolerância a falhas
![Page 13: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/13.jpg)
13
NAPSTER E SIMILARES
![Page 14: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/14.jpg)
14
Exemplo 3: Napster
Requisição de
MP3
Transferência de
arquivo
Servidor NAPSTER
usuário
usuário
usuário
usuário
Anúncio
![Page 15: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/15.jpg)
15
Outros Exemplos
◊ Similares ao NAPSTER
EMULE
BITORRENT
SKYPE (VoIP)
MSN MESSENGER, YAHOO
◊ Outros
APLICAÇÕES DE MULTIMÍDIA
WEB conferência
Difusão de streams on-line (voz, vídeo)
![Page 16: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/16.jpg)
16
CLUSTER
![Page 17: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/17.jpg)
17
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
De processamento
De armazenamento
De memória
Outros
![Page 18: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/18.jpg)
18
Exemplo 4: Cluster (2)
JAGUAR
Cluster de máquinas do Oak Ridge
National Laboratory (EUA)
Terceiro da lista dos TOP 500
SUPERCOMPUTERS
INSTALADO EM 2009
224.162 CORES
1.759.000 Gflops
FONTE http://www.top500.org
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
Tianhe-2, a supercomputer developed
by China’s National University of
Defense Technology, retained its
position as the world’s No. 1 system with
a performance of 33.86 petaflop/s
(quadrillions of calculations per second)
3.120.000 cores 18/11/2013
![Page 19: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/19.jpg)
19
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
carga entre os demais
◊ Alto desempenho Para resolver tarefas complexas que podem ser decompostas em
sub-tarefas, cada uma rodando num nodo do cluster.
Google Donates One Billion Core-Hours to Science
![Page 20: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/20.jpg)
20
GRID OU GRADE
![Page 21: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/21.jpg)
21
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!
são ditas organizações virtuais
não há administração central dos recursos computacionais
Utilização de protocolos/padrões abertos
Quando as máquinas não pertencem a uma organização, alguns
denominam esta forma de computação de computação
voluntária (volunteer computing)
![Page 22: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/22.jpg)
22
Exemplo 5: Grid (2)
◊ Aplicações
Tarefas complexas decompostas
Reunião dos resultados parciais
Distribuição das tarefas pode ser feita em função de
disponibilidade dos recursos, capacidade, desempenho, custo e QoS
◊ Exemplos de grids de pesquisa
Laboratório Nacional de Computação Científica: http://lncc.br/
Campina Grande: http://ourgrid.org
![Page 23: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/23.jpg)
23
Exemplo 5: Grid (3)
◊ Exemplos – participação de qualquer usuário final Primeiro projeto (1996): GIMPS MERSENNE PRIME SEARCH – busca
pelo maior número primo de Mersenne (matemático/monge francês) http://www.mersenne.org/
Definição: quando 2n-1 é um número primo ele é dito número primo de Mersenne.
World Community Grid:
http://www.worldcommunitygrid.org
Identificar quais defeitos em proteínas produzidas pelos genes humanos podem causar doenças
Utiliza BOINC
Xsede da universidade de Purdue
www.xsede.org
XSEDE - the Extreme Science and Engineering Digital Environment
![Page 24: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/24.jpg)
24
◊ Continuação BBC Climate Change Experiment:
http://climateprediction.net/
Tentativa de prever o clima para o século 21
Utiliza BOINC
Introdução: http://www.gridcafe.org/EN/
![Page 25: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/25.jpg)
25
CLUSTER X GRID
![Page 26: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/26.jpg)
26
CLUSTER X GRID
◊ CLUSTER: conjunto de máquinas dedicadas
Tipicamente agrupadas em um único local físico de uma mesma
organização
◊ GRID: aproveitamento de recursos de máquinas ociosas
De uma organização
De voluntários (computação voluntária)
◊ Tanto clusters como grids necessitam de software para
gerenciamento de carga:
HTCondor – http://www.cs.wisc.edu/condor/
BOINC (grid) - http://boinc.berkeley.edu/
![Page 27: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/27.jpg)
27
Softwares para gerenciamento de carga
JOB SUBMETIDO
PELO USUÁRIO
WORKLOAD MANAGEMENT
SOFTWARE
CLUSTER OU GRID
![Page 28: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/28.jpg)
28
Responder as questões de 0010-TAR1-GridCluster-questoes.txt
http://www.dainf.ct.utfpr.edu.br/~tacla/EspSD/Aula1/0011-TAR1-GridCluster-questoes.txt
![Page 29: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/29.jpg)
29
Sumário
Tipos de aplicações distribuídas
• resolução distribuída
• sistemas multiagentes
1 c
![Page 30: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/30.jpg)
30
RESOLUÇÃO DISTRIBUÍDA
![Page 31: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/31.jpg)
31
RESOLUÇÃO DISTRIBUÍDA
◊ 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 pelo desenvolvedor de
modo top-down
Distribuição dos subproblemas para diferentes processos
Um dos processos coleta e monta o resultado final
T1
T1.1 T1.2 T1.3
![Page 32: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/32.jpg)
32 Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla
RESOLUÇÃO DISTRIBUÍDA
![Page 33: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/33.jpg)
33
RESOLUÇÃO DISTRIBUÍDA
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 (Grid da Universidade de Purdue):
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)
Tempo
![Page 34: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/34.jpg)
34
SISTEMAS MULTIAGENTES
![Page 35: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/35.jpg)
35
SMA
◊ Sistemas multi-agentes
são sistemas abertos e heterogêneos onde
vários desenvolvedores desenvolvem agentes,
◊ Agentes
são software dotados de um certo grau de inteligência e,
principalmente, de interação com outros agentes, capazes de
interagirem e produzirem algum resultado útil ao usuário embora
não tenha sido concebidos inicialmente com aquele objetivo
específico.
◊ Fonte: http://www.pcs.usp.br/~jaime/papers/marietto_iberamia02_p.pdf
![Page 36: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/36.jpg)
36
Exemplo integração de serviços
RECEBE
INTINERÁRIO
RESERVA
VEÍCULO
RESERVA HOTEL
RESERVA
PASSAGEM
Empresa XX
Hotel XX
Locação XX
Empresa YY
Hotel ZZ Hotel YY Hotel WW
Locação YY Locação ZZ
DEBITA CARTÃO
COMUNICA
CLIENTE
SERVIÇOS WEB
CLIENTE
Instituição Financeira
![Page 37: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/37.jpg)
37
SMA
Em sistemas multiagentes, o foco na interação entre agentes
(competição ou colaboração); i.e. solução surge através da
interação
Ex. leilão, simulações sociais
Para simulações sociais, um bom início é a ferramenta de
simulação NETLOGO
Sistemas peer-to-peer são similares aos SMAs, há diferenças
conceituais nos modelos de arquiteturas.
SMA tem inspiração em
modelos psico-sociológicos e
cognitivos
Ex. arquitetura BDI
(Believes-Desires-Intentions)
![Page 38: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/38.jpg)
38
PEER-TO-PEER
◊ P2P
As vezes, é citada como uma arquitetura, porém, conceitualmente
é mais do que isto!
Preconiza a igualdade entre os participantes – não há servidor, nem
cliente – todos são iguais. A rede é dos participantes.
Vide manifesto: http://www.realitysandwich.com/the_peer_peer_manifesto_the_emergence_p2p_civilization_and_political_economy
◊ Exemplo de sistemas
◊ GNUTELLA (precursor)
◊ SNEER (http://sneer.me/):
◊ computação soberana
![Page 39: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/39.jpg)
39
Sumário
Vantagens e dificuldades dos SDs
1 d
![Page 40: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/40.jpg)
40
Motivações
◊ Razões para construir um SD
Desempenho MAIOR DO QUE 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
Impressoras e outros hardwares
Arquivos (inclusive páginas Web)
CPU
Memória
Espaço em disco
dados
![Page 41: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/41.jpg)
41 Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla
Dificuldades
◊ O desenvolvimento de um sistema distribuído é mais
complexo do que um centralizado
HETEROGENEIDADE
ABERTOS
SEGUROS
ESCALÁVEIS
CONFIÁVEIS
CONCORRÊNCIA
TRANSPARÊNCIA
![Page 42: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/42.jpg)
42
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
◊ pode-se concluir que as características importantes para
este tipo de sistema são... (> próximo)
![Page 43: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/43.jpg)
43
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 dados de sua conta estão armazenados no banco de dados 1 ou 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 (não apresentar dados conflitantes)
◊ Tolerância a falhas
![Page 44: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/44.jpg)
44
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
computacional uniforme para a programação de aplicações distribuídas.
HARDWARE HARDWARE
PROTOCOLOS
SIST. OPER.
PROTOCOLOS
SIST. OPER.
MIDDLEWARE MIDDLEWARE
APLICAÇÃO DISTRIBUÍDA APLICAÇÃO DISTRIBUÍDA
HARDWARE HARDWARE
PROTOCOLOS
SIST. OPER.
PROTOCOLOS
SIST. OPER. PLATAFORMA
RMI
RPC
CORBA
![Page 45: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/45.jpg)
45
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
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 46: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/46.jpg)
46
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.
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 47: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/47.jpg)
47
ESCALABILIDADE
◊ Um SD é escalável se, ao adicionarmos novos recursos
e/ou 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.
◊ Técnicas para garantir escalabilidade:
Replicação de dados
Caching
Replicação de serviços
![Page 48: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/48.jpg)
48
Tratamento de falhas
◊ Falhas são normalmente parciais em SDs
Dificilmente todos os componentes falham simultaneamente
◊ 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
◊ 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 49: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/49.jpg)
49
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
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 50: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/50.jpg)
50
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
Localização: permite acessar um recurso sem conhecimento de sua
localização (ex. pela URL e não pelo IP)
Replicação: múltiplas instâncias de um recurso podem ser
utilizadas sem que isto seja explícito para usuários e
programadores
![Page 51: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/51.jpg)
51
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.
Mobilidade: permite a
movimentação de recursos e
clientes dentro de um sistema
sem afetar a operação
Ex: sistema de telefonia
celular (emissor)
![Page 52: INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto …tacla/EspSD/Aula1/0010... · 2020. 11. 20. · Em sistemas multiagentes, o foco na interação entre agentes (competição](https://reader036.vdocuments.pub/reader036/viewer/2022081411/60ac0a23819ad91e122c1a6d/html5/thumbnails/52.jpg)
52
RESUMO
SISTEMAS DISTRIBUÍDOS SÃO ÚTEIS PARA
◊ Melhorar desempenho
◊ Melhor adaptados a distribuição natural dos elementos
◊ 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