sistemas distribuídos comunicação middleware orientado a mensagens e streams - parte 3 -...
Post on 17-Apr-2015
109 Views
Preview:
TRANSCRIPT
Sistemas Distribuídos
ComunicaçãoMiddleware Orientado a
Mensagens e Streams
- Parte 3 -
Instituto de Informática – UFG
Verão 2005
Baseado em: Tanenbaum, Capítulo 2
Middleware Orientado a Mensagens
• Para algumas categorias de aplicações, o modelo de chamada de métodos/procedimentos remotos não é
natural
• Um modelo de passagem de passagem de mensagens permite modelar melhor o padrão de
interação inerente aos componentes das aplicações
• Em geral: aplicações distribuídas com grau de acoplamento muito baixo
Persistência e Sincronismo na Comunicação (1)
Persistência: as mensagens são armazenadas em elementos intermediários da rede– a rede garante que mensagens não vão se perder
Transiência: a rede não armazena as mensagens– confia na disponibilidade do transmissor e/ou receptor
para que as mensagens não se percam
Sincronismo: transmissor permanece bloqueado até que o envio da mensagem se complete
Assincronismo: transmissor retoma operação normal tão logo tenha enfileirado a mensagem
Persistência e Sincronismo na Comunicação (2)
Organização geral de um sistema de comunicação baseado em mensagens, em que os hosts são conectados através de uma rede
2-20
Persistência e Sincronismo na Comunicação (3)
Comunicação persistente de cartas
Persistência e Sincronismo na Comunicação (4)
a) Comunicação persistente e assíncronab) Comunicação persistente e síncrona
2-22.1
Persistência e Sincronismo na Comunicação (5)
a) Comunicação transiente e assíncronab) Comunicação transiente e síncrona baseada na recepção
2-22.2
Persistência e Sincronismo na Comunicação (6)
a) Comunicação transiente e síncrona baseada na entregab) Comunicação síncrona e transiente baseada na resposta
Exemplo de Sistema Baseado em Mensagens Transientes
Message-Passing Interface (MPI)
Algumas das primitivas de passagem de mensagens mais intuitivas de RMI.
Check if there is an incoming message, but do not blockMPI_irecv
Receive a message; block if there are noneMPI_recv
Pass reference to outgoing message, and wait until receipt startsMPI_issend
Pass reference to outgoing message, and continueMPI_isend
Send a message and wait for replyMPI_sendrecv
Send a message and wait until receipt startsMPI_ssend
Send a message and wait until copied to local or remote bufferMPI_send
Append outgoing message to a local send bufferMPI_bsend
MeaningPrimitive
Sistema de Mensagens PersistentesModelos de Filas de Mensagens
Quatro combinações de comunicação fracamente acoplada utilizando filas.
2-26
Modelos de Filas de Mensagens (2)
Interface básica para uma fila em um sistema de filas de mensagens.
Install a handler to be called when a message is put into the specified queue.Notify
Check a specified queue for messages, and remove the first. Never block.Poll
Block until the specified queue is nonempty, and remove the first messageGet
Append a message to a specified queuePut
MeaningPrimitive
Arquitetura Geral de um Sistema de Filas de Mensagens (1)
O relacionamento entre endereçamento em nível de filas e endereçamento em nível de rede.
Arquitetura Geral de um Sistema de Filas de Mensagens (3)
A organização geral de um sistema de filas de mensagens com roteadores.
2-29
Message Brokers
A organização geral de um message broker em um sistema de filas de mensagens.
2-30
Gateway de mensagens entre aplicações em um sistema heterogêneo: conversão de formato das mensagens entre origem e destino
Middleware Baseado em Streams
Middleware Baseado em Streams
• Provê suporte para comunicação entre os componentes das aplicações com base em fluxos de
dados contínuos
• Uma seqüência indefinidamente longa de unidades de dados é transmitida como parte de uma única
interação
• Preserva a relação temporal entre as unidades de dados transmitidas
• Modelo natural para a comunicação de dados que representam mídias contínuas (e.g., áudio e vídeo)
Um Sistema de Multimídia Distribuída
Wide a rea ga tew ay Videoserve r
D igita lTV/rad iose rve r
V ideo cam eraand m ike
Loca l ne tw ork Loca l ne tw ork
Tipos de Streams
Streams contínuas: dependência temporal entre os itens de dados– a aplicação falha se essa dependência não for respeitada– aplicação: comunicação de mídias contínuas
Streams discretas: cada item de dados pode ser transmitido independentemente dos demais– temporização da transmissão não é importante para as
aplicações– aplicação: comunicação de mídias discretas– Ex.: streams TCP
Modos de Transmissão de Streams
Transmissão Assíncrona: itens de dados são transmitidos em seqüência, mas sem restrições quanto à sua temporização
Transmissão Síncrona: há um limite máximo para o atraso fim-a-fim de cada item de dados da stream, mas os itens podem ser transferidos mais rapidamente
Transmissão Isócrona: há um limite máximo e um limite mínimo para o atraso fim-a-fim; a variação do atraso é conhecida como jitter
Streams Simples e Compostas
Streams simples: um único fluxo de dados– um fluxo de áudio mono– um fluxo de vídeo (uma seqüência de quadros
serializados)
Streams compostas: vários fluxos diferentes combinados– um fluxo de áudio estéreo (i.e., dois fluxos de áudio)– um fluxo de vídeo (filme) e um fluxo de áudio
representando a trilha sonora
Sincronização entre streams é um problema importante
Uma Streams de Dados Simples
Configurando uma stream entre dois processos através da rede.
(áudio armazenado, áudio sob demanda)
Streams de Dados em Tempo Real
Configurando uma stream diretamente entre dois dispositivos.
2-35.2
Infra-estrutura Típica dos Componentes para uma Aplicação Multimída
M icroph on es
Cam era
S creen
Win dow system
CodecD
BM ixer
PC/workstation PC/workstation
CVideostore
Networkcon n ection s
K
L
M
: m u ltim edia stream
CodecA G
Codec
H
Win dow system
Wh ite boxes represen t m edia processin g com pon en ts, m an y of wh ich are im plem en ted in software, in clu din g:codec: codin g/decodin g fi l ter
m ixer: sou n d-m ix in g com pon en t
Video fi le system
Caixas brancas representam componentes de processamento de mídia, muitos dos quais são implementados em software, incluindo: codecs (filtros de
codificação/decodificação) e mixers (componentes de mixagem de áudio)
Ir para o slide de especificação de QoS
QoS - Quality of Service
Qualidade de Serviço
Características que o Sistema Distribuído e a rede devem prover para garantir (por exemplo) que a relação temporal entre os itens de dados de uma
stream seja preservada
Algumas métricas comuns de QoS:• limites de tempo e atraso
• volume de dados transferidos• confiabilidade
Especificação de QoS
A especificação de um fluxo (Partridge, 1992).
•Loss sensitivity (bytes)•Loss interval (sec)•Burst loss sensitivity (data units)•Minimum delay noticed (sec)•Maximum delay variation (sec)•Quality of guarantee
•maximum data unit size (bytes)•Token bucket rate (bytes/sec)•Toke bucket size (bytes)•Maximum transmission rate (bytes/sec)
Service RequiredCharacteristics of the Input
RFC 1363 – Especificação de Fluxo
Protocol version
Maximum transmission unit
Token bucket rate
Token bucket size
Maximum transmission rate
Minimum delay noticed
Maximum delay variation
Loss sensitivity
Burst loss sensitivity
Loss interval
Quality of guarantee
Bandwidth:
Delay:
Loss:
(Partridge, 1992).
Características de Streams Multimídia Típicas
Data rate(approximate)
Sample or frame frequency size
Telephone speech 64 kbps 8 bits 8000/secCD-quality sound 1.4 Mbps 16 bits 44,000/secStandard TV video(uncompressed)
120 Mbps up to 640 x 480pixels x 16 bits
24/sec
Standard TV video (MPEG-1 compressed)
1.5 Mbps variable 24/sec
HDTV video(uncompressed)
1000–3000 Mbps up to 1920 x 1080pixels x 24 bits
24–60/sec
HDTV video(MPEG-2 compressed)
10–30 Mbps variable 24–60/sec
Especificação de QoS para os Componentes da Aplicação Mostrada
Component Bandwidth Latency Loss rate Resources required
Camera Out: 10 frames/sec, raw video640x480x16 bits
Zero
A Codec In:
Out:
10 frames/sec
MPEG-1 stream
Interactive Low 10 ms CPU each 100 ms;
10 Mbytes RAM
B Mixer In:
Out:
2 44 kbps audio
1 44 kbps audio
Interactive Very low 1 ms CPU each 100 ms;
1 Mbytes RAM
H Windowsystem
In:
Out:
various
50 frame/sec
Interactive Low 5 ms CPU each 100 ms;
5 Mbytes RAM
K Networkconnection
In/Out: MPEG-1 stream1.5 Mbps
Interactive Low 1.5 Mbps, low-lossstream protocol
L Networkconnection
In/Out: Audio 44 kbps Interactive Very low 44 kbps, very low-lossstream protocol
Voltar ao slide da Aplicação
A Tarefa do Gerente de QoSComponentes da Aplicação especificam seus requisi-
tos de QoS para o Gerente de QoS
Gerente de QoS avalia os novos requisitos em relação aosrecursos disponíveis.
Os recursos disponíveis são suficientes?
Reserva os recursos requisitados
Permite que a aplicação prossiga
A aplicação executa com os recursossegundo um contrato
Negocia uma provisão de recursos reduzida coma aplicação.
Chegou-se a um acordo?
Não permite que a aplicação prossiga
Aplicação notifica ao Gerente deQoS um aumento em seus requisitos
de recursos
Especificação de Fluxo
Sim Não
Não
Sim
Contrato de Recursos
Controle deAdmissão
Negociaçãode QoS
Garantia de QoS com Modelamento de Tráfego
Princípio básico de algoritmos de modelamento de tráfego do tipo
“token bucket”.
Configuração de uma Stream com suporte a QoS
A organização básica de RSVP para reserva de recursos em um sistema distribuído.
Filtragem de QoS
Um exemplo de multicast de uma stream para vários receptores.
Mecanismos de Sincronização (1)
O princípio da sincronização explícita entre streams.
Mecanismos de Sincronização (2)
O princípio da sincronização segundo o suporte provido pelas interfaces de alto nível do middleware.
2-41
top related