• Nenhum resultado encontrado

Tipos de Sistemas Distribuídos

N/A
N/A
Protected

Academic year: 2021

Share "Tipos de Sistemas Distribuídos"

Copied!
35
0
0

Texto

(1)

Tipos de Sistemas Distribuídos

Pedro Ferreira

Departamento de Informática

(2)

Tipos de Sistemas Distribuídos

Existem três tipos de sistemas distribuídos:

– Sistemas de Computação Distribuídos

Computação de alto desempenho com vários computadores

– Sistemas de Informação Distribuídos

Integração de diversos sistemas de informação

– Sistemas “Pervasivos” Distribuídos

(3)

dinâmicos

+ ou - estáticos

Tipos de Sistemas Distribuídos

Existem três tipos de sistemas distribuídos:

– Sistemas de Computação Distribuídos

Computação de alto desempenho com vários computadores

– Sistemas de Informação Distribuídos

Integração de diversos sistemas de informação

– Sistemas “Pervasivos” Distribuídos

(4)

Sistemas de Computação Distribuída

Clusters

(5)

Clusters

Definição: conjunto de várias máquinas “comuns” ligadas por uma rede de alto

desempenho de tal forma a trabalharem como um super-computador

Usado para processamento paralelo (i.e., criam-se processos em diferentes nós)

Melhor relação custo benefício que um super-computador:

– Super-computador com 500 processadores é muito mais caro que 500 computadores “normais” do tipo PC

Exemplo: Cluster Beowulf (baseado em Linux)

– Middleware: (1.) gestão e distribuição de tarefas

(6)

Clusters

Definição: conjunto de várias máquinas “comuns” ligadas por uma rede de alto

desempenho de tal forma a trabalharem como um super-computador

Usado para processamento paralelo (i.e., criam-se processos em diferentes nós)

Melhor relação custo benefício que um super-computador:

– Super-computador com 500 processadores é muito mais caro que 500 computadores “normais” do tipo PC

Exemplo: Cluster Beowulf (baseado em Linux)

– Middleware: (1.) gestão e distribuição de tarefas

(2.) comunicação eficiente entre processos

Distribui tarefas e coordena computação

(7)

Clusters

Definição: conjunto de várias máquinas “comuns” ligadas por uma rede de alto

desempenho de tal forma a trabalharem como um super-computador

Usado para processamento paralelo (i.e., criam-se processos em diferentes nós)

Melhor relação custo benefício que um super-computador:

– Super-computador com 500 processadores é muito mais caro que 500 computadores “normais” do tipo PC

Exemplo: Cluster Beowulf (baseado em Linux)

– Middleware: (1.) gestão e distribuição de tarefas

(2.) comunicação eficiente entre processos

Distribui tarefas e coordena computação distribuída. Executa tarefas definidas pelo master.

(8)

Clusters

Definição: conjunto de várias máquinas “comuns” ligadas por uma rede de alto

desempenho de tal forma a trabalharem como um super-computador

Usado para processamento paralelo (i.e., criam-se processos em diferentes nós)

Melhor relação custo benefício que um super-computador:

– Super-computador com 500 processadores é muito mais caro que 500 computadores “normais” do tipo PC

Exemplo: Cluster Beowulf (baseado em Linux)

– Middleware: (1.) gestão e distribuição de tarefas

(2.) comunicação eficiente entre processos

Distribui tarefas e coordena computação distribuída. Executa tarefas definidas pelo master. Usada para comunicação inter-nós.

(9)

Em junho de 2013

Lista de super-computadores mais rápidos:

http://www.top500.org

– De

http://s.top500.org/static/lists/2013/06/TOP500_201306_Poster.pdf

:

(10)

Computação em Grid

Uma das principais facilidades em se lidar com clusters é o ambiente

homogéneo, i.e., todas as máquinas são iguais e correm o mesmo software

Grids são sistemas distribuídos usados para computação em larga escala, mas

com um alto grau de heterogeneidade:

– Cada nó pode ter hardware, sistema operativo, rede, administração, e

políticas de segurança diferentes

– Esta heterogeneidade tem de ser tratada pelo middleware

Os recursos (processadores, armazenamento, telescópios, aceleradores de

partículas, etc.) e utilizadores são agrupados em organizações virtuais

Utilizadores de uma organização virtual têm privilégios de acesso aos recursos

(11)

Computação em Grid

(12)

Computação em Grid

O middleware dá acesso aos recursos a utilizadores da sua organização, ainda

que os recursos estejam em domínios administrativos diferentes

Arquitectura em 4 níveis para o middleware de grids:

(13)

Computação em Grid

O middleware dá acesso aos recursos a utilizadores da sua organização, ainda

que os recursos estejam em domínios administrativos diferentes

Arquitectura em 4 níveis para o middleware de grids:

Controlo dos recursos no site (pesquisar estado e capacidade; alocação e

liberação do recurso) Protocolos de

comunicação seguros usados para aceder

recursos e fazê-los interagir.

Controlo de um recurso: obter configuração; criar processos; ler dados.

Também realiza controlo de acesso. Coordena o acesso a

múltiplos recursos: descoberta, alocação e

escalonamento em múltiplos recursos. Aplicações que usam os recursos da organização

virtual.

(14)

Sistemas de Informação Distribuídos

Sistemas de Processamento de Transações

Integração de Aplicações Corporativas

(15)

Sistemas de Processamento de Transações

Transações são usualmente empregues em operações com bases de dados

mas não só… no futuro, talvez o sejam em todo lado (memória transaccional)

O objectivo fundamental das transações é

– proteger um recurso (e.g., base de dados) contra acessos simultâneos por

parte de diversos processos

– permitir que um processo faça diversas operações sobre um ou mais

recursos, como se estas fossem uma única operação atómica (indivisível)

Modo de funcionamento

1. indicar início de transação

2. aceder uma ou mais vezes ao recurso (e.g., leitura e/ou escrita)

3. indicar que as alterações deverão ser permanentes (commit) ou que se

pretende abortar (i.e., esquecer) as alterações (abort)

caso aconteça uma falha antes da execução do passo 3, o sistema

transacional aborta todos os acessos efetuados após o passo 1

(16)

Sistemas de Processamento de Transações: Interfaces

Exemplo: reserva de bilhetes aéreos

T1:

BEGIN_TRANSACTION

reservar Lisboa Londres reservar Londres NY reservar NY SF

END_TRANSACTION

Primitive Description

BEGIN_TRANSACTION Make the start of a transaction

END_TRANSACTION Terminate the transaction and try to commit ABORT_TRANSACTION Kill the transaction and restore the old values READ Read data from a file, a table, or otherwise WRITE Write data to a file, a table, or otherwise

T2:

BEGIN_TRANSACTION

reservar Paris NY reservar NY SF

(17)

Sistemas de Processamento de Transações: Interfaces

Exemplo: reserva de bilhetes aéreos

T1:

BEGIN_TRANSACTION

reservar Lisboa Londres reservar Londres NY reservar NY SF

END_TRANSACTION

Primitive Description

BEGIN_TRANSACTION Make the start of a transaction

END_TRANSACTION Terminate the transaction and try to commit ABORT_TRANSACTION Kill the transaction and restore the old values READ Read data from a file, a table, or otherwise WRITE Write data to a file, a table, or otherwise

T2:

BEGIN_TRANSACTION

reservar Paris NY reservar NY SF

END_TRANSACTION

As duas não podem ser confirmadas se há

apenas um lugar vago no voo NY

SF

(18)

Sistemas de Processamento de Transações

Propriedades ACID das Transações

A

tomicidade: para um observador externo, uma transação executa na sua

totalidade ou não executa, i.e., acontece indivisivelmente

(se existirem falhas, é possível desfazer as alterações parciais das transações, e

um observador externo não deve ver essas alterações parciais)

C

onsistência: cada transação leva o sistema de um estado válido para um novo

estado válido

(as invariantes associadas às estruturas de dados permanecem válidas)

Seriabilidade (

Isolation): se diversas transações forem executadas em paralelo

sobre os mesmos recursos, o resultado é equivalente à execução dessas

transações uma após a outra

Persistência (

Durability): os resultados de uma transação que fez commit

(19)

Sistemas de Processamento de Transações

Transações Aninhadas:

– Transações que afetam vários recursos são divididas em subtransações – O uso de transações aninhadas pode levar a alguns problemas:

» Suponha uma transação t com duas subtransações t1 e t2, executadas em paralelo » Se t1 se confirmar e t2 abortar, o que devemos fazer?

 

(20)

Sistemas de Processamento de Transações

Transações Aninhadas:

– Transações que afetam vários recursos são divididas em subtransações – O uso de transações aninhadas pode levar a alguns problemas:

» Suponha uma transação t com duas subtransações t1 e t2, executadas em paralelo » Se t1 se confirmar e t2 abortar, o que devemos fazer?

Opção 1: os resultados de t1 valem (respeita-se a persistência de t1)

(21)

Sistemas de Processamento de Transações

Transações Aninhadas:

– Transações que afetam vários recursos são divididas em subtransações – O uso de transações aninhadas pode levar a alguns problemas:

» Suponha uma transação t com duas subtransações t1 e t2, executadas em paralelo » Se t1 se confirmar e t2 abortar, o que devemos fazer?

Opção 1: os resultados de t1 valem (respeita-se a persistência de t1)

(22)

Mais correcto!

Sistemas de Processamento de Transações

Transações Aninhadas:

– Transações que afetam vários recursos são divididas em subtransações – O uso de transações aninhadas pode levar a alguns problemas:

» Suponha uma transação t com duas subtransações t1 e t2, executadas em paralelo » Se t1 se confirmar e t2 abortar, o que devemos fazer?

Opção 1: os resultados de t1 valem (respeita-se a persistência de t1)

(23)

Sistemas de Processamento de Transações

Monitor de Processamento de Transações:

– Middleware usado na integração de vários sistemas de informação através

do uso de transações

– Oferece uma interface de transações para sistemas distribuídos

» Exemplo de uso: concretizar transferência de dinheiro entre bases de

dados de bancos diferentes

(24)

Integração de Aplicações Corporativas

Nem todas as aplicações são bases de dados, e em alguns casos é preciso integrar

aplicações sem aceder às bases de dados que estão por trás

As aplicações devem ser capazes de comunicar umas com as outras, e não permitir que

os “clientes” acedam às suas bases de dados (como nos monitores de transacções)

Existem vários modelos de comunicação, mas em geral, a integração de aplicações é

feita através de middleware orientado a mensagens

(25)

Sistemas “Pervasivos” Distribuídos

Home Systems

Sistemas de Saúde Electrónicos

Redes de Sensores

(26)

Sistemas “Pervasivos” Distribuídos

Fazem uso de telemóveis, sistemas embebidos e também computadores normais!

Conceito fundamental: Contexto

– O contexto de um sistema distribuído é tudo que o cerca » Localização (via GPS)

» Conectividade (há rede?) » Nível de energia

Requisitos dos sistemas “pervasivos”

– Aceitar e reagir a mudanças de contexto – Encorajar composição ad hoc

– Ter como comportamento padrão a partilha de dados

Na ocorrência de mobilidade, os dispositivos devem suportar adaptações ao ambiente

dependentes das aplicações

– Descobrir serviços e reagir de acordo

(27)

Home Systems

Construídos sobre redes domésticas, que usualmente integram:

– Um ou mais PCs

– Uma série de aparelhos electrónicos como TVs, equipamento de áudio,

consolas, telemóveis, TV box, etc.

– Dispositivos como câmaras de vigilância, controlos de luz, etc.

A ideia é que todo esse equipamento seja interligado para que se possa:

– Controlar o volume da TV e do equipamento de áudio pelo telemóvel

– Ver a saída da câmara de vigilância no PC

– Exportar fotos no PC para as visualizar na TV

Requisito número 1:

o sistema deve ser auto-configurável e auto-gerido

– Não vamos esperar que nossa avó consiga ligar todas essas coisas na sua

casa nova 

(28)

Sistemas de Saúde Electrónicos

Considere uma pessoa que sofre de uma doença grave e, por exemplo, pode ter um

ataque cardíaco a qualquer momento

Faz-se uma BAN (Body-Area Network) nesse indivíduo utilizando uma série de sensores

(e.g., posição, movimento, batimento cardíaco, respiração) e um sistema wireless (fios causariam incómodo)

O sistema recolhe dados sobre o indivíduo que ajudam o médico a acompanhar a

evolução da doença e/ou permitem a um sistema remoto chamar uma ambulância em caso de problemas urgentes

(29)

Sistemas de Saúde Electrónicos

Considere uma pessoa que sofre de uma doença grave e, por exemplo, pode ter um

ataque cardíaco a qualquer momento

Faz-se uma BAN (Body-Area Network) nesse indivíduo utilizando uma série de sensores

(e.g., posição, movimento, batimento cardíaco, respiração) e um sistema wireless (fios causariam incómodo)

O sistema recolhe dados sobre o indivíduo que ajudam o médico a acompanhar a

evolução da doença e/ou permitem a um sistema remoto chamar uma ambulância em caso de problemas urgentes

Requisitos: robustez (e se algo falha?) e segurança (e se alguém atacar a rede?),…

Dados são armazenados

num dispositivo e

transferidos periodicamente

(30)

Sistemas de Saúde Electrónicos

Considere uma pessoa que sofre de uma doença grave e, por exemplo, pode ter um

ataque cardíaco a qualquer momento

Faz-se uma BAN (Body-Area Network) nesse indivíduo utilizando uma série de sensores

(e.g., posição, movimento, batimento cardíaco, respiração) e um sistema wireless (fios causariam incómodo)

O sistema recolhe dados sobre o indivíduo que ajudam o médico a acompanhar a

evolução da doença e/ou permitem a um sistema remoto chamar uma ambulância em caso de problemas urgentes

Requisitos: robustez (e se algo falha?) e segurança (e se alguém atacar a rede?),…

Dados são armazenados

num dispositivo e

transferidos periodicamente

Dados são enviados continuamente para uma central de armazenamento.

(31)

Redes de Sensores

Redes de sensores são fundamentais para muitas aplicações “pervasivas”

Uma rede de sensores consiste em muitos pequenos sensores (temperatura,

movimento, radiação, etc.) com algum poder de processamento e comunicação

– Os elementos da rede são em geral muito limitados em termos de

processamento, comunicação e energia

(32)

Redes de Sensores

As redes de sensores normalmente operam como bases de dados distribuídas

Exemplo: monitorização de estradas

– Considere uma rede de sensores nas estradas de Portugal

– Lançam-se consultas do tipo: “Como está o tráfego na A2?”

– Para responder a esta consulta, os sensores espalhados pela A2 devem

colaborar com os seus dados. Há duas soluções possíveis:

(a.) Cada sensor envia os seus dados para uma base de dados centralizada

e uma “aplicação comum” consolida o resultado

(b.) Encaminha-se a consulta aos sensores relevantes que calculam a

resposta, sendo a aplicação/operador responsável por consolidar um

resultado final

(33)

Redes de Sensores

Solução (a.)

Problema: envia muita informação – desperdício de rede e energia.

(34)

Redes de Sensores

Solução (a.)

Problema: envia muita informação – desperdício de rede e energia.

Solução (b.)

Problema: desperdiça a capacidade de agregação da rede (podia ser retornada

muito menos informação)

(35)

Redes de Sensores

Uma terceira solução melhor ainda, seria fazer o processamento dos dados na rede:

– Define-se uma arvore de distribuição na rede de sensores – Difunde-se a consulta nessa arvore

– Os resultados são enviados de volta (devidamente agregados) até a raiz da arvore Solução (a.)

Problema: envia muita informação – desperdício de rede e energia.

Solução (b.)

Problema: desperdiça a capacidade de agregação da rede (podia ser retornada

muito menos informação)

Referências

Documentos relacionados

Em casos mais avançados do estresse, conforme apresentado por 24% das professoras (12% na fase de Quase Exaustão e 12% na Exaustão) podem aparecer

[r]

Para lhe facilitar o trabalho diário com a sua máquina do Wirtgen Group, oferecemos vários sis- temas de informação: catálo- go, DVD e Internet.. > PARTS AND MORE inclui

É possível argumentar que havia uma tendência conservadora dos governos ditatoriais que vigoraram na América Latina na segunda metade do século XX. Pregavam a

No ´ ultimo cap´ıtulo, o Cap´ıtulo 4, apresentamos duas aplica¸c˜ oes dos produtos tensoriais entre espa¸cos de Banach: a primeira aplica¸c˜ ao relaciona o produto tensorial ao

Mestrado em: Nutrição Humana ou Nutrição Clínica ou Saúde Coletiva ou Ciências da Saúde ou Ciências ou Saúde ou Alimentos e Nutrição e Desenvolvimento na