Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistema Distribuido
Sistema Distribuido
Sistema Distribuido
Destinos de Mensagens Para IP + Porta Local. Exemplo: 192.168.1.14:25 Portal Local: destino de mensagem representado por valor inteiro (2^16 portas = 65.536 portas)
Sistema Distribuido
Sistema Distribuido
Sistema Distribuido
Tamanho da mensagem
Bloqueio
Normalmente receive bloqueante Se nenhum processo existir no destino, a mensagem descartada sem conhecimento do remetente Se o processo tiver tarefas a executar, deve utilizar threads separadas
Sistema Distribuido
Armazena informaes de estado (origem/destino) Transmite mensagens extra Latncia no remetente Lentido no receptor
Sistema Distribuido
Sistema Distribuido
Sistema Distribuido
De dados muito pequenos a muito grandes Controle realizado pela camada TCP
Mensagens perdidas
Esquema de confirmao Se o remetente no receber confirmao, reenvia a mensagem Obs: Janela Deslizante (Comer, 2000)
Sistema Distribuido
Controle de Fluxo Duplicao e Ordenamento Identificadores associados aos datagramas IP Permite rejeitar duplicatas / ordenar mensagens Mensagens perdidas Conexo estabelecida no incio (connect / accept) Modelo causa sobrecarga
Sistema Distribuido
Sistema Distribuido
Sistema Distribuido
Sistema Distribuido
Sistema Distribuido
Strings Arrays Colees Objetos Complexos Estruturas de dados avanadas (rvores, grafos)
Necessidades
Sistema Distribuido
Representao difere de mquina para mquina Ex: ordem big-endian versus ordem little-endian Inteiros e nmeros em ponto-flutuante divergem, eventualmente ASCII versus UTF-8 Mtodos de Transmisso Formato remetente -> formato externo -> formato destinatrio Formato remetente -> converso no destino (se necessrio)
Sistema Distribuido
Modelos
Representao Comum da Dados CORBA Serializao de Objetos JAVA Extensible Markup Language - XML
Sistema Distribuido
CORBA 2.0
Quinze tipos primitivos, dentre eles: short (16-bit), long (32bits), unsigned short, unsigned long, float (32-bits), double (64-bits), char, boolean (TRUE, FALSE), octet (8-bits), any
Sistema Distribuido
Empacotamento / Marshalling
CORBA
struct { string nome; string lugar; unsigned long ano; } Struct Pessoa, valor: {Smith, London, 1984}
Sistema Distribuido
Empacotamento / Marshalling
CORBA
Struct Pessoa, valor: {Smith, London, 1984}
Sistema Distribuido
Empacotamento / Marshalling
JAVA RMI
Em Java, serializar significa: prepara o objeto para armazenamento em disco ou transmitido via rede
Premissa: o processo de reconstruo do objeto no possui nenhum conhecimento da estrutura do objeto transmitido
Sistema Distribuido
Empacotamento / Marshalling
JAVA RMI
Classe Pessoa
Sistema Distribuido
Empacotamento / Marshalling
JAVA RMI
Classe Pessoa, serializada
Sistema Distribuido
Assim como HTML, XML derivada de SGML Itens XML so rotulados com Strings de marcao (tags)
Base64 Encode
Sistema Distribuido
Empacotamento / Marshalling
XML
Sistema Distribuido
Estudo de Caso
Message Passing Interface - MPI
Padro herda a simplicidade e poder do modelo send/ receive (incio da aula), com extenses teis
Sistema Distribuido
Estudo de Caso
Message Passing Interface - MPI
Sistema Distribuido
Estudo de Caso
Message Passing Interface - MPI
Sistema Distribuido
Estudo de Caso
Message Passing Interface - MPI
Cluster de alto desempenho para quebra de senhas Alvo: senhas de sgbd mysql ou sistemas linux Necessidade de muito processamento Um servidor master, dois servidores slaves, virtualizados
Padro utilizado para troca de mensagens entre processos: MPICH - Implementao Multiplataforma do Padro MPI