Professional Documents
Culture Documents
PR
Sumrio
1. INTRODUO
a. b. c. d. Definio de sistemas distribudos (SDs) Exemplos de sistemas distribudos Tipos de aplicaes distribudas Vantagens e dificuldades dos SDs
Sumrio
1a
Definio de sistemas distribudos
Rede de Comunicao
Definio
Um sistema distribudo uma coleo de computadores autnomos conectados por uma rede de comunicao que percebida pelos usurios como um nico computador que prov um servio ou resolve um problema. (Tanenbaum & Steen, 2002)
Definio
Um sistema distribudo composto por computadores conectados em rede (hardware e software) que se comunicam e coordenam suas aes somente atravs do envio de mensagens. (Coulouris et al., 2001)
Sumrio
1b
Exemplos de sistemas distribudos
Exemplo 1: WEB
intranet ISP
SISTEMA BANCRIO
Exemplo 2: Bancos
Caixas automticos BD banco 1 BKP BD banco 1
BD = banco de dados BKP = backup
Caixas automticos
BD banco 2
BKP BD banco 2
Fonte: http://www.ida.liu.se/~TDDB37/lecture-notes/lect1.frm.pdf
10
Aspectos importantes num sistema distribudo bancrio: Acessos mltiplos (concorrentes) mesma conta:
vrios usurios acessam a mesma conta ou um sistema do banco (emisso de relatrios) acessa ao mesmo tempo em que usurios realizam transaes.
Transaes bancrias podem envolver contas armazenadas em diferentes bancos de dados ou localidades.
11
O servio deve ser transparente ao usurio no interessa se os dados de sua conta esto armazenados no banco 1 ou banco 2, a aplicao no deve em nenhum momento deixar transparecer aspectos internos do sistema O servio deve ser confivel (no deixa os objetos em estados inconsistentes) e seguro Bases de dados replicadas devem ser consistentes. Bases de dados replicadas: aumentam a tolerncia a falhas, mas podem tornar o sistema no confivel! Tolerncia a falhas
12
NAPSTER E SIMILARES
13
Exemplo 3: Napster
usurio
Servidor NAPSTER
usurio
Requisio de MP3
Anncio
usurio
Transferncia de arquivo
usurio
14
Outros
APLICAES DE MULTIMDIA WEB conferncia Difuso de streams on-line (voz, vdeo)
15
CLUSTER
16
Exemplo 4: Cluster (1) CLUSTERS ou AGRUPAMENTOS Mquinas conectadas por rede de alta velocidade Necessidade de alto desempenho computacional Evitar custo de mquinas de alto desempenho Objetivo: compartilhar recursos computacionais
De processamento De armazenamento De memria Outros
17
Soluo: agrupamento fsico de mquinas de menor porte = cluster: mesmo espao geogrfico Normalmente dentro da mesma organizao, com software/hardware homogneos
Perdeu 1a posio em 2010 para o Tianhe-1 186.368 cores 2.566.000 Gflops Tianhe perdeu 1a posio em 2011 para o RIKEN 548.352 cores 8.162.000 Gflops
18
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
19
GRID OU GRADE
20
21
22
23
Continuao
BBC Climate Change Experiment: http://climateprediction.net/ Tentativa de prever o clima para o sculo 21 Utiliza BOINC Introduo (com Flash): http://www.gridcafe.org/multimedia.html
24
CLUSTER X GRID
25
CLUSTER X GRID CLUSTER: conjunto de mquinas dedicadas GRID: aproveitamento de recursos de mquinas ociosas
De uma organizao De voluntrios
26
CLUSTER OU GRID
27
28
Sumrio
1c
Tipos de aplicaes distribudas resoluo distribuda sistemas multiagentes
29
RESOLUO DISTRIBUDA
30
RESOLUO DISTRIBUDA
Resoluo distribuda de problemas
Um usurio deseja resolver um problema complexo (ex. renderizao de imagens complexas) Decomposio de um problema em subproblemas pelo desenvolvedor de modo top-down Distribuio dos subproblemas para diferentes processos Um dos processos coleta e monta o resultado final
T1
T1.1
T1.2
T1.3
31
RESOLUO DISTRIBUDA
32
RESOLUO DISTRIBUDA
Tempo
Renderman da Pixar https://renderman.pixar.com/index.html Filme 2 minutos 30 frames por segundo 7.200 minutos de renderizao
No Distributed Render Environment (Grid da Universidade de Purdue): Filme 2 minutos 30 frames por segundo 36 minutos de renderizao
Fonte http://www.i-light.org/docs/IPgrid_fn_report.doc (TeraGrid Purdue)
33
SISTEMAS MULTIAGENTES
34
SMA
Sistemas multi-agentes
so sistemas abertos e heterogneos onde vrios desenvolvedores desenvolvem agentes,
Agentes
so software dotados de um certo grau de inteligncia e, principalmente, de interao com outros agentes, capazes de interagirem e produzirem algum resultado til ao usurio embora no tenha sido concebidos inicialmente com aquele objetivo especfico.
Fonte: http://www.pcs.usp.br/~jaime/papers/marietto_iberamia02_p.pdf
35
36
SMA
Em sistemas multiagentes, o foco na interao entre agentes (competio ou colaborao); i.e. soluo surge atravs da interao Ex. leilo, simulaes sociais Para simulaes sociais, um bom incio a ferramenta de simulao NETLOGO
http://www.ncc.furg.br/wesaac2010/wesaac2010-slides-rocha.pdf
Sistemas peer-to-peer so similares aos SMAs, h diferenas conceituais nos modelos de arquiteturas. SMA tem inspirao em modelos sociolgicos e cognitivos Ex. arquitetura BDI
37
PEER-TO-PEER
P2P
As vezes, citada como uma arquitetura, porm, conceitualmente mais do que isto! Preconiza a igualdade entre os participantes no h servidor, nem cliente todos so iguais. A rede dos participantes. Vide manifesto:
http://www.realitysandwich.com/the_peer_peer_manifesto_the_emergence_p2p_civilization_and_political_economy
38
Sumrio
1d
Vantagens e dificuldades dos SDs
39
40
41
Exemplo Baseando-se no exemplo da aplicao bancria mostrada no incio destes slides e considerando que:
H acessos mltiplos (concorrentes) mesma conta; Transaes bancrias podem envolver contas armazenadas em diferentes bancos de dados (BD); No interessa ao cliente se os dados de sua conta esto armazenados no BD1 ou BD2
pode-se concluir que as caractersticas importantes para este tipo de sistema so... (> prximo)
42
Exemplo
Acessos mltiplos (concorrentes) mesma conta: vrios usurios acessam a mesma conta ou um sistema do banco (emisso de relatrios) acessa ao mesmo tempo em que usurios realizam transaes. Transaes bancrias podem envolver contas armazenadas em diferentes bancos ou localidades. O servio deve ser transparente ao usurio no interessa se os dados de sua conta esto armazenados no banco de dados 1 ou 2, a aplicao no deve em nenhum momento deixar transparecer aspectos internos do sistema O servio deve ser confivel e seguro Bases de dados replicadas devem ser consistentes (no apresentar dados conflitantes) Tolerncia a falhas
43
44
Publicao de interfaces de servios: para esconder a heterogeneidade de implementao dos servios, as implementaes devem aderir a uma forma de publicar as interfaces dos servios
45
46
ESCALABILIDADE Um SD escalvel se, ao adicionarmos novos recursos e/ou usurios, seu desempenho permanece satisfatrio. Exemplos:
Endereos IPv4 de 32 bits => IPv6 128 bits DNS, no incio, era uma tabela => foi particionada e tratada localmente contendo replicaes.
47
Deteco
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 no chega no destino => retransmisso Dados podem ser escritos em dois discos, se um est danificado, utiliza-se a cpia.
48
49
Transparncia O sistema deve ser visto pelo usurio e pelo programador como um todo e no como uma coleo de componentes Vrios tipos de transparncia
Acesso: recursos locais e remotos so acessados atravs de operaes idnticas Localizao: permite acessar um recurso sem conhecimento de sua localizao (ex. pela URL e no pelo IP) Replicao: mltiplas instncias de um recurso podem ser utilizadas sem que isto seja explcito para usurios e programadores
50
TRANSPARNCIA
Vrios tipos (cont)
Concorrncia: vrios processos podem acessar o mesmo recurso sem interferir na utilizao um do outro nem no recurso.
Ex: sistema de telefonia celular (emissor)
Mobilidade: permite a movimentao de recursos e clientes dentro de um sistema sem afetar a operao
51
RESUMO SISTEMAS DISTRIBUDOS SO TEIS PARA Melhorar desempenho Melhor adaptados a distribuio natural dos elementos
Porm so complexos so inerentemente concorrentes devem ser confiveis devem ser transparentes funcionar em plataformas heterogneas