Programação Distribuída



Documentos relacionados
Programação Distribuída

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

Comunicação. Parte II

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

UNIVERSIDADE. Sistemas Distribuídos

Aula 03-04: Modelos de Sistemas Distribuídos

Sistemas Distribuídos - SDI. Caracterização de Sistemas Distribuídos.. Exemplos de Sistemas Distribuídos

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4


Sistemas Distribuídos Modelo Cliente-Servidor

Comunicação em Sistemas Distribuídos

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Sistemas Distribuídos. Introdução

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor

Cap 03 - Camada de Aplicação Internet (Kurose)

SISTEMAS DISTRIBUIDOS

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Sistemas Distribuídos

Sistemas Distribuídos Comunicação. Edeyson Andrade Gomes

:: Telefonia pela Internet

Modelos Arquiteturais

TECNOLOGIA WEB INTERNET PROTOCOLOS

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010

Arquitetura dos Sistemas de Informação Distribuídos

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Paradigma Cliente/Servidor

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

SISTEMAS DISTRIBUÍDOS

Meio Físico. Mensagem. Protocolo. Emissor e Receptor. Data Terminal Equipment Data Communications Equipment

Sistemas Distribuídos

Dados em programas são estruturados, enquanto que mensagens carregam informação seqüencial: Linearização x Restauração de dados Requisição

Unidade 1. Conceitos Básicos

Revisão. Karine Peralta

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Sistemas Distribuídos: Conceitos e Projeto Caracterização de Sistemas Distribuídos

AULA Redes de Computadores e a Internet

Modelos Fundamentais. Carlos Ferraz.

Tópicos em Sistemas Distribuídos. Modelos de Comunicação

INTRODUÇÃO A REDES DE COMPUTADORES (DEFINIÇÕES) Prof. Msc. Hélio Esperidião

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Redes de Computadores. Prof. Dr. Rogério Galante Negri

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Rede de Computadores II

Sistemas Distribuídos

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes.

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos

CONCEITOS BÁSICOS DE REDES 2 [COMUTAÇÕES / TAXONOMIA]

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Administração de Sistemas de Informação I

A INTERNET E A NOVA INFRA-ESTRUTURA DA TECNOLOGIA DE INFORMAÇÃO

Sistemas Distribuídos

Informática I. Aula Aula 22-03/07/06 1

(Open System Interconnection)

10/07/2013. Camadas. Principais Aplicações da Internet. Camada de Aplicação. World Wide Web. World Wide Web NOÇÕES DE REDE: CAMADA DE APLICAÇÃO

Universidade de Brasília

REDES DE COMPUTADORES

Sistemas distribuídos:comunicação

Arquitetura de um sistema é a especificação de sua estrutura e de seus componentes

Introdução ao Modelos de Duas Camadas Cliente Servidor

Profs. Deja e Andrei

MODELO CLIENTE SERVIDOR

Redes de Computadores I Internet - Conceitos

Redes de Computadores I Conceitos Básicos

Sistemas Distribuídos

Arquitetura de Computadores II

rr-09-r.01 Introdução UC: Redes de Computadores Docente: Prof. André Moraes

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas

RC e a Internet: noções gerais. Prof. Eduardo

Distributed Systems Concepts and Design

Capítulo II Modelos de Programação Distribuída (parte 2)

Visão do Usuário da DSM

Cap 01 - Conceitos Básicos de Rede (Kurose)

Redes de Computadores e a Internet

Introdução às Redes de Computadores

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

INFORMÁTICA IINTERNET / INTRANET

Rede de Computadores. Carlos Eduardo Pereira GCAR GCAR. IMP= Interface Message Processor. hosts. IMPs. Referência: Tanenbaum - Redes de Computadores

Modelos de Arquiteturas. Prof. Andrêza Leite

Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 9.1

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Comparação SDs X Scs

Rede de Computadores

Características de Firewalls

PARANÁ GOVERNO DO ESTADO

Redes de Computadores Aula 3

Transcrição:

Unidade 4 Programação Distribuída Introdução de Sistemas Distribuídos Modelos de Sistemas Distribuídos Comunicação entre Processos Parte do material é retirado do Livro: From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and DesignEdition 3, Addison-Wesley 2001 Sistemas Distribuídos O que são? São sistemas compostos por diversas partes cooperantes que são executadas em máquinas m diferentes interconectadas por uma rede É um sistema como uma coleção de computadores autônomos conectado por uma rede, com software projetado para produzir um aparato de computação integrado. São implementados em plataformas de hardware que variam em tamanho de algumas estações de trabalho interconectado por uma simples rede até a internet. 2 1

Sistemas Distribuídos "Você sabe que tem um sistema distribuído do quando a falha de um computador do qual você nunca ouviu falar faz com que você pare completamente de trabalhar." [Leslie Lamport] 3 Sistemas Distribuídos Exemplos de aplicações distribuídas das WWW, ICQ, IRC, Morpheus/Kazza Kazza,, etc. Sistemas bancários Sistemas de gerenciamento de redes de telecomunicações, transmissão de energia, etc. Sistemas de informação de grandes empresas... 4 2

Sistemas Distribuídos Estrutura Física Máquinas (hosts) são conectadas a um provedor (ISP) ou rede local, metropolitana, sem fio,, etc. Estas redes são interligadas por redes de longa distância públicas (ex.: Internet) ou privadas Kurose & Ross 5 Figura 1.2 Um intranet típica Impressora e outros servidores de e-mail Desktop computers Web de e-mail Rede Local (LAN) O resto da Internet de arquivo Impressora Outros servidores roteador/firewall 6 3

Figura 1.1 Um porção típica da Internet ISP intranet backbone Computador desktop : servidor: Link de rede : satellite link 7 Figura 1.3 Aparelhos portáteis teis e móveis em sistemas distribuídos dos Internet Host intranet LAN sem-fio (Wireless ) WAP gateway Home intranet Celular Impressora Câmera Laptop Host site 8 4

Vantagens de Sistemas Distribuídos em relação a Sistemas Centralizados Custo/beneficio: : 10 máquinas m de x 200 MHz (sucata) é mais barato que 1 máquina m de 2 GHz Capacidade de processamento (Velocidade): é possível construir sistemas com valor agregado muito maior Maior domínio de aplicações: TF, groupware, redes P2P, MSN, ICQ, Skype Distribuição físicaf sica: : algumas aplicações são essencialmente distribuídas das (e.g., correio eletrônico) Confiabilidade: : se uma máquina m quebra, outras podem guardar backup Disponibilidade: : se uma máquina m sai do ar (ou melhor, do fio), pode-se usar outra 9 Vantagens de Sistemas Distribuídos em relação a Sistemas Centralizados Vantagens Usam melhor o poder de processamento por distribuir a carga entre as máquinas m Podem apresentar melhor desempenho, maior confiabilidade, e suportar um maior número n de usuários Permitem compartilhar dados e recursos e reutilizar serviços jáj disponíveis... 10 5

Vantagens de Sistemas Distribuídos em relação a Sistemas Centralizados Dificuldades Acoplamento fraco Máquinas trocam dados pela rede Tempo de comunicação ilimitado pode comprometer o funcionamento do sistema Como reduzir o tráfego na rede? Não-deterministas Comportamento pouco previsível vel Como evitar congestionamento/sobrecarga? 11 Vantagens de Sistemas Distribuídos em relação a Sistemas Centralizados Dificuldades Sistemas heterogêneos Máquinas, linguagens e S.O. s s diferentes Como tratar estas diferenças? Não háh uma base de tempo global Em geral os relógios não estão sincronizados Como ordenar os eventos no sistema? Difícil ter uma visão global Transações envolvem várias v máquinasm Como manter o estado global do sistema? 12 6

Vantagens de Sistemas Distribuídos em relação a Sistemas Centralizados Dificuldades Acesso concorrente a dados e recursos Dados/recursos em diferentes máquinasm Como controlar o acesso concorrente? Como evitar deadlocks? Difícil gerenciar e manter o sistema Máquinas dispersas pela rede Administração pode ser independente 13 Vantagens de Sistemas Distribuídos em relação a Sistemas Centralizados Dificuldades Sujeito a falhas As máquinas m e a rede podem falhar Como evitar que estas falhas comprometam o funcionamento do sistema? Segurança Mais difícil controlar o acesso a dados e recursos em sistemas distribuídos dos Como garantir a segurança a do sistema e o sigilo dos dados trocados pela rede? 14 7

Figura 2.1 Camada de software e hardware em sistemas distribuídos dos Aplicações, serviços Middleware Sistema Operacional Plataforma Hardware do computador e da Rede 15 Figura 2.2 s invocam servidores individuais invocação invocação resultado resultado Definição: Processo: Computador: 16 8

Figura 2.3 Um serviço fornecido por múltiplos servidores Serviço 17 Figura 2.4 Web proxy Proxy Web Web 18 9

Figura 2.5 Uma aplicação distribuída da baseada em pares de processo (P2P) Aplicação Código de Coordenação Aplicação Código de Coordenação Aplicação Código de Coordenação 19 Figura 2.6 Applets Web a) cliente requisita o download do código do applet b) cliente interage com o applet Código do Applet Web Applet Web 20 10

Figura 2.7 Thin and computador servidor Computador de rede (terminal) ou PC Computador Thin network Processo da Aplicação 21 Figura 2.8 rede sem-fio (wireless) em um hotel gateway Serviço de música Serviço de alarme Internet Rede wireless do hotel Discovery service Câmera TV/PC Laptop PDA Equipamento visitante 22 11

Rede e Comunicação entre Processos Parâmetros de desempenho Latência (L): pode ser definido como o tempo requerido para transferir uma mensagem vazia entre dois computadores. É uma medida dos atrasos de software (atrasos de roteamento,, elemento estatístico stico dependente da carga) envolvidos no acesso a rede no emissor e no receptor; 23 Rede e Comunicação entre Processos Parâmetros de desempenho Taxa de transferência de dados (TTD): é a velocidade em que dados podem ser transferido entre dois computadores na rede, uma vez a transmissão ter iniciada, cotada em bits por segundo (bits/s). 24 12

Comunicação entre Processos Parâmetros de desempenho Tempo de transferência da mensagem (TTM): tempo requerido para transferir uma mensagem contendo um comprimento length (em bits) entre dois computadores: TTM = (L + length) ) / TTD Throughput (ritmo de transferência): mede a largura de banda da rede, o volume total de tráfego que pode ser transferido através s da rede em um dado (intervalo) tempo. 25 Comunicação entre Processos Elementos básicos b da comunicação Transmissão Endereçamento Sincronismo Enfileiramento (buferiza( buferização) Confiabilidade Núcleo Requisição Resposta Rede 11010011010101001 Núcleo 7 6 5 Requisição/Resposta 4 3 2 Enlace Físico 1 26 13

Comunicação entre Processos Transmissão de dados Dados em programas são estruturados enquanto que mensagens carregam informação seqüencial encial: Linearização ão/restauração de dados Heterogeneidade na representação de dados em computadores: Uso de um formato externo comum; Inclusão de uma identificação de arquitetura na mensagem; 27 Comunicação entre Processos Transmissão de dados Marshalling/Unmarshalling Unmarshalling: Marshalling: Linearização de uma coleção de itens de dados estruturados; Tradução dos dados em formato externo; Unmarshalling: Tradução do formato externo para o local; Restauração dos itens de dados de acordo com sua estrutura; 28 14

Comunicação entre Processos Endereçamento Esquemas: Endereçamento máquina.processo; m Endereçamento máquina.idm quina.id-local; Endereçamento máquina.porta; m 150.162.14.59.45 id 155 Núcleo Núcleo Rede 150.162.14.59.45 id 145 29 Comunicação entre Processos Endereçamento Esquemas: Descoberta de endereço o via broadcasting (difusão); Descoberta de endereço o via um servidor de nomes; Problemas potenciais: transparência de localização, sobrecarga, escalabilidade (componente centralizado). 30 15

Comunicação entre Processos Sincronismo Comunicação síncrona: s Primitiva send é bloqueante: : processo cliente aguarda enquanto o núcleo n envia a mensagem para o processo servidor; Primitiva receive é bloqueante: : processo servidor aguarda até que o núcleo n receba uma mensagem endereçada para aquele processo; 31 Comunicação entre Processos Sincronismo Comunicação assíncrona: Primitiva send é não-bloqueante bloqueante: : o processo cliente aguarda somente enquanto a mensagem é copiada para o buffer do núcleo; Primitiva receive é não bloqueante: : o processo servidor simplesmente comunica o núcleo que espera receber uma mensagem; 32 16

Comunicação entre Processos Enfileiramento Situações: Send ocorre antes de Receive; Um cliente faz um Send enquanto o servidor ainda atende a outro cliente; Solução trivial: clientes devem insistir... ; Solução pragmática: mailbox (uma fila de mensagens controlada pelo núcleo): n Mailbox criado a pedido do servidor; Mensagens endereçadas ao mailbox; 33 Comunicação entre Processos Confiabilidade Mensagens se perdem, atrasam, duplicam; Abordagens: Send tem semântica não confiável: as aplicações devem garantir entrega de mensagens (ex: timeout); Mensagem de acknowledgement enviada pelo servidor (no nível n núcleo); n Mensagem de acknowledgement implícita na resposta do servidor 34 17

Comunicação entre Processos Confiabilidade Código Tipo De Para Descrição REQ Request C S O cliente deseja um serviço REP Reply S C Resposta do servidor para o cliente ACK Ackowledgment x y O pacote anterior chegou AYA Are you alive? C S Investiga se o servidor não parou IAA I am alive S C O servidor não parou TA Try again S C O servidor está lotado AU Address unknown S C Nenhum processo está usando aquele endereço 35 Comunicação entre Processos Em uma certa comunicação cliente-servidor, o cliente envia as mensagens REQ, REQ, AYA, AYA, ACK, não necessariamente nesta ordem, enquanto que o servidor envia as mensagens IAA, IAA, ACK, REP, TA,, também não necessariamente nesta ordem. Supondo que o meio de comunicação é confiável, isto é,, nenhuma mensagem se perde, corrompe ou duplica, descubra uma ordem possível de envio dessas mensagens e faça a um diagrama ilustrando a situação. 36 18