Tipos de Sistemas Distribuídas

Documentos relacionados
Tipos de Sistemas Distribuídos (Pervasivos)

Sistemas Distribuídos

Programação Distribuída. Tipos de Sistemas Distribuídos

Sistemas Distribuídos

Transacções Atómicas Distribuídas

Tipos de Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

Processamento de Transações. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Caracterização de Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS TIPOS

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto

Processamento de Transações. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SISTEMAS OPERACIONAIS

Sincronização e Concorrência

Controle de Transação

Data and Computer Network

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Introdução à Ciência da Computação

Índice FCA - EDITORA DE INFORMÁTICA XV

SISTEMAS DISTRIBUÍDOS

Sis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o

Introdução. capítulo

Barramento. Prof. Leonardo Barreto Campos 1

AEMGA. Curso Profissional de Programação e Gestão De Sistemas Informáticos. Disciplina: Redes de Comunicação. Modulo 1- Comunicação de dados

SIST706 Sistemas Distribuídos

Introdução. Capítulo 1

Organização e Arquitetura de Computadores I

ANÁLISE E PROJETO DE BANCO DE DADOS

UFCD SISTEMA OPERATIVO INSTALAÇÃO E CONFIGURAÇÃO

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos

23/05/12. Conteúdo. Introdução ao gerenciamento de transações. Motivação. Motivação. Motivação. Motivação

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Aula 2: Tipos de Sistemas Operacionais. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

Sistemas Distribuídos

Introdução aos Sistemas Operacionais

MCRemote - Controlo de Multimedia Centers por dispositivos móveis

Sistema Operativo: o que é?

SIDs: ARQUITETURA DE SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS

Tecnologias de Distribuição e Integração. Quais as preocupações a ter com um sistema distribuído?

Bases de Dados. Parte I: Conceitos Básicos

Introdução a Tecnologia da Informação

SISTEMAS DISTRIBUÍDOS

BANCO DE DADOS 2 TRANSAÇÃO

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Arquitetura de Sistemas Operativos

Sistemas Distribuídos

Arquitetura de Um Computador

Estruturas de Sistemas Operacionais

PROCESSAMENTO DE TRANSAÇÕES

Sistemas Distribuídos. Edy Hayashida

Matéria: Sistema Computacional - SC. Prof.: Esp.: Patrícia Dias da Silva Peixoto

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34

Introdução aos Sistemas Integrados de Gestão de Bibliotecas

Desenvolvimento de Aplicações Distribuídas

Bases de Dados. Parte I: Conceitos Básicos. Parte I

Área de Especialização de Computadores

Apresentação. Informação geral + Conceitos iniciais

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

O que é um sistema distribuído?

Sistemas Distribuídos

Sistemas Distribuídos

Programação Paralela e Distribuída

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP

Sistemas Distribuídos

SSC0611 Arquitetura de Computadores

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 13 de fevereiro de 2014 INSTRUÇÕES

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS

Eleição de Líder. Alysson Neves Bessani Departamento de Informática Faculdade de Ciências da Universidade de Lisboa

Projeto de Sistemas Distribuídos. Considerações

Conceitos. Gestão de Transacções. Transacção. Conceitos e Propriedades. Controlo de Concorrência. Recuperação. Transacções no SGBD Oracle

Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos 10º ano

Bases de Dados. Parte I: Conceitos Básicos

Universidade Federal do Maranhão

Especificação do Projecto

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Organização e Funcionamento

Programação Concorrente

Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos

Avanços e Perspectivas do Projeto Integrade na UFMA

Introdução à Computação Móvel e Ubíqua

1. Monitorização. Índice. 1.1 Principais pontos críticos

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída

Sistemas de Ficheiros Distribuídos. Pedro Ferreira DI - FCUL

Aula 4. Prof: Carlos Eduardo de Carvalho Dantas

ARQUITETURA DE COMPUTADORES

Fundamentos da Informática e Manutenção de Computadores. Professor: Orlando Filho Graduação: Sistemas de Informação

Sistemas Operativos. Introdução

Redes Colaborativas como suporte a Ambientes Inteligentes em Unidades de Cuidados Continuados. Ricardo Costa ESTGF/IPP PhD Student - UM/DI

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Introdução à Informática

Design and Evaluation of a Support Service for Mobile, Wireles. Applications

Introdução aos Sistemas Distribuídos

ENTRADA E SAÍDA FELIPE G. TORRES

INFORMÁTICA BÁSICA HARDWARE: COMPONENTES BÁSICOS E FUNCIONAMENTO.

Sistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S

Técnico de Gestão e Programação de Sistemas Informáticos

I TR T ODUÇÃO O À I N I FO F RMÁ M TI T C I A OBJETIVO

Transcrição:

Tipos de Sistemas Distribuídas Alysson Neves Bessani Departamento de Informática Faculdade de Ciências da Universidade de Lisboa 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 + ou - estáticos Sistemas de Informação Distribuídos Integração de diversos sistemas de informação Sistemas Pervasivos Distribuídos dinâmicos Sistemas que tem em conta mobilidade, autonomia e mudanças no ambiente

Sistemas de Computação Distribuída Clusters Computação em Grid 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.

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 tem privilégios de acesso aos recursos dessa organização Computação em Grid Retirado de http://www.csa.com/discoveryguides/grid/images/gridcomp.gif

Sistemas de Informação Distribuídos Sistemas de Processamento de Transacções Integração de Aplicações Corporativas Sistemas de Processamento de Transacções Transacções são usualmente empregadas em interacções com bases de dados mas não só no futuro, talvez esteja em todo lado (memória transaccional) O objectivo fundamental das transacçõ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 transacção 2. aceder uma ou mais vezes ao recurso (e.g., leitura e/ou escrita) 3. indicar que se quer que as alterações fiquem permanentes (commit) ou que se quer abortar (i.e., esquecer) as alterações (abort) caso aconteça uma falha antes da execução do passo 3, o sistema transaccional aborta todos os acessos efectuados desde o passo 1

Sistemas de Processamento de Transacções: Interfaces Primitive BEGIN_TRANSACTION END_TRANSACTION ABORT_TRANSACTION READ WRITE Description Make the start of a transaction Terminate the transaction and try to commit Kill the transaction and restore the old values Read data from a file, a table, or otherwise Write data to a file, a table, or otherwise Exemplo T1: BEGIN_TRANSACTION reservar Lisboa Londres reservar Londres NY reservar NY SF END_TRANSACTION 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 Sistemas de Processamento de Transacções Propriedades ACID Atomicidade: para um observador externo, uma transacção executa na sua totalidade ou não executa (se existirem falhas, é possível desfazer as alterações parciais das transacções, e um observador externo não deve ver essas alterações parciais) Consistência: cada transacção leva o sistema de um estado válido para um novo estado válido (os invariantes associados às estruturas de dados permanecem válidas) Seriabilidade (Isolation): se diversas transacções forem executadas em paralelo sobre os mesmos recursos, o resultado é equivalente a execução dessas transacções uma após a outra Persistência (Durability): os resultados de uma transacção que fez commit (END_TRANSACTION) permanecem depois desta acabar

Sistemas de Processamento de Transacções Transacções Aninhadas: Transacções que afectam vários recursos são divididas em subtransacções O uso de transacções aninhadas pode levar a alguns problemas:» Suponha uma transacção t com duas subtransacçõ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 durabilidade de t1) Mais correcto! Opção 2: os resultados de t1 não valem (respeita-se a durabilidade de t) Sistemas de Processamento de Transacções Monitor de Processamento de Transacções: Middleware usado na integração de vários sistemas de informação através do uso de transacções Oferece uma interface de transacções para sistemas distribuídos» Exemplo de uso: concretizar transferência de dinheiro entre bases de dados de bancos diferentes

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 as bases de dados que estão por trás As aplicações devem ser capazes de se comunicar uma com a outra, e não permitir que clientes acedam 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 se dá através de middleware orientado a mensagens Sistemas Pervasivos Distribuídos Home Systems Sistemas de Saúde Electrónicos Redes de Sensores

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 presença de mobilidade, os dispositivos devem suportar adaptações ao ambiente dependentes das aplicações Descobrir serviços e reagir de acordo Isto pode implicar em perda de transparência Home Systems Construídos sobre redes domésticas, que usualmente contém: Um ou mais PCs Uma série de aparelhos electrónicos como TVs, equipamento de áudio, consolas, telemóveis, TV box, etc. Dispositivos como cameras 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 camera de vigilância no PC Exportar minhas fotos no PC para as visualizar na TV (através da PS3) Requisito número 1: sistema deve ser auto-configurável e auto-gerido Não vamos esperar que nossa avó consiga ligar todas essas coisas em sua casa nova É preciso uma interface plug and play (e.g., UPnP)

Sistemas de Saúde Electrónicos Considere um sujeito que sofre de alguma 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 colecta dados sobre o indivíduo e os dados 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 Requisitos: robustez (e se algo falhas?) e segurança (e se alguém atacar a rede?), Dados são armazenados em um dispositivo e transferidos periodicamente Dados são enviados continuamente a uma central de armazenamento. 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 Mas custam pouco: de cêntimos a centenas de euros

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 seus dados. Há duas soluções possíveis: (a.) Cada sensor envia 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 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) Uma terceira solução melhor ainda seria fazer o processamento dos dados na rede: Monta-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