Distribuição de Mídia Contínua Replicacao de Conteudo
description
Transcript of Distribuição de Mídia Contínua Replicacao de Conteudo
![Page 1: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/1.jpg)
Distribuição de Mídia Contínua
Replicacao de Conteudo
Jussara M. Almeida
Abril 2005
![Page 2: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/2.jpg)
Onde Fazer Replicacao de Conteudo?
Rede Remota
Rede“Loca
l”
Rede“Loca
l”
Rede“Loca
l”
Servidor Origem
Servidor Proxy
Servidor Proxy
Servidor Proxy
Nos clientes: reduz jitterNos proxies: reduz latencia e demanda por banda na rede e servidorNo servidor: reduz atraso e demanda por banda do disco
![Page 3: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/3.jpg)
Politica de Replicacao
• Politica de insercao
– Criterio para determinar se um novo conteudo deve ser inserido no cache
• Politica de remocao
– Criterio para determinar qual objeto, armazenado no cache, deve ser removido para liberar espaco para novo conteudo
![Page 4: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/4.jpg)
Politicas de Replicacao Tradicionais (Web)
• Politicas de Insercao: tipicamente nao sao explicitamente definidas, isto e, sempre insere conteudo requisitado no cache.
– Desastre em potencial para Midia Continua
• Politicas de remocao– Least Recently Used (LRU):
• Remove do cache conteudo menos recentemente acessado para liberar espaco para novo arquivo
– Least Frequently Used (LFU):• Remove do cache conteudo menos frequentemente
acessado para liberar espaco para novo arquivo
– Variacoes (Greedy-Dual)• Leva em consideracao recencia, tamanho, custo, etc
![Page 5: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/5.jpg)
Numero de arquivos novos acessados Somente 1 vez em cada hora: tempo ate proximo
acesso:
• Resultados similares para: h 1,2,4,8, multiplos dias, ambos servidores, e segmentos no
eTeach
• Armazenar todo arquivo que nao e encontrado no cache nao e boa ideia
Acessos a Objetos Pouco Populares
0
10
20
30
7AM 11AM 3PM 7PM 11PM 3AMHour
Nu
mb
er o
f F
iles
Unique Files New Files New Files Accessed Once
Arquivo novo = arquivo nao acessado nas ultimas h horas
0%
20%
40%
60%
80%
100%
1 2 4 8 16 32 64 128Time Until Next Access (Hours)
Cu
mu
lati
ve %
New Files Accessed Once
![Page 6: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/6.jpg)
Midia Continua: O Que Replicar?• Arquivos inteiros
– Arquivos grandes, restricao de espaco
• Espaco e barato
– Interatividade
• Alguns trechos de um video sao mais populares
• Segmentos– Qual o tamanho do segmento
• Camadas– Codificacao em camadas
• Intervalos– Entidade dinamica, refletem a recencia dos acessos
![Page 7: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/7.jpg)
Intervalo
• Buffer circular com conteudo dinamico
Arquivo f
S1
0 T
Tempo
S2 S1
0 T
i
S2 S1
0 T
i0 T
S2 S1
![Page 8: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/8.jpg)
Intervalo• Tamanho do intervalo reflete recencia
dos acessos– Menores intervalos, acessos mais proximos,
arquivo mais popular
• Demanda por banda de disco:– Um fluxo escritor (preceding stream) e um
fluxo leitor (following stream)
• Demanda por espaco:– Tempo entre acessos X bitrate do arquivo
![Page 9: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/9.jpg)
Interval Caching (IC)• Armazena os “menores” intervalos
– Objetivo: max # fluxos servidos do cache
– Se arquivos com bitrate diferentes• Armazena intervalos com menor demanda por espaco
– Cada intervalo economiza um fluxo do disco (leitor)
– Se arquivos com bitrates iguais• Armazena no cache blocos que serao utilizados de
novo no futuro mais proximo (LRU)
• Adaptacao dinamica a variacoes na carga
• Pouco efetiva se arquivo pequeno /interatividade– Pequena prob. de multiplos acessos por playback
![Page 10: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/10.jpg)
Generalized Interval Caching (GIC)
• Extensao de IC para cargas heterogeneas– Acessos a arquivos longos– Acessos a pequenos clips / interatividade
• Arquivos longos:– Multiplos acessos ao mesmo arquivo durante
playback
• Arquivos pequenos:– Tipicamente, somente um acesso em
andamento, em um dado momento
![Page 11: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/11.jpg)
GIC: Conceitos• Intervalos: entre dois fluxos simultaneos
(arquivos longos)– Tamanho do intervalo: tempo entre dois acessos
– Demanda por espaco: tempo entre dois acessos X bitrate do
arquivo
• Intervalos antecipados: tempo entre dois acessos consecutivos (fluxos nao simultaneos, arquivos pequenos)– Tamanho do intervalo: tempo entre dois acessos
(estimado com base nos dois ultimos acessos)
– Demanda por espaco: tamanho do arquivo (se decidir cachear, arquivo inteiro e armazenado)
![Page 12: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/12.jpg)
Politica GIC
![Page 13: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/13.jpg)
Politica GIC• Ordena intervalos (reais ou antecipados)
em ordem de tamanho do intervalo
– Mesmo principio da LRU
• Armazena o maior numero de intervalos, dado o espaco existente
![Page 14: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/14.jpg)
Politica GIC• Detalhes de implementacao (Figs 2 e 3 )
![Page 15: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/15.jpg)
Politica GIC• Detalhes de implementacao (Figs 2 e 3 )
– Mudancas na lista de intervalos ocorrem somente quando da chegada ou termino de um novo fluxo: simplicidade
• E com operacoes de VCR?
![Page 16: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/16.jpg)
Avaliacao da Politica GIC• Simulacao (modelos analiticos sao dificeis)
• Carga: duas classes de objetos – Arquivos longos (92 arquivos)
• Distribuicao de popularidade: Zipf (0.271)
• Tamanho: 90 mins ou 1 GB
– Clips (interactive workload)
• Popularidade: 80% acessos para 20% dos clips
• Tamanho do arquivo: uniforme (1-30 segs)
• Tempo de visualizacao: exponencial media =30 segs (banners) e min= 5segs
• Duracao da sessao: 30 mins
![Page 17: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/17.jpg)
Avaliacao da Politica GIC• Interactive probability: prob de sessao de
cliente ser para clips
• Processo de chegada de clientes: Poisson
• Servidor:
– Memoria: sequencia de blocos – Se nao faz caching: 2 blocos alocados para cada
fluxo
• Resultados
![Page 18: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/18.jpg)
Replicacao em Discos• Replicacao em servidores proxy localizados
mais proximo dos clientes– Rede entre proxies e servidor origem passa a ser o
gargalo (antes era disco)
• Arquivos grandes com demanda por espaco e largura de banda
• Restricao de largura de banda ignorada por:– Politicas de caching de blocos /arquivos em memoria
principal– Politicas de caching de objetos Web em disco
![Page 19: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/19.jpg)
Replicacao em Discos• Politicas de caching tradicionais
– Algoritmos baseados na frequência (ex: LFU).• Se comportam melhor para cargas que mantem um
padrão mais constante de acesso. • Funcionam bem para mídia contínua. • Não reagem bem a mudanças na carga.
– Algoritmos baseados na Recência (ex: LRU).• Exploram a localidade de referência de um arquivo.
Muito sensível a mudanças temporárias na carga.
– Métodos Híbridos (LRFU, LRU-k):• Algoritmos que exploram a recencia e freqüência.
![Page 20: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/20.jpg)
Replicacao em Discos
• Interval Caching: boa ideia?
Desperdicio de 50% da banda do disco do proxy:
Um escritor para cada leitor
![Page 21: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/21.jpg)
Resource-Based Caching para Midia Continua
• Objetivos:– Tentar manter a utilização de banda e
espaço equivalentes. (“andar na diagonal do gráfico”)
![Page 22: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/22.jpg)
Resource-Based Caching para Midia Continua
• Objetivos:
– Replicar o conteúdo requisitado num futuro mais próximo (recência).
– Ser um algoritmo de “replicação flexível” (distribuindo diversos tipos de mídia) decidindo em tempo real “o que replicar” de um determinado arquivo.
– Permite a replicação de diferentes tipos de entidade
![Page 23: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/23.jpg)
RBC – Entidade• Uma entidade é uma unidade atômica de um
objeto que será armazenada na cache.
• Tipos de Entidade:
– Objetos estáticos: arquivos inteiros.
– Objetos dinâmicos:
•Armazenados em Intervalos (como no IC).
•Armazenados em Runs:
• Somente arquivos MC são armazenados desta forma. Objetos não-MC são armazenados inteiros e distribuidos com melhor-esforço.
![Page 24: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/24.jpg)
Runs
![Page 25: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/25.jpg)
• Run pode ser vista como a extensão do intervalo em uma entidade única.
• Quando mais de dois usuários acessam o mesmo arquivo concorrentemente pode ser interessante compartilhar o escritor(wi)
• Cada run possui um escritor (wi) e diversos leitores (ri) concorrentes.
Runs
![Page 26: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/26.jpg)
• Cada entidade possui demanda por recursos:
•Arquivo Inteiro:– = Tamanho do Arquivo.– = número estimado de requisições durante o playback.
• Intervalo:– = di*bi, onde d = intervalo o acesso corrente e o
último.
– = (ri + wi)*bi => 2*bi.
•Run:– = di*bi.
– = (ri + wi)*bi.
RBC – Entidade
![Page 27: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/27.jpg)
RBC – Atributos da Entidade
• Caching Gain:– BHR (Byte Hit Ratio): razão entre a
quantidade de bytes servidos pelo cache e número total de bytes requisitados
– O HR (Hit Ratio): razão entre a quantidade de acessos para arquivos presentes na cache pelo número total de acessos.
![Page 28: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/28.jpg)
RBC – Atributos da Entidade
•Goodness: usado para escolher qual entidade sera retirada do cache
•Bw_goodness = gi/bi
•Space_goodness = gi/si
![Page 29: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/29.jpg)
RBC – Seleção da Entidade para entrar na Cache
• Seja Us = utilização de espaço e Ub = utilização de banda
Se Ub > Us + e:Escolher entidade com o
menor “overhead de escrita” => min(wi/(wi + ri))
Se Us > Ub + e:Escolher a entidade com
menor tamanho => min(si)
Se |Us -Ub| < e:Escolher entidade max
![Page 30: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/30.jpg)
RBC – Seleção da Entidade para entrar na Cache
• Seja Us = utilização de espaço e Ub = utilização de banda
Se Ub > Us + e:Escolher entidade com o menor “overhead de
escrita” => min(wi/(wi + ri))
Se Us > Ub + e:Escolher a entidade com menor tamanho =>
min(si)
Se |Us -Ub| < e:Escolher entidade max
![Page 31: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/31.jpg)
RBC – Seleção da Entidade para entrar na Cache
![Page 32: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/32.jpg)
RBC – Algoritmo de Inserção de Entidades na
Cache• Estados da Cache:
– Sem Restrição: banda e espaço excedem os requisitos para a entidade sendo alocada. Neste caso a entidade é colocada na cache.
– Restrição de Espaço: cache tem banda para alocar a entidade mas não tem espaço livre suficiente.
– Restrição de banda: cache tem espaço para alocar a entidade mas não tem banda livre suficiente.
– Restrição de banda de espaço: cache não tem espaço nem banda livres para alocar a entidade.
![Page 33: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/33.jpg)
RBC – Algoritmo de Inserção de Entidades no
CacheIf ( && )
– insert_in_cache(Ei);
If ( && )– space_constrained-policy(Ei);
If ( && )– bandwidth_constraint_policy(Ei);
If ( && )– Bw_space_constrained_policy(Ei);
![Page 34: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/34.jpg)
RBC – Algoritmo de Substituição de Entidades no
Cache
![Page 35: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/35.jpg)
RBC – Algoritmo de Substituição de Entidades no
Cache
![Page 36: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/36.jpg)
RBC - Detalhes de Implementação
• Estimativa do número de leitores:– ri = (duração do arquivo)/(TTR)
• Calculando o Inter-arrival Time (TTR = 1/l*pi):
– Análise Estatística.
– Contador de Referência: Método baseado em frequência (LFU). Pouco sensível a mudanças.
– Tempo de Acesso: Método baseado em Recência (LRU-k). Sensível a mudanças. (LRU < LRU-k < LFU)
– Método utilizado: MTTR (híbrido).
– MTTR(t0) = (1 – a)(t0 – t1) + a*MTTR(t1)
» Aumenta a (recência)
» Diminui a (freqüência)
![Page 37: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/37.jpg)
Experimentos: Carga Utilizada
• Caracterização de carga utilizada:
– Baseado nos logs da NLANR, NCSA e NASA
– Distribuição dos Dados: Predominância de arquivos de texto e imagens. (1% dos acessos para CM)
– Popularidade: Modelado com Zipf
– Tamanho dos objetos: Uniformemente distribuidos com os objetos de não-CM sendo algumas ordens de magnitude menor que os objetos do tipo CM.
![Page 38: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/38.jpg)
Resultados dos Experimentos
• Comparação do RBC com diferentes tipos de Entidade– Teste com intervalo e arquivo inteiro:
•Banda restrita:– Armazena mais arquivo inteiro
•Espaço Restrito:– Armazena mais intervalo
– Testes utilizando runs, intervalos e arquivo inteiro
•RBC utilizando runs foi melhor.
![Page 39: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/39.jpg)
• Comparação do RBC com outros algoritmos.– Quanto a BHR:
• RBC superior a LRU-2 (arquivos inteiros) e WLRU-n (arquivos inteiros).
– Quanto a HR:• RBC superior a LRU-2, WLRU-n e LRU-min.
• Comparação do RBC com variedade de cargas:– Foi comparado com o LRU-2, LRU-min e o WLRU-n.– 80% de cargas não-CM e 20% de carga CM.– O RBC foi superior.
Resultados dos Experimentos
![Page 40: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/40.jpg)
Comentários Finais
• Observações sobre os gráficos:– Gráficos e parâmetros não foram
explicados.– Valores muito fora da realidade para banda
e espaço.– Inconsistência de dados.
• Complexidade do Algoritmo:– Em nenhum momento do texto a
complexidade do algoritmo é discutida.
![Page 41: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/41.jpg)
Caching Cooperativo• Múltiplos proxies cooperam para
atender requisições de clientes
• Questões importantes:– Protocolo de comunicação entre
proxies– Replicação independente ou não
•Múltiplas cópias de um mesmo objeto•Uma única cópia do objeto
– Consistência entre cópias– Balanceamento de cargas
![Page 42: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/42.jpg)
Middleman : A Video Caching Proxy Server
• Arquitetura distribuída com múltiplos servidores proxy– Rápida comunicação entre servidores– LAN ou campus network
• Avaliação de diferentes políticas de caching
• Projeto baseado no estudo de cargas reais de video sob demanda na Internet
![Page 43: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/43.jpg)
Observações em Cargas de Vídeo Reais
• Tamanhos de vídeos variados
– Tamanhos de vídeos na Web em torno de 1MB, mas tendência a crescimento
– Tamanho em rede de banda larga (Suécia) era em torno de 96MB
– Sistema de cache tem que ser flexível
• Vídeos are WORM – write once read many
– Consistência do cache não é um problema
![Page 44: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/44.jpg)
Observações em Cargas de Vídeo Reais
• Padrões de acesso:
– 61% dos acessos foram para arquivos inteiros
– 39% pararam logo no início do vídeo
– Cache tem que permitir armazenamento parcial de arquivos
• Alta localidade temporal nos acessos
– Caching é uma boa estratégia
![Page 45: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/45.jpg)
Middleman: Principais Componentes
• Dois componentes principais– Coordenadores– Servidores proxy
•Servidores proxy locais•Servidores proxy de armazenamento
• Coordenador:– Tipicamente um por sistema– Mantém registro do que está
armazenado em cada proxy – Toma as decisões de subsituição de
conteúdo do cache para o sistema inteiro
![Page 46: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/46.jpg)
Middleman: Principais Componentes
• Servidores proxy locais– Responsáveis por atender requisições de
clientes
– Podem rodar na mesma máquina do cliente (browser plug-in)
– Alternativamente, podem rodar em máquinas específicas do sistema, responsáveis por um conjunto de usuários
• Servidores proxy de armazenamento– Armazenam dados
– Não respondem a requisições de clientes
![Page 47: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/47.jpg)
Middleman: Principais Componentes
• Proxy cluster: coleção de servidores proxy (locais e de armazenamento) rodando em uma LAN e organizados por um único coordenador
Vantagens:• Redução da latência• Grande quantidade de espaço• Redução da carga
(servidor e proxies)• Escalabilidade
Desvantagens:• O Coordenador é um possível gargalo e ponto único de falha
![Page 48: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/48.jpg)
Middleman: Política de Caching• Caching de blocos de arquivos
– Cada arquivo é segmentado em uma sequência de blocos
– Blocos são armazenados de forma independente, possivelmente em servidores diferentes
– Possível atraso na troca de servidores para blocos diferentes
– Blocos são armazenados à medida que forem requisitados pelos usuários
– Blocos não requisitados não são armazenados
![Page 49: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/49.jpg)
Middleman: Política de Caching
• Não tem política explícita para inserção de conteúdo : sempre insere
– Problema em potencial
• Remoção de blocos de arquivos
– Aplica política para escolher qual arquivo deve ser removido (ex: arquivo menos popular)
– Remove bloco por bloco, à medida que for necessário, a partir do último bloco (inspirado na caracterização de carga anterior)
![Page 50: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/50.jpg)
Middleman: Exemplo de Funcionamento
![Page 51: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/51.jpg)
Funcionamento: Cache Miss
Cliente B1 requisita arquivo M e a requisição é interceptada pelo servidor local LP1
Overhead de comunicação entre servidores proxy e coordenador
![Page 52: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/52.jpg)
Cancelamento de Requisição• Cliente interrompe fluxo durante visualização de bloco M2
• Browser interrompe conexão com servidor proxy local (LP)
• Se requisição era cache hit, LP interrompe demais conexões e informa coordenador
• Se requisição era cache miss: LP notifica coordenador
– Se este é o único usuário acessando o arquivo no sistema:
• Coordenador informa LP que ele pode interromper demais conexões
• Todas referências a M2 são apagadas. M1 permanece armazenado no sistema
– Se há outros usuários acessando o arquivo:
• Coordenador pede LP para continuar a baixar M2 e salvá-lo em algum servidor proxy de armazenamento
![Page 53: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/53.jpg)
Avaliação• Simulação com traces de acesso a um
servidor educacional/entretenimento na Univ. Lulea (Suécia)
– Traces cobrem 2 anos e 2 meses
– Carga muito baixa
• Cache size agregado, normalizado pela quantidade total de dados
![Page 54: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/54.jpg)
Políticas de Remoção de Conteúdo
• LRU, LFU, FIFO
• LRU-K
– Mantém um histórico dos últimos k acessos de cada objeto no cache
– Remove o último bloco do arquivo com a maior k-distance
– A k-distance de um arquivo em um dado instante é a diferença entre o tempo corrente e o instante em que o k-esimo acesso foi realizado
• HistLRUpick:
– Roda LRU-k e desempata escolhendo bloco do servidor menos carregado
– Balanceamento de carga
![Page 55: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/55.jpg)
Políticas de Remoção de Conteúdo
• LRU, LFU, FIFO
• LRU-K
– Mantém um histórico dos últimos k acessos de cada objeto no cache
– Remove o último bloco do arquivo com a maior k-distance
– A k-distance de um arquivo em um dado instante é a diferença entre o tempo corrente e o instante em que o k-esimo acesso foi realizado
• HistLRUpick:
– Roda LRU-k e desempata escolhendo bloco do servidor menos carregado
– Balanceamento de carga
![Page 56: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/56.jpg)
Byte Hit Ratio
![Page 57: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/57.jpg)
Balanceamento de Carga entre Proxies
![Page 58: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/58.jpg)
Codificação em CamadasHierárquica
• Hierarchical Layered Encoding
– Fluxo dividido em n camadas
– Camada básica fornece um mínimo de qualidade
– Camadas superiores provêm melhorias de qualidade
– Camada i só é útil na presença de camadas 0,1, …, i-1
• Útil para clientes heterogêneos
– Cliente com banda larga deseja receber fluxo de alta qualidade
![Page 59: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/59.jpg)
Protocolo Cliente-Servidor para Adaptação de Qualidade
• Fluxos codificados em camadas
• Servidor e cliente realizam controle de congestionamento
– Protocolo RAP
– Taxa de transmissão muda dinamicamente em função da banda disponível
– Número de camadas adaptado dinamicamente
![Page 60: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/60.jpg)
Adicionando Proxy Cache
• Proxy realiza controle de congestionamento com servidor e com clientes
– Qualidade de um fluxo armazenado no cache depende da banda disponível entre servidor e primeiro cliente
– Ajuste de qualidade de grão fino
•Camadas divididas em segmentos de tamanho fixo
– Camadas superiores são gradualmente armazenadas no cache para melhorar a qualidade
![Page 61: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/61.jpg)
Política de Caching• Baseada em prefetching de segmentos sob demanda
– Explora variações na popularidade dos arquivos e limitações de banda dos clientes interessados
• Política de substituição apenas (sempre insere)
– Substituição na granularidade de segmentos
• Suporta interatividade (parcialmente)
• Minimiza latência inicial
• Qualidade de um fluxo transmitido a um cliente não é limitada à banda disponível no servidor origem
– Proxy “esconde” gargalos no caminho entre proxy e origem
![Page 62: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/62.jpg)
Cache Miss• Proxy intercepta requisição e repassa ao
servidor
• Conteúdo é enviado do servidor ao cliente pelo proxy
– Proxy armazena conteúdo localmente
– Como servidor realiza adaptação de qualidade, conteúdo armazenado tem qualidade variada
![Page 63: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/63.jpg)
Cache Hit• Proxy deve realizar controle de
congestionamento e adaptação de qualidade
– Se banda com cliente maior que qualidade do fluxo armazenado, proxy deve enviar segmentos que não existem no cache
– Prefetching sob demanda, em resposta a novas requisições pelo mesmo conteúdo : explora popularidade do arquivo
– Proxy realiza prefetching de segmentos faltantes de camadas parcialmente armazenadas e também de camadas superiores (adição de novas camadas)
![Page 64: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/64.jpg)
Prefetching
![Page 65: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/65.jpg)
Prefetching• Quando realizar o prefetching de um segmento
faltante?– Quanto antes, maior a chance de recebê-lo a tempo,
mas menos precisa é a estimativa da qualidade
• Janela de prefetching– No instante tp de visualização, proxy examina o
intervalo [tp+T, tp+T+] e identifica os segmentos faltantes das camadas no cache bem como novas camadas
– Proxy envia UMA requisição de prefetching ao servidor com todos os segmentos faltantes
– Servidor envia segmentos em ordem de prioridade
– Novas requisições de prefetching preemptam requisições em tratamento
![Page 66: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/66.jpg)
Prefetching
![Page 67: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/67.jpg)
Política de Substituição de Conteúdo do Cache
• Objetivo: convergir para estado eficiente do cache
• Estado do cache é eficiente se:– Qualidade média de qualquer fluxo no cache é
diretamente proporcional à sua popularidade.• Qualidade média de um fluxo deve convergir para banda média
dos últimas transmissões para clientes interessados
– Variação na qualidade de qualquer fluxo no cache é inversamente proporcional à sua popularidade
• À medida que a popularidade de um fluxo correntemente no cache diminui, sua qualidade e seu tamanho (no cache) são reduzidos, até ser completamente removido do cache
![Page 68: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/68.jpg)
Padrões de Remoção de Conteúdo
• Escolhe a camada mais superior como vítima da remoção
– Utiliza função de popularidade
• Remove segmentos da camada vítima, do último para o primeiro
– Evitar fragmentação
– Manter prefixo para redução de latência inicial
• Se necessário, escolhe nova camada e repete processo
• Primeiros segmentos da camada básica são mantidos no cache: esconder latência inicial de requisições futuras
![Page 69: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/69.jpg)
Prioridade para Remoção dentro de um Fluxo
![Page 70: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/70.jpg)
Função de Popularidade• Weighted hit: mantido para cada camada de cada
fluxo
– Whit = PlaybackTime / StreamLength
– 0 whit 1
• Whit de uma sessão calculado ao final da mesma
• Índice de popularidade de um arquivo: valor acumulado do whit durante uma janela recente
• Interatividade capturada de forma restrita
![Page 71: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/71.jpg)
Função de Popularidade: exemplo
![Page 72: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/72.jpg)
Mecanismo de travamento
• Enquanto um fluxo está sendo transmitido para um cliente, suas camadas no cache são travadas (locked), não podendo ser removidas
• Evita remoção de segmentos finais da camada i para inserção de segmentos iniciais da camada i+1
![Page 73: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/73.jpg)
Avaliação• Simulação para mostrar correção do
mecanismo
– Cache atinge estado eficiente
• Não avalia desempenho da política
– Experimentos simples
• Métricas
– Completeza: % dos fluxos residindo no cache
– Continuidade: tamanho médio das sequências de segmentos consecutivos no cache
•variação dos fluxos no cache
![Page 74: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/74.jpg)
Resultados• Mecanismo de prefetching
– Cache size = infinito (sem substituição)
– BW servidor-proxy = 56 Kbps
– BW proxy-cliente = 1.5 MBs
– Figura 9
•Convergência mais rápida para camadas mais básicas
![Page 75: Distribuição de Mídia Contínua Replicacao de Conteudo](https://reader035.fdocumentos.com/reader035/viewer/2022062423/56814c49550346895db95042/html5/thumbnails/75.jpg)
Resultados• Política de substituição de conteúdo
– Cache size = 50% dos dados
– BW servidor-proxy = 56 Kbps
– 2 clientes : cliente 1 = 1.5 MBps e cliente 2 = 56 Kbps
– Cenário 1: 95% requisições de cliente 1
•Figuras 10 e 11
– Objetos mais populares têm mais camadas no cache, e estas camadas têm melhor qualidade (completeza e continuidade)
– Cenário 2: 95% requisições de cliente 2 (banda do cliente limitada)
•Figuras 12 e 13