Transcript
Page 1: Distribuição de Mídia Contínua Replicacao de Conteudo

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

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

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

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

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

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

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

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

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

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

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

Politica GIC

Page 13: Distribuição de Mídia Contínua Replicacao de Conteudo

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

Politica GIC• Detalhes de implementacao (Figs 2 e 3 )

Page 15: Distribuição de Mídia Contínua Replicacao de Conteudo

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

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

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

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

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

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

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

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

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

Runs

Page 25: Distribuição de Mídia Contínua Replicacao de Conteudo

• 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

• 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

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

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

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

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

RBC – Seleção da Entidade para entrar na Cache

Page 32: Distribuição de Mídia Contínua Replicacao de Conteudo

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

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

RBC – Algoritmo de Substituição de Entidades no

Cache

Page 35: Distribuição de Mídia Contínua Replicacao de Conteudo

RBC – Algoritmo de Substituição de Entidades no

Cache

Page 36: Distribuição de Mídia Contínua Replicacao de Conteudo

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

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

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

• 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

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

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

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

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

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

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

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

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

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

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

Middleman: Exemplo de Funcionamento

Page 51: Distribuição de Mídia Contínua Replicacao de Conteudo

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

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

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

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

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

Byte Hit Ratio

Page 57: Distribuição de Mídia Contínua Replicacao de Conteudo

Balanceamento de Carga entre Proxies

Page 58: Distribuição de Mídia Contínua Replicacao de Conteudo

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

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

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

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

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

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

Prefetching

Page 65: Distribuição de Mídia Contínua Replicacao de Conteudo

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

Prefetching

Page 67: Distribuição de Mídia Contínua Replicacao de Conteudo

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

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

Prioridade para Remoção dentro de um Fluxo

Page 70: Distribuição de Mídia Contínua Replicacao de Conteudo

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

Função de Popularidade: exemplo

Page 72: Distribuição de Mídia Contínua Replicacao de Conteudo

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

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

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

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


Top Related