A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Multimédia Distribuídos

Apresentações semelhantes


Apresentação em tema: "Sistemas Multimédia Distribuídos"— Transcrição da apresentação:

1 Sistemas Multimédia Distribuídos
Computação em Sistemas Distribuídos IST – MEIC 2002/2003 Pedro António M5157

2 Computação em Sistemas Distribuídos
Conteúdo Características dos Sistemas Multimédia Audio, Video, ... Entrega de dados em Tempo-Real, no momento certo Gestão da Qualidade de Serviço (QoS) Negociação e Garantias de QoS Controlo de Admissão Formato do tráfego Leaky bucket Token bucket Gestão de Recursos Escalonamento de recursos Adaptação à QoS Scaling Filtragem Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

3 Computação em Sistemas Distribuídos
Palavras Chave Multimédia Streams Largura de Banda QoS Latência Burstiness Taxa de Perdas Scaling Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

4 Sistema Multimédia Distribuído
Arquitectura típica Processamento de streams de dados (audio, video) Transferência da origem (câmara, microfone) Entrega/Consumo no destino (ecrã, coluna) Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

5 Computação em Sistemas Distribuídos
Sistemas Multimédia Dados Multimédia Streams contínuas de dados Video e Audio digital Exemplos de Aplicações de Multimédia Distribuídas: BD de Video Telefone via Internet Video-conferências No entanto, a qualidade do audio e video nem sempre é satisfatória... Redes actuais  best-effort Sem garantia de largura de banda ou latência Viáveis nas redes e sistemas actuais! Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

6 Computação em Sistemas Distribuídos
Sistemas Multimédia Exemplo de Aplicações Multimédia mais exigentes: Video conferência de larga escala TV digital TV interactiva Sistemas de Vigilância Exigências: Entrega a tempo das streams Multimédia Streams de video e audio são consumidos em tempo real Sistemas Multimédia são sistemas tempo real Realizar tarefas e devolver resultados de acordo com um escalonamento determinado exteriormente Estão para além das capacidades das redes e tecnologias de SD actuais! Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

7 Computação em Sistemas Distribuídos
Sistemas Tempo-Real Exemplo de Aplicações Tempo-Real actuais: Aviação Controlo de tráfego aéreo Controlo de processos de produção Área dos telefones Não satisfazer os deadlines pode ser crítico em aplicações Multimédia Serviço de video-on-demand Aplicações de conferência Medicina remota - Qtd de dados reduzida! Deadlines complicados são pouco frequentes! Garantir que os requisitos para o pior caso são cumpridos! Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

8 Características dos dados
O utilizador tem a percepção de dados contínuos Fluxo multimédia Time-based (dados entregues nos momentos exactos) Bulky (transferência de dados em grande quantidade) Compressão (reduzir requisitos de largura de banda) 10x ou 100x GIF, TIFF, JPEG, MPEG-1, MPEG-2, MPEG-4 Codec (Coders/Decoders) Hardware (placas de video) Software (maior flexibilidade) MPEG (Moving Picture Experts Group) Compressão complexa; Descompressão mais simples Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

9 Características dos dados
Compressão Problema: Largura de Banda limitada Audio Qualidade de CD : amostras por segundo com16 bits por amostra, som stereo 44100*16*2 = Mbps Para uma música de 3 minutos: 1.441*180 = 254 Mb = MB Video Para imagens 320*240 com 24-bit de cor 320*240*24 = 230KB/imagem 15 frames/seg: 15*230KB = 3.456MB Video de 3 minutos: 3.456*180 = 622MB FUNDAMENTAL A EXISTÊNCIA DE COMPRESSÃO! Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

10 Características dos dados
Taxa de dados Sample/frame (aproximado) tamanho frequência Telefone 64 kbps 8 bits 8000/seg Som CD 1.4 Mbps 16 bits 44,000/seg TV video Standard 120 Mbps até 640 x 480 24/seg (descomprimido) pixels x 16 bits TV video Standard 1.5 Mbps variável 24/seg (MPEG-1 comprimido) HDTV video 1000–3000 Mbps até 1920 x 1080 24–60/seg (descomprimido) pixels x 24 bits HDTV video 10–30 Mbps variável 24–60/seg (MPEG-2 comprimido) Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

11 Computação em Sistemas Distribuídos
Gestão QoS Gestão da QoS Gestão e atribuição de recursos de modo a oferecer garantias de entrega a tempo Garantias que os recursos necessários vão ser atribuídos e escalonados nos momentos necessários Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

12 Computação em Sistemas Distribuídos
Gestão QoS Gerir atribuição de recursos Largura de banda de rede Recursos computacionais Aspectos dinâmicos relacionados com a variação do número de participantes Considerar diversas actividades paralelas (largura de banda video; conversação; processamento de texto; programa de desenvolvimento) Requisitos específicos da Multimédia Sincronização do meio de diversas streams Sincronização externa de video-conferência com outros dados (animações, simulações, whiteboards, documentos partilhados, etc.) Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

13 Computação em Sistemas Distribuídos
Gestão QoS Responsabilidade do Gestor da QoS Negociação da QoS Aplicações requisitam recursos O gestor QoS concede-os caso estejam disponíveis Caso contrário, tem de haver nova negociação Controlo de admissão Avaliação positiva  Recursos reservados (Contrato de Recursos) Contrato de Recursos: Recursos reservados; Tempo limite; etc. Alterações  notificação do gestor QoS Diminuição das necessidades  Libertar Recursos Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

14 Computação em Sistemas Distribuídos
Negociação da QoS Largura de Banda Taxa de fluxo de dados de um componente Latência Tempo necessário para a transferência dum elemento de dados individual numa stream Depende do volume de outros dados existentes no sistemas e de outras características de carga Jitter  1ª derivada da latência Taxa de Perdas Intervalo de tempo no qual se espera que ocorra uma falta Entregas tardias perdem o seu valor Abandonar os dados quando é impossível entregá-los a tempo Ambientes QoS geridos na perfeição não ocorrem perdas Entregas a tempo de todos os dados por vezes não é possível (reserva de recursos que excedem as necessidades) Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

15 Computação em Sistemas Distribuídos
Negociação da QoS Estes 3 parâmetros descrevem: As características das streams num determinado ambiente Stream de video (aplicação de video conferência) LB média = 1.5Mbps; Atraso = 150ms; Perdas aceitáveis = 1 em 100 A capacidade dos recursos em transportar streams Rede LB = 64Kbps; Algoritmo de queing – Atrasos < 10ms; Perdas < 1 em 106 Especificação dos parâmetros QoS para streams Estabelecidos explicitamente LB: 50 Mbps; Atrado: 150 ms; Perdas: < 1 em 103 Estabelecidos implicitamente A LB da rede resulta da compressão da saída de uma câmara Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

16 Computação em Sistemas Distribuídos
Negociação da QoS Especificação da Largura de Banda Problemas Compressão depende do conteúdo Diferentes padrões de tráfego (caracterizar Burstiness) Especificar valores máximos, médios e mínimos Burstiness Parâmetro adicional, para além da taxa e do tamanho dos dados N.º máximo de elementos que podem chegar antes do tempo Quantidade de espaço do buffer para evitar perdas Modelo LBAP (linear-bounded arrival processes) N.º máximo de mensagens numa stream durante um intervalo de tempo t = Rt + B (R – taxa; B – burstiness) Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

17 Computação em Sistemas Distribuídos
Negociação da QoS Especificação da Latência Streams O processamento de uma frame de uma stream deve acompanhar a taxa de chegada de frames Exceder a capacidade do buffer Aplicações de video-conferência Evitar atrasos inferiores a 150 ms (percepção humana de conversação) Aplicação de stored video Resposta a comandos 500 ms Jitter Variação no período entre a entrega de 2 frames adjacentes Manter uma taxa regular sem variações Resolvido utilizando buffers Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

18 Computação em Sistemas Distribuídos
Negociação da QoS Especificação da Taxa de Perdas Mais difícil de especificar Resultados probabilisticos Buffer overflow Mensagens atrasadas Cálculos baseados em piores casos Diferenciar aplicações com a mesma LB e a mesma Latência Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

19 Computação em Sistemas Distribuídos
Negociação da QoS Formação de Tráfego Uso de buffers de saída de modo a suavizar o fluxo de dados A LB fornece uma aproximação do padrão de tráfego Quanto mais se aproximar da descrição, melhor se consegue tratar o tráfego Inserir buffer na origem para estabilizar a LB Token generator Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

20 Computação em Sistemas Distribuídos
Negociação da QoS Leaky bucket Elimina padrão de tráfego bursty O tamanho do buffer define a quantidade máxima que uma stream pode estar segura sem perder elementos Taxa de saída inferior a um valor máximo A LB é delimitada em qualquer intervalo de tempo Token bucket Tolera bursts maiores quando o tráfego está inactivo Tokens gerados a uma taxa constante Tokens removidos após o envio Dados de tamanho S podem ser enviados se existirem S tokens no balde Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

21 Computação em Sistemas Distribuídos
Negociação da QoS Especificação de fluxo Flow spec – conjunto de parâmetros QoS Exemplos: RFC 1363 – 11 valores de 16-bit  LB, Atraso, Perdas SRP – burstiness  workahead RFC 1190 – Protocolo ST-II (Internet Stream Protocol) Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

22 Computação em Sistemas Distribuídos
Negociação da QoS Procedimentos de Negociação da QoS Os componentes de uma stream podem encontrar-se em vários nós (de um Sistema Multimédia Distribuído) Necessário um gestor de QoS em cada nó Origem  Destino A origem inicia a negociação enviando um flow spec para o gestor QoS em cada nó O gestor QoS verifica a disponibilidade dos recursos numa BD Se existirem outros sistemas envolvidos na aplicação, o flow spec é encaminhado para o próximo nó onde residem os recursos O flow spec percorre todos os nós até ao destino final Se o sistema conseguir oferecer a QoS requisitada é enviada uma notificação de volta para a origem Negociações concorrentes... Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

23 Computação em Sistemas Distribuídos
Negociação da QoS Procedimentos de Negociação da QoS Necessidades de QoS dinâmicas das aplicações Em vez de um valor booleano (Sim/Não) Especificar um valor desejado e o pior valor para cada parâmetro QoS Destinos heterogéneos Inapropriado atribuir os mesmos valores de QoS O destino deve receber o melhor QoS possível Protocolos de Negociação Iniciados pelo Emissor SRP (Scalable Resource Reservation Protocol) ST-II (Internet Stream Protocol) RCAP (Real-time Channel Administration Protocol) Protocolos de Negociação Iniciados pelo Receptor RSVP (Resource Reservation Protocol) Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

24 Computação em Sistemas Distribuídos
Controlo de Admissão Controlar o acesso a recursos: Evitar o seu carregamento Proteger de pedidos que não conseguem satisfazer Violação da garantia de QoS  negar pedidos Um esquema de Controlo de Admissão é baseado em conhecimento de: Capacidade total do sistema Carregamento gerado pela aplicação Os requisitos de LB especificados pela aplicação: Máxima, Mínima e/ou Média Recursos com pontos de acesso distribuídos (LAN) Entidade de controlo de admissão central Algoritmo de controlo de admissão distribuído Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

25 Computação em Sistemas Distribuídos
Controlo de Admissão Reserva de Largura de Banda Requisitar Largura de Banda máxima para uso exclusivo Utilizado por aplicações que não se conseguem adaptar a diferentes níveis de QoS Possibilidade de desperdícios de LB Pedidos cancelados embora pudessem ser satisfeitos Multiplexagem estatística Sub-utilização de recursos... permitir acessos em excesso! Não é baseado no pior caso  Garantias estatísticas ou fracas No entanto, podem provocar a falha de um serviço de qualidade Hipótese: Quando uma stream envia uma quantidade grande de dados, existe outra que envia uma quantidade pequena de dados Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

26 Gestor de QoS Controlo de Admissão Negociação QoS Flow spec Sim Não
Aplicação especifica a necessidade QoS ao gestor da QoS Flow spec O gestor da Qos avalia as novas necessidades e avalia os recursos disponíveis. SUFICIENTE? Sim Não Reservar recursos requisitados Negociar com a aplicação a redução de recursos necessários. ACORDO? Contrato de Recursos Sim Não Permitir a execução da aplicação Não permitir que a aplicação se execute A aplicação executa-se com os recursos contratados A aplicação notifica ao gestor da QoS do aumento das necessidades Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

27 Computação em Sistemas Distribuídos
Gestão de Recursos Gestão de Recursos Recursos suficientes  Desempenho Disponibilidade dos recursos  Escalonamento Escalonamento de Recursos Atribuição de recursos por prioridade Capacidade de resposta Imparcialidade Deadlines na entrega de dados Multimédia Algoritmos de escalonamento tempo-real Classes Streaming Stored Audio and Video Streaming Live Audio and Video Real-Time Interactive Audio and Video Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

28 Computação em Sistemas Distribuídos
Gestão de Recursos Escalonamento de Recursos Escalonamento justo Imparcialidade Prevenir mau funcionamento (consumo excessivo de LB) Round-robin  Aplicado a streams da mesma classe Mesma LB a cada stream EDF (Earliest-deadline-first) Um deadline associado a cada um dos items de trabalho O item com o deadline mais cedo vai primeiro Escalonamento óptimo na atribuição de um único recurso Escalonamento RM (rate-monotonic) Prioridades de acordo com a taxa da stream Escalonamento óptimo para situações de LB até 69% A restante LB pode ser atribuída a aplicações não tempo-real Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

29 Computação em Sistemas Distribuídos
Adaptação à QoS Adaptação às alterações do nível de QoS Desempenho Diversos níveis de qualidade da apresentação Deitar fora pedaços de informação Som  amostras independentes (podem ser identificadas) Video Motion JPEG  Frames independentes MPEG  Frames dependentes (processo de codificação) LB insuficiente + Não deitar fora dados = Mais atrasos Inaceitável em aplicações interactivas Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

30 Computação em Sistemas Distribuídos
Adaptação à QoS Se a adaptação for realizada no destino da stream A carga em qualquer recurso congestionado no sistema não é reduzida e a sobrecarga persiste Scaling Adaptar uma stream à LB disponível no sistema antes de entrar num recurso congestionado Adapta-se melhor quando as streams são amostras Codificar, comprimir, descomprimir, descodificar Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

31 Computação em Sistemas Distribuídos
Adaptação à QoS Diferentes métodos de scaling e diferentes granularidades (Video) Temporal Reduzir resolução, diminuir n.º de frames por intervalo de tempo Espacial Reduzir o n.º de pixels em cada imagem Frequência Alterar o algoritmo de compressão aplicado à imagem Amplitude Reduzir a profundidade da cor de cada pixel Espaço de cores Reduzir o n.º de entradas no espaço de cores Utilizar combinações destes métodos se necessário! Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

32 Computação em Sistemas Distribuídos
Adaptação à QoS Sistema com Scaling Processo monitor no destino Processo scaler na origem Funcionamento Monitorização de tempos de chegada de mensagens numa stream no processo monitor Mensagens atrasadas indicam congestionamento (no monitor) O monitor envia de uma mensagem “scale-down” à origem A origem reduz a LB da stream Após um certo período de tempo, a origem aumenta a scale da stream Se o congestionamento persistir, o monitor detecta o atraso e diminui o scaling da stream Problemas desta abordagem Scale-ups desnecessários Oscilações no sistema Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

33 Computação em Sistemas Distribuídos
Adaptação à QoS Ilustração Reduz LB Streams Scaler (Origem) Monitor (Destino) Scale-down Aumenta LB (Scale-up) Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

34 Computação em Sistemas Distribuídos
Adaptação à QoS Scaling As mensagens de “scale-down” são passadas à origem Assim, todos os destinos ficam com a qualidade degradada No entanto, alguns destinos não teriam problemas em tratar a stream original Filtragem Oferecer a melhor QoS possível a cada destino aplicando o scaling em cada nó relevante Conjunto hierárquico de sub-sistemas Filtrar perto da origem Origem Destino LB Elevada LB Média LB Baixa Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

35 Computação em Sistemas Distribuídos
Caso de Estudo – Tiger Servidor de ficheiros video – Tiger Microsoft Research Labs Objectivos Video-on-demand para um número elevado de utilizadores Filmes pagos BD de filmes Disponibilidade e Resposta rápida Filmes com grande popularidade QoS Frames a uma taxa constante Jitter – quantidade disponível de buffer no cliente Taxa de perdas reduzida Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

36 Computação em Sistemas Distribuídos
Caso de Estudo – Tiger Objectivos (Cont.) Escalável e Distribuído Arquitectura extensível Suportar até 10 mil clientes em simultâneo Hardware de custo reduzido Utilizar PCs existentes Tolerância a faltas Não notificar degradações após falhas (de um único servidor) Balanceamento da carga pelos servidores Transferência de streams com LB elevada de discos para a rede Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

37 Caso de Estudo – Tiger Arquitectura
PCs normais; Placas de rede Ethernet e ATM Controlador: Pedidos dos clientes; Gestão do escalonamento Controlador Cub 0 Cub 1 Cub 2 Cub 3 Cub n ATM switching network Distribuição de video para os clientes Start/Stop Pedidos cliente Largura de banda de rede baixa Largura de banda n+1 1 n+2 2 n+3 n+4 n 2n+1 3 Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

38 Computação em Sistemas Distribuídos
Caso de Estudo – Tiger Armazenamento Carga Várias streams do mesmo filme Streams de diversos filmes Cada filme está distribuído em vários discos A falha de um disco  falta de uma sequência de todos os filmes Striping Filme dividido em blocos (1 segundo; ~500KB) Conjunto de blocos distribuído por vários discos (7 mil  2 horas) Mirroring Dividir cada bloco em várias partes (secundárias) Estas partes são distribuídas (factor decluster = 4 a 8) Tolerância a faltas Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

39 Computação em Sistemas Distribuídos
Caso de Estudo – Tiger Escalonamento distribuído Lista de slots (bloco do filme) Ler do disco e colocá-lo na rede ATM 1 slot por cada potencial cliente (viewer) Estados Endereço do cliente; Ficheiro que está a ler o filme; Posição no ficheiro; Número de sequência; Informação 2 1 block service block play time T time t slot 0 slot 1 slot 2 slot 3 slot 4 slot 5 slot 6 slot 7 viewer 4 free free viewer 0 viewer 3 viewer 2 free viewer 1 state state state state state Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

40 Computação em Sistemas Distribuídos
Caso de Estudo – Tiger QoS garantida pelos protocolos de rede ATM Cliente – buffer suficiente para armazenar os 2 primeiros blocos Um bloco que está a ser mostrado Outro que está a chegar pela rede Resultados obtidos 1º protótipo desenvolvido em 1994 5 PCs Pentium 133MHz; 48MB RAM; 3 discos 2GB SCSI; rede ATM; Windows NT 68 clientes 1 falha de um PC (3 discos)  taxa de perdas = 0.02% Expansão possível estimada 1000 cubs  30 a 40 mil clientes Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003

41 Computação em Sistemas Distribuídos
Referências Coulouris, Dollimore and Kindberg; “Distributed Systems: Concepts and Design”; Edition 3, © Addison-Wesley 2001 Capítulo 15: Distributed Multimedia Systems Pedro António M5157 Computação em Sistemas Distribuídos 2002/2003


Carregar ppt "Sistemas Multimédia Distribuídos"

Apresentações semelhantes


Anúncios Google