1 / 57

Distribuição de Mídia Contínua Replicacao de Conte u do

Distribuição de Mídia Contínua Replicacao de Conte u do. Jussara M. Almeida. Maio 200 5. Prefix Caching. Reducao da latencia inicial “Esconde” dos clientes a qualidade de servico disponivel no caminho entre proxy e servidor Atrasos no servidor para recuperar conteudo

nickan
Télécharger la présentation

Distribuição de Mídia Contínua Replicacao de Conte u do

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distribuição de Mídia ContínuaReplicacao de Conteudo Jussara M. Almeida Maio 2005

  2. Prefix Caching • Reducao da latencia inicial • “Esconde” dos clientes a qualidade de servico disponivel no caminho entre proxy e servidor • Atrasos no servidor para recuperar conteudo • Variabilidade de latencia na rede • Perda de pacotes (2-10%) • Critico se TCP ou TCP-friendly e usado para transmitir fluxo : reducao da qualidade

  3. Prefix Caching • VBR : Reducao na demanda por banda da rede e do servidor atraves de workahead smoothing (suavizacao da transmissao) • Grandes frames sao transmitidos antes da hora • Prefix caching “esconde” atraso de smoothing • Alternativa: proxy armazena parte variavel do video: • Desvantagem: custo de armazenamento depende do tamanho do video

  4. Prefix Caching para Reducao da Latencia Inicial • Tamanho do prefixo depende das propriedades de desempenho entre servidor e proxy • Se atraso no servidor entre dmin e dmax e latencia maxima permitida pelo cliente s Caching de prefixo de tamanho max {dmax-s, 0} • 5 segundos de MPEG-2 – 2.5 3 Mbytes • Prefixo no disco e primeiros frames em RAM • Pode armazenar prefixos de diferentes segmentos (inicios de cenas ou marcadores) • Interatividade limitada sem latencia extra • Maior interatividade: tratada no cliente

  5. Prefix Caching para Reducao da Latencia Inicial • Buffer extra de tamanho dmax – dmin para absorver jitter • Proxy pode usar UDP com cliente • Transparent Caching: • Caching dinamico ou pre-configurado (CDN) • Implementacao: • range request (HTTP 1.1) ou absolute positioning (RTSP)

  6. Prefix Caching para Workahead Smoothing • Prefix caching permite proxy realizar smoothing no buffer do cliente sem aumentar atraso • Smoothing: • minimiza picos e rajadas na demanda por banda de rede/servidor de fluxos VBR • restricoes de espaco e atrasos • Se nao existe proxy, servidor pode fazer smoothing no cliente • Servidor tem que conhecer buffer do cliente • Atrasos adicionais

  7. Modelo de Smoothing • Parametro chave: janela de smoothing w • w  s, onde s e latencia maxima permitida pelo cliente • Cliente tem buffer bc • Proxy tem: • buffer para prefixo bp = dmax – s + w (em # frames) • buffer bs para armazenar temporariamente dados do servidor (staging buffer) • Di = total # bits dos primeiros i frames do video • Ai = total # bits recebidos pelo proxy ate tempo i • Inclui prefixo (A0 = Ddmax-s+w ) • Si = total # bits enviados por proxy ate tempo i

  8. Modelo de Smoothing • Cliente envia requisicao: Proxy responde com prefixo de tamanho Ddmax-s+w Proxy requisita transmissao do video ao servidor iniciando do frame dmax – s + w + 1

  9. Modelo de Smoothing • Ai: padrao de chegada de dados no proxy, sujeito a jitter  = dmax - dmin • Ai  [Ai, min ,Ai, max ] (equacoes na pagina 5 do paper) • Se jitter = dmax , Ai=Ai, min : • Se jitter = dmin , Ai=Ai, max :

  10. Modelo de Smoothing • Smoothing: precisa determinar quando enviar cada frame a frente do tempo, precisa fazer um schedule de transmissao • Restricoes de transmissao (restricoes para Si) • Objetivo : Determinar limites inferiores e superiores para Si que permitam computar um schedule que satisfaça: • S0 = 0 • SN+s = DN

  11. Modelo de Smoothing • Limites inferiores para Si • O cliente tem que receber no minimo Di-s+1 bits ate tempo i para que buffer bc nao fique vazio • O proxy tem que enviar pelo menos Ai,max – bs para impedir que staging buffer exploda • Limite superior para Si • Em cada momento i, o proxy nao pode enviar mais dados do que o buffer no cliente permita ou que ele tenha garantidamente recebido.

  12. Modelo de Smoothing • Dadas as restricoes para cada instante i, Li e Ui, precisa gerar um schedule S, ou um caminho monotonicamente nao-decrescente que nao cruze as curvas de restricao • Shortest Path Transmission Schedule : O(N)

  13. Modelo de Smoothing • Dadas as restricoes para cada instante i, Li e Ui, precisa gerar um schedule S, ou um caminho monotonicamente nao-decrescente que nao cruze as curvas de restricao • Shortest Path Transmission Schedule : O(N) • Opcoes: • Pre-calcula schedule e armazena em proxy com prefixo • Calculo depende apenas dos tamanhos dos frames • Grandes jitters leva a schedule conservador • Calcula schedule S dinamicamente a medida que frames chegam do servidor • Smoothing mais agressivo

  14. Avaliacao • Eficiencia de Smoothing sem prefix caching w = s – d (d = dmax = dmin) • Peak rate diminui muito com aumento de w • (aumento de s e/ou diminuicao de d)

  15. Avaliacao • Eficiencia de Smoothing sem prefix caching • Ganhos so podem ser alcancados se cliente puder tolerar latencia alta • Prefix caching permite proxy realizar smoothing com um janela maior (maior ganho) ao custo de latencia menor

  16. Avaliacao • Impacto da janela de smoothing na demanda por espaco com e sem caching de prefixo Com prefixo: bp = d – s + w Calcula otimo schedule de transmissao para cenario com e sem caching de prefixo (sem restrição quanto a bs)

  17. Avaliacao • Impacto da janela de smoothing na demanda por espaco com e sem caching de prefixo • Aumenta janela, aumenta demanda por espaco • Quantidade de espaço total necessária nos dois cenários são comparáveis para diferentes valores de w • Tamanho total dos buffers nos dois casos: 3-5MB

  18. Avaliacao • Impacto do tamanho do buffer na taxa maxima de transmissão

  19. Avaliacao • Impacto do tamanho do buffer na taxa maxima de transmissão • Maior d, maior demanda por espaco para mesma reducao de banda (maior prefixo deve ser armazenado) (Fig 6) • Poucos Mbytes de espaco sao suficientes para grande reducao na banda alem de esconder grandes atrasos • 2MB de espaco total no proxy (bp+bs) na Fig 6: • reducao de peak rate de 44.5 Mbps para 4 Mbps • suporte para atrasos de ate 5 segundos

  20. Avaliacao • Como dividir espaço disponível entre bp e bs? • bp grande: permite smoothing sobre janela w maior • bs grande: absorve variaçoes de frames grandes

  21. Avaliacao • Peak rate X janela de smoothing w

  22. Avaliacao • Peak rate X janela de smoothing w • bp aumenta com w, bs = M - bp • Inicialmente valor otimo bs* tambem aumenta com w (enquanto bs* < bs) • Se w aumenta ainda mais, bs* e limitado por bs, e ambos diminuem. O peak rate aumenta • Tamanho pequeno do staging buffer forca proxy a transmitir mais agressivamente para evitar overflow. • Desempenho degrada para bp > M/2: alocacao simetrica entre prefix buffer e staging buffer (Fig 8)

  23. Bandwidth Skimming Largura de Banda Média do Servidor (# fluxos) Taxa de Requisições (N) Replicacao de Conteudo com Compartilhamento de Fluxos Complexidade extra devido às novas relações de custo Exemplo: 10 servidores proxy, taxa de requisição por proxy = 100 vs. um servidor origem com taxa total = 1000 O que é mais barato?10770 fluxos do proxyou12 fluxos da origem ?

  24. Replicacao de Conteudo com Compartilhamento de Fluxos • Novos trade-offs • Unicast: de forma abstrata, conteudo otimo e o conteudo correntemente mais popular • Multicast: mesmo abstratamente, otimo e desconhecido • Alem de reduzir latencia inicial e permitir smoothing, caching de prefixos pode ter custo-beneficio mesmo para acesso sequencial a arquivo inteiro • Prefixo e transmitido mais frequentemente • Sufixo compartilhado por um # maior de clientes (custo do fluxo amortizado entre estes clientes) • Conteudo otimo depende do numero de servidores proxy e do custo relativo de um fluxo do proxy para o custo de um fluxo da origem

  25. Replicacao de Conteudo com Compartilhamento de Fluxos • Foco corrente: modelos de otimizacao para determinacao do conteudo otimo • Protocolos considerados: • Dynamic Skyscraper • Patching • Bandwidth Skimming

  26. Optimal Proxy Cache Allocation for Efficient Streaming Media Distribution • Compartilhamento de banda + caching: redução de carga no servidor e latência • Este trabalho: • Combinação de prefix caching no proxy com esquemas de transmissão reativas com auxílio do proxy • Disponibilidade de multicast limitada: somente entre proxy e cliente, se houver. • Fácil implantação com servidores já existentes na Internet atual

  27. Perguntas Chaves • Quais protocolos de transmissão reativos com auxílio de proxy existem? • Como estender protocolos atuais (Patching e Bandwidth Skimming) para uso de proxy? • Para um dado protocolo: qual o conteúdo do proxy (prefix caching) que minimiza o custo de transmissão? • Quais são os tradeoffs entre tamanho do proxy cache e banda de transmissão para os diferentes protocolos?

  28. Contribuição • Técnica de alocação geral para determinar conteúdo ótimo do protocolo • Geral, mas utiliza características do protocolo em questão • Novos métodos de transmissão que exploram uso do proxy para reduzir custo de transmissão • Nem sempre multicast está disponível (somente no caminho proxy-cliente, se houver) • Avaliação do impacto de método de transmissão, política de alocação do cache, tamanho do cache e disponibilidade de multicast no custo de transmissão

  29. Modelo • Premissas • Acesso sequencial sempre iniciando da posição 0 • Requisições do cliente sempre passam pelo proxy • Foco: • Um servidor e um proxy • Arquivos heterogêneos (diferentes tamanhos e bitrates)

  30. Modelo • N videos CBR • Caching grain u: tamanho da unidade mínima de alocação no cache • Video i tem: • Bitrate bi • Duração Li segundos • Tamanho ni unidades : niu=biLi • probabilidade de acesso pi (dada por lei de Zipf nos experimentos) • Tamanho do cache: S unidades

  31. Modelo • cp: custo associado a transmitir um bit de video no caminho servidor-proxy • cs: custo associado a transmitir um bit de video no caminho proxy-cliente • Ci(vi): custo de transmissão por unidade de tempo para video i, quando prefixo de tamanho vi é armazenado no cache • Objetivo: minimizar

  32. Alocação Ótima do Cache • Ai: conjunto de todos os possíveis prefixos do video i • Ai = {mi | 0  mi  ni } • savings(mi) = redução no custo de transmissão quando prefixo de tamanho mi do video i é armazenado no cache, comparado com o custo de transmissão quando não armazena nenhum prefixo • savings(mi)= Ci(0) – Ci(mi)

  33. Alocação Ótima do Cache • Problema de otimização • Solução polinomial por programação dinâmica • Técnica geral. • Ci(mi) depende do protocolo usado mas pode ser qualquer expressão • Note que não há restrição na banda do proxy

  34. Protocolos de Transmissão com Auxílio do Proxy • Projeto de novos protocolos de transmissão com auxílio do proxy • Com e sem multicast entre proxy e cliente • Para cada protocolo: • Deriva Ci(mi) • Utilização solução do problema de otimização para determinar conteúdo ótimo do cache

  35. Unicast Suffix Batching (Sbatch) • Todos caminhos são unicast: proxy so fala unicast • Batching dos sufixos através do prefix cache • não acarreta latência inicial • Requisição chegando no instante 0: proxy escalona transmissão do sufixo do servidor para instante vi • Todas requisições de cliente que chegam entre instantes 0 e vi, compartilham sufixo • Cliente tem que escutar dois fluxos

  36. Unicast Suffix Batching (Sbatch) • Quando vi = 0 ou vi = Li: transmissão unicast

  37. Unicast Patching with Prefix Caching (UPatch) • Todos caminhos são unicast

  38. Unicast Patching with Prefix Caching (UPatch) • Todos caminhos são unicast

  39. Multicast Patching with Prefix Caching (MPatch) • Caminho proxy-cliente fala multicast • Primeira requisição no tempo 0 para arquivo com prefixo vi • Seja Ti: threshold do Patching para regular frequencia de transmissão de fluxos completos • Segunda requisição para mesmo arquivo chega no instante 0  t2  Ti • Dois cenários possíveis • Ti  vi  Li • 0  vi  Ti

  40. Multicast Patching with Prefix Caching (MPatch)

  41. Multicast Patching with Prefix Caching (MPatch)

  42. Multicast Merging with Prefix Caching (MMerge) • Caminho proxy-cliente fala multicast • Prefixo transmitido do proxy via Bandwidth Skimming (Closest Target) • Sufixo transmitido do servidor para proxy via unicast o mais tarde possível • Expressão Ci(vi) obtida via simulacão

  43. Replicacao de Conteudo para Dynamic Skyscraper • Como estender o protocolo Dynamic Skyscraper para permitir que prefixos sejam armazenados em proxies? • Partitioned Skyscraper Protocol (melhora desempenho mesmo para um servidor) • Quais objetos devem ser replicados em um numero de proxies para minimizar o uso do servidor remoto, para custo fixo dos proxies? • Como particionar os objetos entre servidor origem e proxies para minimizar custo total de transmissao? • Modelo de otimizacao • Premissas: homogeneidade de cargas e servidores • Objetivo: insights iniciais (1o trabalho na area)

  44. ... Channel 0 ... 1 ... 2 ... 3 ... 4 ... 5 ... 6 ... 7 Dynamic Skyscraper Broadcast • K canais, T1 = duracao do segmento transmitido no canal 0 • Skyscrapertransmission 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)

  45. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 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)

  46. Dynamic Skyscraper + Caching • Alternativa 1: replicacao de objetos inteiros • Transmissao de um unico servidor • Alocacao de recursos: • Proxy tem que alocar espaco para objetos replicados localmente • Proxy tem que alocar largura de banda de rede para repassar conteudo recebido da origem para clientes • Proxy tem que alocar largura de banda de servidor e de rede para transmitir os objetos locais • Desvantagem: caching de prefixos pode reduzir custos

  47. Dynamic Skyscraper + Caching • Alternativa 2 (Ingenua) : Implementacao Compartilhada • Origem e proxies colaboram para implementar transmission clusters • Transmissao de um arquivo parcialmente replicado em um proxy: origem e todos proxies cooperam para prover um transmission cluster em todas as regioes • Novas requisicoes durante transmission cluster • Desperdicio de banda

  48. Dynamic Skyscraper + Caching • Alternativa 3: Partitioned Dynamic Skyscraper • Principio: Desacoplar transmissao dos segmentos iniciais da transmissao dos segmentos finais • Mini-transmission clusters alocados sob-demanda • k segmentos • w = tamanho relativo do maior segmento no mini-cluster / duracao de cada mini-cluster • Um transmission cluster composto de multiplos mini-clusters • Aloca apenas um mini-cluster em resposta a uma requisicao • Transmissao dos segmentos restantes mantem mesma estrutura do transmission cluster

  49. Partitioned Dynamic Skyscraper • Se objeto parcialmente replicado em proxies • Transmissao de mini-clusters do proxy • Transmissao do restante seguindo mesma estrutura do transmission cluster original • Filas nos proxies e no servidor origem: independencia • Mas: transmissoes tem que ser coordenadas • Transmissao do mini-cluster o mais cedo possivel • Transmissao do transmission cluster o mais tarde possivel • Evita atrasos e maximiza compartilhamento de fluxos

  50. Partitioned Dynamic Skyscraper • Janelas de catch–up • Mini-cluster : no maximo (w-1)  T1 • Transmission cluster: (W – sk+1 + s)  T1 Maior do que no protocolo original (W  T1) • Aumento na janela de catch-up • Maior chance de compartilhamento: reducao na demanda por banda do servidor • Aumento na demanda por espaco no cliente ( = janela) • Aumento na demanda por banda do cliente Cliente pode ter que escutar a 3 ou 4 fluxos simultaneos

More Related