Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

38
Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004

Transcript of Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Page 1: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Distribuição de Mídia Contínua

Transmissão

Jussara M. Almeida

Março 2004

Page 2: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

• Transmissão de Fluxos Independentes– Unicast

Transmissão de Mídia Contínua

Servidor Origem

Page 3: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

• Transmissão de Fluxos Independentes– Unicast– Crescimento linear na demanda por largura

de banda do servidor e da rede– Baixa escalabilidade

• Ex: 1 arquivo MPEG de 1 hora: 1.5 Mbps 1500 fluxos simultâneos : 2.25 Gbps

Transmissão de Mídia Contínua

Page 4: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

• Transmissão com Compartilhamento de Fluxos– Multicast : um único fluxo enviado para múltiplos clientes

• A nível de protocolo de rede IP ou a nível de aplicação

Transmissão de Mídia Contínua

Servidor Origem

Fluxo multicast

roteador

Page 5: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

• Transmissão com Compartilhamento de Fluxos– Multicast : um único fluxo enviado para múltiplos clientes

• A nível de protocolo de rede IP ou a nível de aplicação

Transmissão de Mídia Contínua

Servidor Origem

roteador

Fluxo unicast

Page 6: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

• Transmissão com Compartilhamento de Fluxos– Redução significativa na demanda por largura de banda– Melhora QoS (qualidade observada pelos clientes)– Classificação

• Cliente recebe apenas 1 fluxo vs. múltiplos fluxos simultâneos

– Demanda por largura de banda do cliente• Difusão vs. técnicas orientadas às requisições dos clientes

– Distribuição sob demanda verdadeira– Escalabilidade e desempenho sob cargas variadas

Transmissão de Mídia Contínua

Page 7: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Batching

Janela batching

Fluxo multicastcom objeto

requisitado por r0-r3

r0 r1 r2 r3

Tempo

Dado

s rec

ebid

os

pelo

s clie

ntes

Page 8: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Batching• Cliente recebe apenas um fluxo• Método genérico utilizado em conjunto com

outras técnicas– Transmissão orientada pelas requisiçoes dos clientes– Às vezes em conjunto com técnicas baseadas em

difusão• Introdução de atrasos de partida adicionais • Nao provê distribuição sob demanda verdadeira

Page 9: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Piggybacking• Mudança dinâmica da taxa de

transmissão e exibição para permitir que um fluxo possa alcançar e se juntar a outro fluxo

• Baseado em stream merge

Page 10: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Piggybacking

Stream merge

Servidor acelera s1

Servidor retarda s0

r0

s0

r1

s1

Tempo

Dado

s rec

ebid

os

pelo

s clie

ntes

Page 11: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Piggybacking• Provê vídeo sob demanda verdadeiro• Cliente escuta/recebe apenas um fluxo• Não introduz atrasos adicionais na partida• Requer hardware especialiado para suportar

mudanças dinâmicas na velocidade do canal• Eficiência limitada pela mudança máxima

tolerada por um usuário (± 5%)

Page 12: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Periodic Broadcast• Vídeos são transmitidos periodicamente

– novo fluxo a cada minutos

• Batching de clientes = batching interval– Latência observada pelo cliente: (Pior caso)

• Não provê video sob demanda verdadeiro

• Largura de banda fixa, independente da carga– Eficiente para taxa de chegada de requisições alta

• Diversas otimizacões do protocolo base– Pyramid Broadcast, Permutation-Based Pyramid Broadcast– Skyscraper Broadcast

Page 13: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Periodic Broadcast• Batching de clientes

• reserva K canais para cada “hot” “popular”– novo fluxo multicast do arquivo a cada T/K unid. de tempo

E.x., K=25: maxima latência 0.04T– Demanda por largura de banda do servidor é

independente da demanda pelo arquivo (carga)• Outros arquivos: batching sob demanda (FCFS)

......

......

. . .

0 T

Page 14: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Pyramid Broadcast• Divide cada video em K segmentos de tamanhos crescentes

– D1, D1, 2D1, 3D1 …, > 1 (crescimento geométrico)• Largura de banda total B dividida em K canais lógicos• Canal i transmite ith segmento de cada video, em round robin a uma

taxa B/K (>> taxa de visualização, b)• Cliente contacta servidor e recebe uma programação de quando deve

se conectar em cada canal– O download do segmento i pode começar assim que cliente começa

a visualizar segmento i-1– Cliente recebe em no máximo 2 canais simultâneos

• Visualiza os dados recebidos em 1 canal• Armazena dados recebidos no outro canal no disco

Page 15: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Pyramid Broadcast• Latência do cliente diminui com B (bom!!)

– Se B alto suficiente, pode ter a video sob demanda verdadeiro

• Alta demanda por largura de banda no cliente– b + 2B/K

• Alta demanda por espaço no cliente– Precisa armazenar ate 84% do video

Page 16: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Permutation-Based Pyramid Broadcast

• Mesmo princípio do Pyramid Broadcast• Mas:

– cada canal lógico e dividido em P subcanais para cada video– Cada segmento i de um video é transmitido nos subcanais de i

a cada Di/P minutos à taxa B/KPM• M = # videos

• Redução na demanda por largura de banda e disco– Redução limitada na demanda por espaço

• progressão geométrica• Método mais complexo e com latência mais alta

Page 17: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Skyscraper Broadcast• Divisão da largura de banda total B em B/b canais• Atribuição de K canais para cada video

– K = B/bM, onde M = # videos

• Cada video é dividido em K segmentos com tamanhos crescentes seguindo a progressão:– 1, 2, 2, 5, 5, 12 ,12 ,25, 25, 52, 52, …

• Parâmetro W : restrição no tamanho máximo de um segmento– Quanto maior W maior a demanda por espaço no

cliente– Quanto menor W, maior D1, maior latência

Page 18: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Skyscraper Broadcast• Clientes recebem segmentos em transmission groups

– Cada grupo: segmentos consecutivos com mesmo tamanho

• Tres rotinas :– Carregador de grupos pares (Even Loader)– Carregador de grupos impares (Odd Loader)– Visualizador

• Cada carregador recebe os segmentos dentro de um grupo em sequência

• Carregador par e impar podem receber simultaneamente, armazenando dados em buffer local– Pergunta óbvia: qual o tamanho máximo deste buffer?

• Recebimento de dados sem jitter

Page 19: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Skyscraper BroadcastChannel 0

12

34

567

...

...

...

...

...

...

...

...

• Clientes são agrupados hierarquicamente durante transmissão (compartilhamento)– K = 8, tamanhos dos segmentos: 1,2,2,6,6,12,12,12– W = 12

Latência máxima D1 = T/53 0.02T

Page 20: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Skyscraper Broadcast• Alocação estática de canais para cada video • Se popularidade alta: ótimo!!

– Grande economia na largura de banda

• Mas e se popularidade varia com o tempo?

Dynamic Skyscraper

Page 21: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Dynamic Skyscraper Broadcast• Transmissão “sob demanda”

Channel 0

12

34

567

...

...

...

...

...

...

...

...

• skyscraper transmission clusters- sequências que compartilham o mesmo segmento no canal K- largura = W (em cada canal)- cada cluster pode transmitir um arquivo diferente (sob demanda)

Page 22: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Dynamic Skyscraper Broadcast• Largura de banda do servidor:

– Total de C canais e N objetos– Divisão de C canais em N grupos, de K canais cada– Cada grupo de K canais, uma progressão de tamanhos

de segmentos limitada por W (igual a static skyscraper)

• Diferencial: Alocacão dinâmica dos canais para diferentes videos– Cada transmission cluster alocado para um objeto

diferente em resposta às requisições dos clientes– Todas as sequências no mesmo cluster transmitem

segmentos do mesmo arquivo

Page 23: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Dynamic Skyscraper Broadcast• Transmission cluster: (exemplo no paper)

– Contém todos os segmentos nos canais 1..k-1 que compartilham cada segmento transmitido no canal k • Um novo cluster no canal 1 a cada W slots

– Não usa nenhum período no canal 1..k-1 que faça parte da primeira sequência de segmentos do próximo cluster • Alguns segmentos nao pertencem a nenhum transmission cluster

– Ex: Segmento com tracejado em diagonal no canal 0 • Depende da progressão de tamanhos de segmentos

– Diferentes progressões podem levar a desempenho melhor: evita desperdício de banda

Page 24: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Dynamic Skyscraper Broadcast• N grupos de K canais• Cada grupo, sequência de transmission groups• Transmission groups em diferentes grupos são

persistently staggered– Novo transmission group a cada = W x T1 / N

(latência)– Escalonamento de transmission group : FCFS (FIFO)

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

Page 25: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Dynamic Skyscraper Broadcast• Otimização: temporary channel stealing

– Requisição para objeto Oi na fila a espera de um segmento livre no primeiro canal do transmission group alocado para Oi

– Um segmento livre no canal 1 transmission group alocado para Oj pode ser temporariamente alocado pra transmitir Oi (atender requisição pendente)

Page 26: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Dynamic Skyscraper Broadcast• Nova progressão de tamanhos:

– 1, 2, 2, 4, 4, 8, 8, 16, 16 ….– Provê transmissão do arquivo inteiro sem jitter– Clientes recebem no máximo 2 canais simultaneamente

• Clientes que só têm banda suficiente pra receber 1 canal também são atendidos (1a sequência de segmentos)

– Nao acarreta desperdício de banda • Todos segmentos são utilizados para transmissão• Todos os transmission groups têm largura W

– Demanda por espaço no cliente: O(W) • 1o cliente recebe segmentos sem necessidade de buffer• Clientes que recebem o último broadcast do 1o segmento, recebem

este segmento W-1 unidades de tempo depois do 1o cliente e compartilham transmissão do último segmento (canal K)

Page 27: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Dynamic Skyscraper Broadcast• Progressões alternativas:

– 1, 2, 2, 6, 6, 12, 12, 24, 24 ….– 1, 2, 2, 6, 6, 12, 12, 36, 36 ….– Crescimento mais rápido : melhor desempenho

(menor latência)– Cliente tem que receber no máximo 3 canais

simultaneamente

Page 28: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Compartilhamento de Fluxos: Técnicas Orientadas às Requisições dos

Clientes• Patching e Hierarchical Stream Merging• Princípio comum:

– Cliente escuta a mais de um fluxo simultaneamente– Dados recebidos em um fluxo são visualizados imediatamente– Dados recebidos no outro fluxo são armazenados para

visualização futura

• Requer buffer no cliente• Provê video sob demanda verdadeiro

– Superior a Periodic Broadcast e metodos Skyscraper

Page 29: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Patching• Motivação:

– Prover video sob demanda verdadeiro• Latência do cliente tem que ser bem pequena

(ou nula)

– Reduzir demanda por largura de banda do servidor • Resolver o problema de gargalo na rede

(network-I/O bottleneck)• Cada fluxo multicast tem que servir um grande

número de usuários

Page 30: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Patching• Um fluxo multicast transmite:

– Arquivo inteiro: fluxo regular– Prefixo: fluxo patch

Tempo

Dado

s rec

ebid

os

pelo

s clie

ntes

Cliente c1 recebe fluxo patchao mesmo tempo que escutafluxo regular. Depois de t1-t0, os dois clientesreceberam os mesmos dados.Fluxo patch e finalizado

r0

Fluxo

regula

r

t0

r1

t1

Fluxo

patch

Page 31: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Patching• Projeto do cliente e do servidor (paper)• Questão chave:

– Quando iniciar novo fluxo regular?

• Variações – Greedy Patching:

• Somente quando não houver nenhum ativo (Agressivo)

– Grace Patching: • Quando prefixo perdido pelo cliente maior que

buffer local• Comparação (paper)

Page 32: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Early Merging/ Hierarchical Multicast Stream Merging• Objetivo: criar merge trees eficientes (minimiza

demanda por largura de banda)– Cliente escuta, simultaneamente, um fluxo com o prefixo

do arquivo e um fluxo anterior (fluxo alvo)– Pergunta: Como escolher o fluxo alvo para cada novo

cliente? (multiplos merges possiveis)

• Stream Merging Otimo– Solucao offline: Programacao dinamica– Solucao online: computa arvore de custo minimo para os

fluxos ativos a cada chegada de uma nova requisicao• Complexidade de tempo: cubica no # de requisicoes • Complexidade de espaco: quadratica

Page 33: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Early Merging• Intuicao: realizar, primeiramente, os merges que

puderem ser feitos primeiro• Principios

– Decisao do fluxo alvo para um cliente (ou grupo de clientes) deve ser feita quando o cliente chega ou quando ele faz um merge com um outro fluxo.

– Cliente deve escutar o fluxo alvo ate que o merge seja realizado com sucesso ou ate que ele seja preemptado por um (grupo de) cliente que chegou depois dele

– Se preemptado, o cliente tem que jogar for a (ignorar) todos os dados recebidos no seu fluxo alvo corrente, escolher um novo fluxo alvo e recomecar a armazenar dados no buffer local, recebidos no novo fluxo alvo.

• Early Merging = Hierarhical Multicast Stream Merging

Page 34: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Variantes do Hierarchical Multicast Stream Merging

• Early Reachable Merge Target (ERMT): – Fluxo alvo de um cliente: fluxo mais proximo com o

qual ele pode realizar o merge se nao for preemptado, no futuro.

– Precisa “simular” evolucao do sistema

• Simple Reachable Merge Target (SRMT):– Fluxo alvo de um cliente: fluxo mais proximo

alcancavel se cada fluxo correntemente ativo terminar no seu merge point corrente.

– Ignora novos fluxos criados apos um merge

Page 35: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Variantes do Hierarchical Multicast Stream Merging

• Closest Target (CT)– Fluxo alvo: fluxo mais proximo ainda ativo no sistema.– Politica mais simples– Surpreendentemente, desempenho muito proximo de

ERMT e otimo

Page 36: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Escalabilidade dos Protocolos• Limite Inferior para servico imediato

– Processo de chegada Poisson, largura de banda do cliente infinita– Demanda por largura de banda do servidor : ln (N+1)

• Optimized Grace Patching – Janela de patching otima– Demanda por largura de bandado servidor:– One N = # de chegadas de clientes por playback

• Dynamic Skyscraper– Partitioned Dynamic Skyscraper– Demanda por largura de banda do servidor: O(k ln(N)), 2 k 3 112 NB

Page 37: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Escalabilidade dos Protocolos

• HMSM– Calculado via simulacao– Demanda por largura de banda do servidor: B = 1.62 ln(N/1.62

+ 1)– Muito proximo do otimo

Page 38: Distribuição de Mídia Contínua Transmissão Jussara M. Almeida Março 2004.

Comentarios Finais• Bandwidth Skimming:

– HMSM para clientes com largura de banda limitada • Cliente pode escutar a 1.2 fluxos

• Interatividade:– Muito pouco explorada– Skyscraper: aplicacao dificil– Patching e HMSM:

• Aplicacao direta• Mas alguns resultados de simulacao com cargas reais mostram que escalabilidade de HMSM e Patching cai muito

– Novas propostas para Patching e HMSM a caminho