• Nenhum resultado encontrado

Modelo de particionamento de espaço para caches da world wide web

N/A
N/A
Protected

Academic year: 2017

Share "Modelo de particionamento de espaço para caches da world wide web"

Copied!
107
0
0

Texto

(1)

Modelo de Particionamento de Espaco

para Caches da World Wide Web

Tese apresentada ao Departamento de

Ci^encia da Computac~ao do Instituto de

Ci^encias Exatas da Universidade

Fede-ral de Minas Gerais, como requisito

par-cial a obtenc~ao do ttulo de Doutor em

Ci^encia da Computac~ao.

(2)
(3)

Resumo

A WWW apresenta duas caractersticas que desaam a avaliac~ao de desempenho e as propostas de soluc~ao para seus problemas: larga escala e grande variabilidade. Esta tese trata de sistemas de cache cujos objetos apresentam variabilidade extrema nos seus tamanhos. Os caches da WWW s~ao um exemplo. Esta tese apresenta um estudo sobre a inu^encia da variabilidade dos tamanhos dos objetos da WWW no desempenho dos seus sistemas de cache e uma soluc~ao para o problema gerado por essa variabilidade, o modelo de organizac~ao do espaco denominado PART.

A variabilidade nos tamanhos dos documentos tem duas consequ^encias importantes. A primeira e um compromisso de desempenho entre as metricas HR (hit ratio) e BHR (byte hit ratio), devido ao compartilhamento de espaco para arquivos de tamanhos distintos.

O armazenamento preferencial de arquivos grandes favorece BHR enquanto melhor HR e obtido armazenando-se os arquivos pequenos. Sistemas de cache existentes da WWW apresentam bons resultados isoladamente em cada uma destas metricas. No entanto, a obtenc~ao de bons resultados em ambas e de reconhecida import^ancia. A outra consequ^encia e o impacto causado pelas substituic~oes que n~ao levam em considerac~ao os tamanhos dos arquivos envolvidos.

Esta tese prop~oe que o gerenciamento do espaco destes caches seja feito em dois nveis: a organizac~ao do espaco e a poltica de reposic~ao. Para a organizac~ao do espaco e proposto o modelo PART. O espaco do cache e dividido em partic~oes que armazenam classes de arquivos denidas pelo tamanho. O PART imp~oe restric~oes de tamanho para as substi-tuic~oes no cache minimizando os efeitos da variabilidade. A classicac~ao por tamanhos se adequa bem a implementac~ao de polticas especcas para a otimizac~ao de cada metrica. Os par^ametros do modelo permitem ajustes para adequac~ao do modelo a carga. A com-binac~ao dos varios benefcios assegura o melhor desempenho conjunto em HR e BHR. Estes resultados foram obtidos por simulac~ao e comprovados atraves do conceito de mapas de desempenho, tambem introduzido nesta tese. Os mapas de desempenho s~ao construdos a partir de um teorema original que estabelece a relac~ao entre HR e BHR e auxiliam o entendimento do comportamento das estrategias para ger^encia de espaco nos caches.

(4)

Caching systems are considered an essential part of the WWW to deal with its remarka-ble growth. The WWW shows two characteristics that are challenges for performance evaluation and for the design of solutions for its problems: high variability and large scale. This thesis deals with caching systems with objects that show extreme variability in their sizes. WWW caching systems are an example. This thesis presents a study about the in-uence of the variability of the Web objects' size in the performance of its caching systems and a solution for the problem due to the variability, a model for cache space organization called PART.

The variability of the document sizes has two important consequences. Firstly, there is the performance tradeo between the metrics HR (hit ratio) and BHR (byte hitratio), due

to the space sharing of les of very dierent sizes. While the storage of large les favors BHR, good HR is achieved keeping preferentially the small les in the cache. Existing WWW caching systems show good results for each of these metrics isolately. However, it is recognized the importance of having good results in both of them. The second conse-quence of the variability is the impact due to the replacement of les that do not take into consideration the sizes of the les.

This thesis proposes two-level space cache management: the space organization and the denition of the replacement policy. To organize the cache space the PART model is proposed. The cache space is divided into partitions that hold classes of les dened according to the le sizes. PART imposes restrictions for the replacements based on the objects' size, minimizing the eects of the variability. Replacement policies specically designed to optimize each metric can be used in the dierent partitions. The parameters of the model allow ne tuning according to changings in the workload. The combination of all benets provides the best combined performance in HR and BHR. The results were obtained by simulation and validated through the concept of performance maps, which is also introduced in this thesis. Performance maps are built from an original theorem which establishes the relationship between HR and BHR. Performance maps help to reveal the strategies of the approaches for space cache management in a combination of both metrics.

(5)

Agradecimentos

Pesquisar e pisar em terreno desconhecido, inclui erro e risco, n~ao ha como fazer pre-vis~ao. Como determinar um tempo para cumprir um objetivo de pesquisa? No entanto, ao fazer pesquisa, em algum momento o pesquisador devera se render a realidade e conviver com as limitac~oes de tempo e recurso, reconhecendo esses limites que o proprio homem imp~oe ao desenvolvimento da ci^encia. Mesmo quando ha mais experimentos a fazer, mais refer^encias a pesquisar e mais casos a vericar, em algum momento e preciso escrever algo e se contentar com aquilo.

Isso tambem e verdade para o processo de reconhecer aqueles que tornaram o traba-lho possvel. Ha sempre alguem esquecido e alguma forma mais eloquente ou bonita de agradecer mas em algum momento temos de escrever mesmo sabendo dos riscos imputados pelos limites de nossa memoria e habilidade literaria. Dentro destas limitac~oes, aqui v~ao meus agradecimentos.

A meu orientador, Virgilio Almeida, minha gratid~ao por seu incentivo constante, pela orientac~ao e pela oportunidade que me proporcionou de fazer na Boston University um

estagio em pesquisa. Ao professor Mark Crovella, por me receber t~ao bem na Boston University e pela orientac~ao. Ao professor Nivio Ziviani, meu orientador de mestrado, pelo

constante incentivo e apoio. Ao professor Ivan Moura Campos, tambem pelo apoio de longa data. Trabalhar com estes pesquisadores foi um privilegio para mim. Tenho por eles grande admirac~ao.

Agradeco aos varios an^onimos prossionais que zeram os registros das cargas de acesso utilizadas neste trabalho, sem os quais o mesmo poderia n~ao ter sido realizado. Sua contribuic~ao foi inestimavel. A todos os colegas do Laboratorio de Analise e Modelagem de Desempenho de Sistemas de Computac~ao, do Departamento de Ci^encia da Computac~ao da UFMG, por tornarem agradavel e divertido o convvio diario, em meio a tantas discuss~oes tecnicas.

Aos meus colegas professores do Departamento de Informatica da Universidade Federal do Parana devo meus sinceros agradecimentos pelo incentivo, em especial aos chefes de Departamento, professores Carlos Alberto de Carvalho, Armando Delgado e Alexandre Direne. Agradeco tambem a CAPES pelo apoio nanceiro.

Aos meus amigos, que ouviram demasiadamente a palavra \tese" especialmente nos ultimos meses, meu agradecimento pela compreens~ao e pelos momentos t~ao agradaveis que indubitavelmente tornaram o trabalho mais suave e profcuo.

Aos meus lhos Tomas e Belisa, por tornarem a vida t~ao interessante e alegre, e saberem respeitar esse trabalho mesmo sem compreender o seu signicado. A minha m~ae Joanita e meus irm~aos Fernando, Katia e Junior por seu ilimitado e constante amor e encorajamento. Palavras n~ao s~ao sucientes para expressar meu amor e gratid~ao.

(6)

Indice

Lista de Figuras viii

Lista de Tabelas x

1 Introduc~ao 1

1.1 Motivac~ao : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1

1.2 O Problema : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3

1.3 Contribuic~oes da Tese : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3

1.4 Organizac~ao da Tese : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4

2 Conceitos e Trabalhos Relacionados 6

2.1 Variabilidade e Distribuic~oes de Cauda Pesada : : : : : : : : : : : : : : : : 6

2.1.1 Conceito Estatstico de Variabilidade : : : : : : : : : : : : : : : : : 6

2.1.2 Variabilidade na WWW : : : : : : : : : : : : : : : : : : : : : : : : 8

2.2 Caches na World Wide Web : : : : : : : : : : : : : : : : : : : : : : : : : : 10

2.2.1 A World Wide Web : : : : : : : : : : : : : : : : : : : : : : : : : : : 10

2.2.2 Funcionamento dos Caches : : : : : : : : : : : : : : : : : : : : : : : 11

2.2.3 Medidas de Desempenho : : : : : : : : : : : : : : : : : : : : : : : : 14

2.2.4 Algoritmos para Ger^encia de Espaco : : : : : : : : : : : : : : : : : 16

2.3 Estado da Arte em Ger^encia de Caches : : : : : : : : : : : : : : : : : : : : 22

3 Caracterizac~ao de Cargas de Caches da WWW 24

3.1 Import^ancia da Caracterizac~ao : : : : : : : : : : : : : : : : : : : : : : : : : 24

3.2 Cargas de Trabalho Analisadas : : : : : : : : : : : : : : : : : : : : : : : : 25

3.3 Caracterizac~ao dos Tamanhos : : : : : : : : : : : : : : : : : : : : : : : : : 27

3.3.1 Tamanhos das Requisic~oes : : : : : : : : : : : : : : : : : : : : : : : 27

3.3.2 Tamanhos dos Arquivos Unicos : : : : : : : : : : : : : : : : : : : : 31

3.4 Caracterizac~ao do Padr~ao de Acesso : : : : : : : : : : : : : : : : : : : : : : 33

3.4.1 Valores Maximos para HR e BHR : : : : : : : : : : : : : : : : : : : 34

3.4.2 Impacto dos Acessos Unicos : : : : : : : : : : : : : : : : : : : : : : 35

3.4.3 Localidade de Refer^encia Temporal : : : : : : : : : : : : : : : : : : 38

3.5 Padr~ao de Acesso em Classes de Requisic~oes : : : : : : : : : : : : : : : : : 40

3.6 Potencial e Limitac~oes dos Caches WWW : : : : : : : : : : : : : : : : : : 42

(7)

3.7 Conclus~ao : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 43

3.8 Ap^endice: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 43

4 Modelo de Particionamento de Espaco para Caches da WWW

46

4.1 Introduc~ao : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 46

4.2 Denic~ao de Cache Particionado : : : : : : : : : : : : : : : : : : : : : : : : 47

4.3 Justicativa para o Modelo PART : : : : : : : : : : : : : : : : : : : : : : : 48

4.3.1 Por que particionar por tamanho? : : : : : : : : : : : : : : : : : : : 48

4.3.2 Objetivos do PART : : : : : : : : : : : : : : : : : : : : : : : : : : : 49

4.4 Caractersticas do Modelo PART : : : : : : : : : : : : : : : : : : : : : : : 49

4.5 Funcionalidade do PART : : : : : : : : : : : : : : : : : : : : : : : : : : : : 51

4.5.1 Hipoteses : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 51

4.5.2 Otimizac~ao de HR e BHR: Espaco para Soluc~oes de Compromisso : 52

4.6 Escolha dos Par^ametros do PART : : : : : : : : : : : : : : : : : : : : : : : 55

4.6.1 Numero de Partic~oes : : : : : : : : : : : : : : : : : : : : : : : : : : 56

4.6.2 Divis~ao da Carga em Classes : : : : : : : : : : : : : : : : : : : : : : 56

4.6.3 Tamanho das Partic~oes : : : : : : : : : : : : : : : : : : : : : : : : : 58

4.7 Relac~ao Analtica entre HR e BHR : : : : : : : : : : : : : : : : : : : : : : 58

4.8 Mapas de Desempenho : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 59

4.9 Conclus~ao : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 61

4.10 Ap^endice: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 63

4.10.1 Prova do Teorema 1 : : : : : : : : : : : : : : : : : : : : : : : : : : 63

4.10.2 Prova do Teorema 2 : : : : : : : : : : : : : : : : : : : : : : : : : : 64

5 Estudo de Desempenho do Cache Particionado

65

5.1 Projeto da Simulac~ao : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 66

5.2 Comparac~ao entre Cache Particionado e N~ao Particionado : : : : : : : : : 70

5.2.1 HR e BHR: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 71

5.2.2 Numero de Arquivos no Cache: : : : : : : : : : : : : : : : : : : : : 72

5.2.3 Tamanho Medio dos Hits : : : : : : : : : : : : : : : : : : : : : : : : 72

5.2.4 Tempo Medio de Perman^encia no Cache : : : : : : : : : : : : : : : 73

5.2.5 Inserc~oes e Remoc~oes de Arquivos : : : : : : : : : : : : : : : : : : : 73

5.2.6 Fragmentac~ao : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 76

5.2.7 Conclus~ao : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 76

5.3 Efeito da Variac~ao dos Par^ametros de Entrada do Modelo PART : : : : : : 77

5.3.1 Polticas Diferentes nas Partic~oes : : : : : : : : : : : : : : : : : : : 77

5.3.2 Variando o Numero de Partic~oes: : : : : : : : : : : : : : : : : : : : 78

5.3.3 Variando o Tamanho das Partic~oes : : : : : : : : : : : : : : : : : : 78

5.3.4 Ajuste Din^amico dos Tamanhos das Partic~oes : : : : : : : : : : : : 80

5.3.5 Estimativa dos Par^ametros do Modelo PART : : : : : : : : : : : : 81

5.4 Utilizac~ao dos Mapas de Desempenho : : : : : : : : : : : : : : : : : : : : : 83

5.5 Sumario dos Resultados e Conclus~ao : : : : : : : : : : : : : : : : : : : : : 84

(8)

6 Conclus~oes e Direc~oes para Trabalhos Futuros 86

6.1 Sumario dos Resultados e Contribuic~oes : : : : : : : : : : : : : : : : : : : 86

6.2 Relev^ancia : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 87

6.3 Direc~oes para Trabalhos Futuros : : : : : : : : : : : : : : : : : : : : : : : : 88

Bibliograa 90

(9)

2.1 Func~ao cumulativa para as distribuic~oes exponencial e de Pareto. : : : : : 7

2.2 Visualizac~ao da cauda para as distribuic~oes exponencial e Pareto. : : : : : 8

2.3 A WWW segue o modelo cliente-servidore a Internete o meio de comunicac~ao. 11 2.4 Tipos de cache encontrados no caminho de uma requisic~ao. : : : : : : : : : 12

3.1 Distribuic~ao de probabilidade acumulada emprica dos tamanhos das re-quisic~oes para todas as cargas. : : : : : : : : : : : : : : : : : : : : : : : : : 29

3.2 Cauda da distribuic~ao de probabilidade empricados tamanhos das requisic~oes para todas as cargas e para as func~oes exponencial e Pareto. : : : : : : : : 30

3.3 Distribuic~ao de probabilidade acumulada emprica dos tamanhos dos arqui-vos unicos para todas as cargas. : : : : : : : : : : : : : : : : : : : : : : : : 32

3.4 Cauda da distribuic~ao de probabilidade emprica dos tamanhos dos arquivos unicos para todas as cargas. : : : : : : : : : : : : : : : : : : : : : : : : : : 33

3.5 Evid^encia de localidade temporal para todas as cargas. : : : : : : : : : : : 39

3.6 Cauda da distribuic~ao de probabilidade dos tamanhos para a carga Portugal e suas classes. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 42

3.7 Comparac~ao da localidade medida por HR (esquerda) e BHR (direita) entre a carga completa e dividida em classes. Dados para as cargas BR (acima), U (no centro) e POP99-zez (abaixo). : : : : : : : : : : : : : : : : : : : : : 45

4.1 Partic~ao do cache e classicac~ao dos documentos: : : : : : : : : : : : : : : 47

4.2 Tamanho das soluc~oes para maximizac~ao de HR e BHR de acordo com o problema da mochila, em func~ao do tamanho do cache. Os smbolos \jj" e

\&&" representam, respectivamente, as operac~oes or e and. : : : : : : : : 54

4.3 Soluc~oes para HR e BHR plotadas em tr^es conjuntos: arquivos exclusivos de cada soluc~ao e arquivos comuns. Ambos os eixos est~ao em escala logartmica. Cargas BL (esquerda) e NLANR-bo1 (direita). : : : : : : : : : : : : : : : : 55

4.4 Relac~ao entre HR/BHR e o tamanho medio doshitspara cargas de tamanhos

medios tpicos. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 60

4.5 Mapas de desempenho para as cargas BR e NLANR-uc.: : : : : : : : : : : 61

5.1 Estrutura do simulador. : : : : : : : : : : : : : : : : : : : : : : : : : : : : 66

(10)

5.2 Estruturas de dados para os arquivos e os caches do simulador. UNI-QUE FILES e NUMBER OF PARTITIONS s~ao, respectivamente, os

tamanhos das estruturasFILES eCACHES. : : : : : : : : : : : : : : : : 67

5.3 Loop principal do codigo do simulador. : : : : : : : : : : : : : : : : : : : : 68

5.4 HR e BHR para caches particionados (PART) e n~ao particionados (NP) com poltica LRU. Cargas PORTUGAL (esquerda), POP99-zez (centro) e BR (direita). : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 71

5.5 Numero de arquivos armazenados no cache ao nal da simulac~ao para caches particionados (PART) e n~ao particionados (NP) com poltica LRU. Cargas PORTUGAL (esquerda), POP99-zez (centro) e BR (direita). : : : : : : : : 72

5.6 Tamanho medio dos hits para caches particionados (PART) e n~ao

particio-nados (NP) com poltica LRU. Cargas PORTUGAL (esquerda), POP99-zez (centro) e BR (direita). : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 73

5.7 Tempo medio de perman^encia, em numero de requisic~oes, dos arquivos em caches particionados (PART) e n~ao particionados (NP) com poltica LRU. Cargas PORTUGAL (esquerda), POP99-zez (centro) e BR (direita). : : : : 74

5.8 Numero medio de arquivos removidos em cada operac~ao de reposic~ao em caches particionados (PART) e n~ao particionados (NP) com poltica LRU. Cargas PORTUGAL (esquerda), POP99-zez (centro) e BR (direita). : : : : 75

5.9 Numero de remoc~oes e inserc~oes de arquivos emcaches particionados (PART) e n~ao particionados (NP) compoltica LRU. Cargas PORTUGAL (esquerda), POP99-zez (centro) e BR (direita). : : : : : : : : : : : : : : : : : : : : : : 76

5.10 HR e BHR para diversas polticas aplicadas ao cache sem particionamento e para PART com tr^es partic~oes com GD-Size na primeira partic~ao e LFU-DA nas demais. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 78

5.11 HR e BHR para diversas polticas aplicadas ao cache sem particionamento e para PART com tr^es partic~oes com GD-Size na primeira partic~ao e LFU-DA nas demais. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 79

5.12 Valores para HR para as cargas U (esquerda) e POP98 (direita) com numero de partic~oes variando entre um e cinco. : : : : : : : : : : : : : : : : : : : : 80

5.13 HR e BHR em func~ao do tamanho do cache e do tamanho relativo das partic~oes para as cargas BR e POP98. A legenda indica o tamanho do cache em porcentagem do tamanho de refer^encia para a carga. : : : : : : 81

5.14 Limites encontrados para HR e BHR em func~ao do tamanho do cache para as cargas BR (esquerda) e POP98 (direita). : : : : : : : : : : : : : : : : : 82

5.15 Mapa de desempenho para as cargas BR (esquerda) e U (direita). : : : : : 83

(11)

2.1 PfX >xg para as distribuic~oes exponencial e de Pareto com media 3000.

Par^ametros da distribuic~ao de Pareto: = 1.1 e k = 300. : : : : : : : : : : 8

2.2 Regra 80/20: 80% das requisic~oes corresponde a aproximadamente 20% dos bytes requisitados (coluna 2) e apenas 10% dos arquivos s~ao responsaveis por mais de 60% dos bytes requisitados. : : : : : : : : : : : : : : : : : : : 16

3.1 Identicac~ao, origem e data das cargas caracterizadas.: : : : : : : : : : : : 26

3.2 Caracterizac~ao das requisic~oes: numero, total de bytes transmitidos endices de dispers~ao para o tamanho. A ultima coluna e a divis~ao do tamanho do maior documento pela mediana. : : : : : : : : : : : : : : : : : : : : : : : : 28

3.3 Caracterizac~ao dos conjuntos de arquivos distintos baseada nos dados das sequ^encias de requisic~oes.: : : : : : : : : : : : : : : : : : : : : : : : : : : : 31

3.4 Estimativas de para os arquivos e as requisic~oes pelos metodos scaling e

CDPlot. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 34

3.5 Valores maximos para HR e BHR. : : : : : : : : : : : : : : : : : : : : : : : 35

3.6 Distribuic~ao dos arquivos por numero de acessos e concentrac~ao de refer^encias. 37 3.7 Caracterizac~ao das sequ^encias de requisic~oes e dos arquivos por classes de

tamanho. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 44

5.1 Denic~ao dos par^ametros para o experimento com o cache com tr^es partic~oes. 70

(12)

Introduc~ao

1.1 Motivac~ao

A World Wide Web (referenciada neste trabalho como WWW ou Web) tornou-se, em apenas seis anos, o maior e mais acessado sistema de informac~ao do planeta. Este de-senvolvimento ocorreu de forma natural, n~ao planejada, e a facilidade de conex~ao a Web, como cliente ou servidor, e um dos fatores que permitiu o crescimento acelerado. A popu-larizac~ao da WWW gerou sobrecarga na Internet e nos servidores de paginas, acarretando tempos longos de resposta a requisic~oes, inaceitaveis para os usuarios. A utilizac~ao gene-ralizada de caches em diversos pontos da rede no mundo aliviou o problema das lat^encias nas requisic~oes e mostrou ser uma soluc~ao para a escalabilidade da WWW.

Sistemas de cache s~ao considerados fundamentais na arquitetura da WWW atual. O modelo cliente-servidor da WWW suporta caches em seus tr^es componentes: cliente, ser-vidor e rede. A utilizac~ao de sistemas de cache na Web traz varios benefcios. Em primeiro lugar, os clientes observam uma reduc~ao na lat^encia de suas requisic~oes, que s~ao servi-das por caches localizados em pontos intermediarios entre o cliente e o servidor, portanto mais proximos do cliente. Em segundo lugar, ha uma reduc~ao da carga nos servidores de paginas, que passam a servir copias de suas paginas para os caches, atendendo a um numero menor de usuarios individuais. Com isso ha um aumento da disponibilidade dos documentos copiados pelos caches. Se o servidor ca indisponvel, o documento pode ser servido pelo cache, ainda que sua vers~ao n~ao seja a mais recente. Por ultimo, mas talvez mais importante, caches na rede e no cliente contribuem para a economia na utilizac~ao da rede. O trafego redundante, gerado por multiplas transfer^encias do mesmo documento, e eliminado do trecho entre o servidor e o cache, e a rede ca dedicada a transfer^encias de documentos novos ou modicados. O descongestionamento da rede permite melhor utilizac~ao da Internet e contribui para a melhoria da qualidade de servico.

Ha duas motivac~oes para este trabalho. A primeira e a import^ancia da implementac~ao de caches para a escalabilidade da WWW. A WWW esta se desenvolvendo rapidamente e n~ao ha indicac~ao de que esta tend^encia ira se reverter em futuro proximo. Pelo contrario, o advento de interfaces mais baratas como a WebTV permitira um crescimento do numero

(13)

de usuarios. O uso de redes mais rapidas como a Internet 2 possibilitara a popularizac~ao de aplicac~oes que utilizam audio e vdeo. O crescimento do comercio eletr^onico diversi-cara ainda mais a variedade de servicos oferecidos pela WWW. O trafego na Internet aumentara como consequ^encia destas inovac~oes, em \uma escala que e difcil de imaginar", segundo a International Data Corporation(International Data Corporation, 1998). A

uti-lizac~ao de caches e uma tecnica bem conhecida para melhorar a escalabilidade de sistemas cliente-servidor, isto e, aumentar o numero maximo de clientes que podem ser servidos, minimizando os pontos de contenc~ao na rede ou no servidor.

Por outro lado, a ger^encia de espaco em caches na WWW e um problema novo, com caractersticas diferentes dos sistemas de cache encontrados em arquitetura de computa-dores e sistemas operacionais. Esta e a segunda motivac~ao. Inicialmente, os algoritmos para a implementac~ao dos caches na WWW foram buscados nos estudos sobre sistemas de cache em arquitetura de computadores e sistemas operacionais. No entanto, embora haja consolidac~ao da pesquisa sobre algoritmos de troca de blocos e paginas nestes ambientes tradicionais, sistemas de cache na Web s~ao mais complexos e, devido as suas peculiaridades, comp~oem um tema a ser estudado separadamente.

A WWW apresenta duas caractersticas que desaam a avaliac~ao de desempenho e as propostas de soluc~ao para seus problemas: larga escala e grande variabilidade. O com-ponente de larga escala e dado pelo seu tamanho. A WWW e composta por milh~oes de objetos, milh~oes de usuarios e milhares de servidores. Para seus sistemas de cache, isto signica que ha um grande numero de objetos candidatos ao armazenamento. Outra ca-racterstica fundamental e a variabilidade extrema observada nas medidas da carga, por exemplo, nos tamanhos dos documentos que circulam na Web. Ha documentos que s~ao varias ordens de grandeza maiores do que outros. Enquanto os caches tradicionais existen-tes nos sistemas de computac~ao tratam de objetos de tamanho unico (ex.: bloco ou linha), os sistemas de cache na Web operam com objetos de tamanhos extremamente variaveis. Como consequ^encia, o armazenamento de apenas um documento grande no cache pode signicar a retirada de centenas ou milhares de documentos pequenos, alterando completa-mente seu estado. A variabilidade tambem afeta as lat^encias dos Web-caches, cujos valores est~ao em escalas de tempo muito maiores e s~ao mais variaveis do que as lat^encias dos caches tradicionais. Estas duas caractersticas s~ao determinantes nas diferencas apontadas entre os caches da WWW e os sistemas tradicionais de cache. Como pode ser observado, para descrever a WWW o superlativo e comum e necessario.

Estas diferencas s~ao reconhecidas na literatura. Por exemplo, algumas polticas de substituic~ao de objetos em caches da WWW levam em considerac~ao o fato de que os objetos t^em tamanhos diferentes. No entanto, n~ao ha nenhum estudo que faca uma avaliac~ao do efeito da variabilidade destes tamanhos no desempenho dos caches. Outro aspecto a ser observado e a caracterstica estatica das polticas, que n~ao oferecem nenhum par^ametro que possa ser ajustado em func~ao das caractersticas da carga, com o objetivo de melhorar o desempenho.

A import^ancia da implementac~ao de caches para a escalabilidade da WWW, aliada aos novos par^ametros caractersticos do ambiente, abrem uma ampla area de pesquisa cujos resultados tem possibilidade de aplicac~ao imediata.

(14)

1.2 O Problema

A area de pesquisa deste trabalho e a ger^encia de espaco em caches da World Wide Web. A ger^encia de espaco de caches trata de duas quest~oes: a organizac~ao do espaco disponvel e a poltica de substituic~ao. Dado que o espaco do cache e nito, n~ao ha como armazenar indenidamente todos os objetos lidos. Em algum momento sera necessario retirar um ou mais objetos para armazenar novos objetos que n~ao est~ao presentes no cache. A poltica de substituic~ao decide qual ou quais objetos ser~ao retirados. O modelo de organizac~ao do espaco dene onde um objeto sera armazenado, podendo se referir a um espaco unico ou a um espaco distribudo.

Modelos conhecidos para ger^encia de espaco em Web-caches aplicam uma poltica global para escolha dos objetos a serem retirados do cache. Arquivos de todos os tamanhos s~ao comparados entre si e classicados utilizando os criterios da poltica. N~ao ha nenhuma relac~ao entre os tamanhos dos objetos substitudos. Este modelo n~ao funciona bem quando ha grande variabilidade nos tamanhos e um grande numero de objetos para armazenar, como e o caso da WWW.

Esta tese analisa as implicac~oes da variabilidade observada nos tamanhos dos objetos no desempenho dos Web-caches. Dois problemas s~ao analisados e solucionados:

Qual e o impacto da grande variabilidade nos tamanhos dos objetos armazenados em

sistemas de cache de larga escala, como e o caso da WWW, no desempenho destes sistemas?

Como deve ser a organizac~ao do espaco nestes caches para minimizar os efeitos da

variabilidade?

Este trabalho trata de caches de objetos estaticos transmitidos atraves do protocolo HTTP, tais como arquivos HTML, arquivos de texto, imagens, audio e vdeo. Este traba-lho n~ao inclui cache de objetos \contnuos" como os gerados por servidores de vdeo sob demanda, nem proposta de cache de objetos din^amicos. Este trabalho tambem n~ao aborda a quest~ao da consist^encia dos objetos armazenados no cache.

1.3 Contribuic~oes da Tese

As principais contribuic~oes desta tese s~ao:

Um modelo de organizac~ao do espaco de caches da Web que leva em considerac~ao

caractersticas fundamentais da WWW: larga escala e grande variabilidade. A uti-lizac~ao deste modelo, denominado PART, gera ganhos relevantes de desempenho para seus sistemas de cache.

Caracterizac~ao detalhada de dez cargas reais da WWW, que mostra as dimens~oes da

larga escala e da variabilidade na WWW, e suas implicac~oes para seus sistemas de cache.

(15)

Um teorema que estabelece a relac~ao matematica entre as metricas hit ratio e byte hit ratio. A partir desta relac~ao e possvel construir mapas de desempenho para os

caches onde as duas metricas s~ao plotadas no mesmo graco. Estes mapas orientam a pesquisa por melhor desempenho em sistemas de cache.

Discuss~ao sobre o modelo PART apresentando suas caractersticas, vantagens,

des-vantagens e avaliac~ao de desempenho do modelo proposto baseada em simulac~ao. Esta avaliac~ao e validada pelo teorema referido acima.

Uma estrategia para provar a exist^encia de compromisso entre as metricas hit ratio

e byte hit ratio para uma determinada carga e mostrar o espaco de soluc~oes que o

modelo PART disp~oe. Essa estrategia analtica e baseada no problema de otimizac~ao conhecido como problema da mochila.

Revis~ao bibliograca que mostra o estado da arte em ger^encia de espaco em caches

WWW.

A elaborac~ao desta tese gerou diversas publicac~oes. Os trabalhos comecaram com estudos sobre desempenho de servidores WWW (Almeida et al., 1996a), (Almeida et al.,

1996c) e (Murta et al., 1996). A caracterizac~ao de alguns aspectos da carga de Web e

tratada em (Almeida et al., 1998), (Murta e Almeida, 1998) e (Murta e Almeida, 1999).

O modelo PART, proposto nesta tese, e tema dos artigos (Murta et al., 1999), (Murta et al., 1998b), (Murta et al., 1998a), que abordam tambem a quest~ao do impacto da

variabilidade dos tamanhos dos objetos em caches da WWW. A variabilidade dos tamanhos dos objetos WWW tambem foi estudada no contexto dos servidores Web e os resultados foram publicados em (Crovellaetal., 1998a), (Harchol-Balteretal., 1998) e (Harchol-Balter et al., 1999). Estes artigos tratam de polticas de assinalamento de tarefas em servidores

Web distribudos. O desempenho de hierarquias de servidores cache foi tratado em (Meira Jr. et al., 1998a) e (Meira Jr. et al., 1998b).

1.4 Organizac~ao da Tese

Esta tese esta organizada em seis captulos. O captulo 2 esta dividido em duas partes. A primeira parte conceitua e descreve as distribuic~oes de cauda pesada, essenciais ao en-tendimento do trabalho. A segunda parte apresenta uma revis~ao da literatura relacionada ao tema desta tese. S~ao apresentados os modelos de ger^encia de espaco conhecidos e as polticas de substituic~ao. As metricas de avaliac~ao de desempenho s~ao descritas e dis-cutidas. Esse captulo mostra tambem como esta tese e derivada a partir de trabalhos anteriores. O captulo 3 apresenta uma detalhada caracterizac~ao das cargas utilizadas no estudo de desempenho do modelo com ^enfase nos aspectos considerados importantes para o modelo proposto. O captulo 4 apresenta o modelo proposto para a organizac~ao do espaco de armazenamento dos caches e discute a relac~ao entre as metricashit ratioebyte hit ratio

(16)

para a analise de desempenho do modelo e discute os resultados. O captulo 6 apresenta as conclus~oes do trabalho e sugere direc~oes para trabalhos futuros.

(17)

Conceitos e Trabalhos Relacionados

Este captulo apresenta os conceitos basicos necessarios ao entendimento desta tese, des-creve os trabalhos relacionados e mostra o estado da arte em ger^encia de espaco de caches da World Wide Web.

2.1 Variabilidade e Distribuic~oes de Cauda Pesada

Grande variabilidade e uma caracterstica que ja foi detectada em varios par^ametros da carga Web. Esta sec~ao descreve o conceito estatstico de variabilidade e apresenta exemplos de ocorr^encia desta caracterstica na WWW.

2.1.1 Conceito Estatstico de Variabilidade

Uma variavel rand^omica X segue uma distribuic~ao de cauda pesada (heavy-tailed distribu-tion) se

F(x) = PfX >xg x ?

; 0<<2:

A distribuic~ao de cauda pesada mais utilizada para modelar as caractersticas do am-biente Web e a de Pareto (Jain, 1991), cuja func~ao de densidade de probabilidade e

f(x) =k

x ??1

; ; k >0; xk;

e a func~ao de distribuic~ao cumulativa e

F(x) =PfX xg= 1?(k=x)

:

As distribuic~oes de cauda pesada apresentam propriedades que s~ao qualitativamente diferentes das distribuic~oes identicadas mais comumente, tais como a exponencial e a normal. A func~ao de densidade de probabilidade de uma distribuic~ao de cauda pesada apresenta uma cauda que prolonga-se a direita. Isto signica que o valor da moda e menor que o da mediana que, por sua vez, e menor que a media. Distribuic~oes de cauda pesada s~ao

(18)

caracterizadas por uma variabilidade extrema. A vari^ancia e innita e, se 1, a media

e innita. Obviamente os momentos so s~ao innitos se a cauda estende-se innitamente a direita. A variabilidade cresce muito a medida que decresce. A gura 2.1 mostra as

curvas da func~ao de distribuic~ao cumulativa para as distribuic~oes exponencial e Pareto. A distribuic~ao exponencial e considerada uma distribuic~ao de cauda leve.

0 0.2 0.4 0.6 0.8 1

1000 10000 100000 1e+06

P[X<=x]

x

exponencial Pareto

Figura2.1: Func~ao cumulativa para as distribuic~oes exponencial e de Pareto.

A analise de alguns numeros pode ajudar no entendimento do signicado de uma distri-buic~ao com extrema variabilidade. A tabela 2.1 apresenta probabilidades para inst^ancias das distribuic~oes exponencial e de Pareto com a mesma media (3000), e com par^ametro

= 1:1 para a distribuic~ao de Pareto. A distribuic~ao exponencial apresenta pequena

variabilidade (cauda leve) e e tradicionalmente utilizada para modelar caractersticas de trafego em modelos de las (Kleinrock, 1975), (Menasce et al., 1994). Pode ser observado

que os valores modelados por uma distribuic~ao exponencial concentram-se mais em torno da media, com pequena probabilidade nos extremos. O mesmo n~ao ocorre na distribuic~ao de cauda pesada: 53% dos valores s~ao pequenos (menores que 600). Alem disto, a probabi-lidade de ocorrer uma observac~ao maior que 50000 e 360000 vezes maior na distribuic~ao de Pareto em relac~ao ao caso exponencial. Ha, portanto, uma probabilidade n~ao desprezvel de ocorr^encia de numeros muito grandes, o que caracteriza a cauda pesada.

As caudas das distribuic~oes mais comuns, por exemplo, Normal, Exponencial, Poisson e Gamma, declinam exponencialmente. No entanto, a cauda das distribuic~oes de cauda pesada declinam com uma func~ao de pot^encia, isto e, muito mais lentamente. Uma forma de visualizar a cauda de uma distribuic~ao e plotar a func~ao F(x) num graco log-log. A

gura 2.2 mostra este graco para as distribuic~oes exponencial e Pareto. log(F(x)) ?l og(x)

A inclinac~ao ? da reta indica o grau de variabilidade da distribuic~ao.

(19)

x Exponencial Pareto

300 0.90 1.00

600 0.82 0.47

1500 0.61 0.17

3000 0.37 0.079

6000 0.135 0.037

10000 0.036 0.021

50000 10?8 0.0036

100000 10?17 0.0017

Tab ela 2.1: PfX >xg para as distribuic~oes exponencial e de Pareto com media 3000. Par^ametros da

distribuic~ao de Pareto: = 1.1 ek= 300.

-8 -7 -6 -5 -4 -3 -2 -1 0

2 2.5 3 3.5 4 4.5 5 5.5 6

log(P[X>x])

log(x)

exponencial Pareto

Figura2.2: Visualizac~ao da cauda para as distribuic~oes exponencial e Pareto.

Na pratica, momentosinnitos signicam uma n~ao converg^encia dos valores estatsticos. Consequentemente, os sistemas que trabalham com variaveis de cauda pesada podem de-morar muito para entrar num regime de estabilidade (Crovella e Lipsky, 1997). O numero de pontos necessario para obtenc~ao de uma dada precis~ao nas medidas e muito sensvel ao valor de (Greiner et al., 1995). Um dos motivos da n~ao observac~ao de distribuic~oes de

cauda pesada no passado e o numero pequeno de observac~oes colhido para caracterizac~ao de dados. Num conjunto pequeno, eventuais observac~oes muito grandes s~ao atribudas ao acaso e desprezadas.

2.1.2 Variabilidade na WWW

De particular interesse para este trabalho e o fato de que muitas grandezas medidas na Web podem ser modeladas por distribuic~oes de cauda pesada. Isto signica que as propriedades estatsticas da WWW est~ao caracterizadas pela grande variabilidade. Medic~oes

(20)

tadas em (Crovella e Bestavros, 1996) mostram que o tamanho dos arquivos disponveis nos servidores, dos arquivos requisitados pelos usuarios e dos arquivos transmitidos segue uma distribuic~ao de cauda pesada. O mesmo trabalho mostra que o conjunto dos tempos de durac~ao das transmiss~oes dos arquivos pedidos segue a mesma distribuic~ao como con-sequ^encia do tamanho dos arquivos transmitidos. As taxas de chegadas de requisic~oes a servidores Web tambem experimentam grande variabilidade (Greiner et al., 1995).

Em (Murta e Almeida, 1998), os autores mostram que a grande variabilidade observada nos tempos de resposta as requisic~oes feitas a caches deproxypode ser explicada pela com-binac~ao de varios fatores, incluindo o tamanho da resposta, a variabilidade de bandwidth

das conex~oes dos clientes com o cache e o custo inicial (overhead) do protocolo TCP para cada conex~ao. Este custo e amortizado somente para respostas maiores, que requerem mais pacotes para sua transmiss~ao. Os resultados deste trabalho mostram que os tempos de resposta apresentam variabilidade maior do que os tamanhos. Por exemplo, os tempos de resposta podem variar em ate quatro ordens de grandeza nas transmiss~oes de mesmo tamanho. Isto comprova que a variabilidade no tamanho explica apenas parcialmente a variabilidade na lat^encia. Este comportamento foi observado tanto para as lat^encias das requisic~oes que s~ao misses no cache quanto para oshits.

Os tamanhos dos arquivos na Web s~ao modelados por distribuic~oes de cauda pesada. Isto signica que 50% dos arquivos tem tamanho pequeno, menor que a media. Adicio-nalmente, uma porcentagem pequena dos arquivos tem tamanho muito grande, algumas ordens de grandeza maiores do que a media, e esta pequena porcentagem de arquivos re-presenta a maior parte dos bytes. Para efeito de comparac~ao considere uma distribuic~ao de cauda pesada cujas observac~oes estejam entre 1 e 108, valores extremos comuns para

o numero de bytes dos arquivos na Web. Se esta distribuic~ao representasse, por exemplo, os tempos de durac~ao de ligac~oes telef^onicas, em segundos, ent~ao teramos ligac~oes com durac~ao entre 1 segundo e 3.2 anos. Se esta distribuic~ao representasse dist^ancia em metros, ent~ao teramos valores entre um metro e cem mil quil^ometros, o que equivale a duas vezes e meia a circunfer^encia do Equador. Estas comparac~oes mostram a extrema variabilidade das observac~oes utilizando as grandezas tempo e dist^ancia.

Conforme dito anteriormente, a distribuic~ao mais utilizada para modelar a variabilidade da WWW e a de Pareto. No entanto, os momentos desta distribuic~ao n~ao s~ao todos nitos. Para melhor representar um conjunto nito de observac~oes, a distribuic~ao de Pareto limitada (Bounded Pareto) (Harchol-Balter et al., 1998) e utilizada. Os valores desta distribuic~ao continuam seguindo uma lei de pot^encia mas t^em um limite superior. A distribuic~ao de Pareto limitada e composta por tr^es par^ametros: o expoente , que

caracteriza a lei de pot^encia, k, a menor observac~ao possvel, e p, a maior observac~ao

possvel. A func~ao de probabilidade de massa para esta distribuic~ao, B(;k;p) e denida

por:

f(x) = k

1?( k p)

x

??1

kxp:

Esta distribuic~ao tem todos os seus momentos nitos. Portanto n~ao e uma distribuic~ao de cauda pesada no sentido denido anteriormente. No entanto, apresenta grande

(21)

bilidade se k p. A distribuic~ao e muito sensvel aos valores assumidos por . Quanto

menores os valores de, maior e a variabilidade. Por exemplo, o segundo momento,E(X 2),

cresce exponencialmente (de 108 para

= 2 para 10

13 para

= 0:2) a medida que

de-cresce (Harchol-Balter et al., 1998). Valores tpicos de medidos na WWW est~ao entre

0.8 e 1.3 (Crovella e Bestavros, 1996) (Crovella et al., 1998b).

2.2 Caches na World Wide Web

2.2.1 A World Wide Web

O conceito fundamental da WWW e o de hipertexto, proposto em 1945 por Vannevar Bush (Bush, 1945). Um hipertexto e composto por unidades basicas denominadas documentos. Cada documento pode permitir o acesso a outros documentos implementando um link

para os documentos referenciados, que e distintamente identicado atraves de uma ^ancora. Documentos podem ser compostos por texto, imagens, audio e vdeo. A facilidade de adi-cionar informac~ao, ligando-a ao hipertexto global da mesma forma que se escreve uma nota marginal num texto em papel, e um atrativo essencial. As conex~oes entre os documentos formam o grande sistema hipermdia global que e a WWW. Os termos \hipertexto" e \hipermdia" foram propostos por Ted Nelson em 1965 (Nelson, 1965).

No entanto, apesar da ideia ser conhecida ja ha algumas decadas, sua implementac~ao e bem recente e deve-se a tr^es tecnologias descritas em (Berners-Leeet al., 1994), a saber:

o sistema de enderecamento, o protocolo de comunicac~ao especco para hipertextos e a linguagem de criac~ao de documentos Web. O sistema de enderecamento, denominado URL (Universal Resource Locators), permite o acesso a objetos em todos os possveis

enderecos de rede que utilizam protocolos que implementam o conceito de objeto. A rede Internet esta organizada por uma hierarquia de protocolos. O protocolo da WWW e o HTTP (HyperText Transfer Protocol) que permite reconhecer e transferir dados na

forma de hipertexto. O protocolo HTTP opera na forma requisic~ao-resposta sobre uma conex~ao TCP/IP e e utilizado para comunicac~ao entre clientes e servidores. FTP, NNTP, Gopher, WAIS e telnet s~ao exemplos de outros protocolos Internet. A WWW encapsula estas aplicac~oes, eliminando a necessidade de um browser para cada tipo de servico. A

linguagem para construc~ao de documentos na forma de hipertexto e denominada HTML (HyperText Markup Language).

A WWW e um sistema distribudo cuja comunicac~ao segue o modelo cliente-servidor e a rede de comunicac~ao e a Internet. Este modelo e apresentado na gura 2.3. A Internet, por sua vez, e composta por um conjunto de redes de computadores que se comunicam e cooperam entre si. As redes que comp~oem a Internet utilizam diversos tipos de tecnologia, protocolos, meios de transmiss~ao e computadores. A WWW e considerada uma aplicac~ao da Internet.

Um cliente Web e um software que permitea requisic~ao de documentos no formato Web, tambem conhecidos como paginas. Cada pagina pode ser composta por varios arquivos contendo texto, imagens, animac~ao, audio, vdeo e codigo executavel. Portanto, um pedido

(22)

cliente

cliente

cliente

Internet

servidor servidor

Figura2.3: A WWW segue o modelo cliente-servidor e a Internet e o meio de comunicac~ao.

do cliente (requisic~ao de uma pagina) pode gerar varios pedidos ao servidor, um para cada arquivo que comp~oe a pagina pedida1. Cada arquivo tem um endereco unico global, o

URL, valido para toda a Internet. As paginas WWW s~ao visualizadas atraves de um software proprio denominado browser. Um usuario da WWW precisa utilizar umbrowser

para requisitar e visualizar paginas. O termo \cliente" pode ser estendido para se referir ao computador no qual o browsere executado, bem como ao usuario que faz uma requisic~ao.

Um servidor Web e um sistema composto por pelo menos um computador, um software especco e a informac~ao a ser servida. Seguindo o modelo cliente-servidor, o cliente sempre inicia uma interac~ao pedindo ao servidor uma pagina. O endereco do servidor (host) bem

como a pagina pedida s~ao especicados no URL. O software servidor ca em execuc~ao contnua, esperando as requisic~oes dos usuarios. Ao receber uma requisic~ao o servidor identica o arquivo requisitado, procura o arquivo no seu espaco de armazenamento e o envia para o browser pela mesma conex~ao. Uma descric~ao das etapas desta interac~ao pode

ser encontrada em (Yeager e McGrath, 1996). O modelo WWW pode ser implementado utilizando uma rede local (LAN) e com acesso restrito a uma comunidade. Este modelo e denominado Intranet.

2.2.2 Funcionamento dos Caches

Os sistemas de cache da WWW t^em o mesmo princpio de funcionamento do cache tradi-cional (Patterson e Hennessy, 1996). Os documentos requisitados s~ao copiados em posic~oes mais proximas do usuario com o intuito de diminuir o tempo do proximo acesso ao docu-mento. Os caches podem ser implementados nos varios componentes do sistema e podem

1Neste trabalho os termos \documento", \objeto" e \arquivo" s~ao usados como sin^onimos e signicam

o conteudo de um URL requisitado, unidade indivisvel tratada pelo HTTP.

(23)

ser classicados de acordo com a sua localizac~ao: cache de cliente, implementado no brow-ser, cache de servidor, implementadono proprio servidor, e cache de rede, implementadoem

pontos estrategicos da rede, entre os demais caches, geralmente em pontos mais proximos dos clientes. O objetivo do cache de rede e atender a um grande conjunto de clientes que utilizam a mesma sada (backbone) para a Internet. A gura 2.4 mostra os tipos de cache

que podem ser encontrados no caminho de uma requisic~ao, do cliente ao servidor.

cache memoria

cache disco

cache memoria

cache disco

cache memoria

disco

cache do cliente cache de rede

Internet Internet

servidor

Figura2.4: Tipos de cache encontrados no caminho de uma requisic~ao.

Os sistemas de cache de cliente e de rede operam como cliente e servidor. O cache recebe requisic~oes de paginas enderecadas a um servidor e verica se uma copia da pagina pedida esta presente em seu espaco de armazenamento. Caso armativo, o cache envia a pagina respondendo o pedido do cliente (como faz um servidor). No entanto, se a pagina n~ao esta presente, o cache atua como cliente, enviando um pedido da pagina ao servidor original. Ao ser atendido, o cache respondera ao cliente servindo a pagina requisitada e guardara uma copia da mesma.

Existem dois tipos de cache de rede: os caches explcitos e os transparentes. A utilizac~ao de caches explcitos requer que obrowserdo cliente seja congurado para redirecionar todas

as requisic~oes HTTP para o cache, ignorando as localizac~oes dadas pelos URLs. Caches explcitos podem ser implementados em qualquer lugar da rede. Localizac~oes tpicas s~ao em servidores proxy localizados na conex~ao de uma empresa com a Internet e em links

de provedores de acesso com a Internet. O cache transparente e utilizado sem nenhuma alterac~ao no cliente. Neste tipo de cache, o roteador e congurado para espiar e redirecionar para o cache todos os pacotes destinados ao porto 80 (trafego HTTP). A localizac~ao dos caches transparentes deve ser cuidadosamente escolhida. Em geral s~ao implementados na conex~ao de varias subredes com umbackboneda Internet.

Os tr^es caches mostrados na gura 2.4 experimentam cargas de trabalho diferentes. O cache de cliente mantem copias do conteudo dos URLs recentemente exibidos pelobrowser.

Sua vantagem e a de praticamente eliminar o tempo de busca do documento. No entanto, serve apenas um ou poucos usuarios e o conteudo frequentemente ca desatualizado antes de ser reutilizado. O cache de servidor, implementado em memoria principal, contem

(24)

documentos armazenados no proprio servidor e que foram requisitados pelo menos uma vez. Neste caso, o conjunto de documentos que pode ser armazenado e limitado pelo conjunto de documentos que o servidor disp~oe, e o conjunto de usuarios deste cache pode se estender ao conjunto de usuarios da WWW. O cache de rede pode armazenar documentos residentes em qualquer servidor Web (o mesmo acontece com o cache de cliente) e pode receber requisic~oes de um numero grande de usuarios, dependendo de sua localizac~ao.

A utilizac~ao de caches e limitada aos documentos estaticos, por exemplo, paginas Web (arquivos com terminac~ao .html, .htm), paginas de texto (.txt, .ps, .pdf), arquivos de imagem (.gif, .jpeg, .ti) e arquivos de audio (.au, .wav) e vdeo (.mpeg, .mp2). Um docu-mento estatico e um docudocu-mento atualizado apenas ocasionalmente. Sua URL determina completamente o que sera exibido. Documentos din^amicos s~ao documentos atualizados a cada requisic~ao, por exemplo, uma consulta a um banco de dados ou uma visualizac~ao de imagem em tempo real. Na pratica s~ao arquivos identicados pelas terminac~oes .pl, .cgi, .count e tambem por URLs contendo os strings \?" ou \cgi-bin" na identicac~ao. Estes documentos geram paginas em func~ao de par^ametros proprios denidos em cada requisic~ao. Por isso as paginas n~ao s~ao armazenadas nos caches. Em passado recente acreditava-se que a maioria dos documentos seria din^amica, o que minimizaria a efetividade dos caches. No entanto, ainda apenas uma frac~ao pequena das requisic~oes corresponde a documentos din^amicos (Manley e Seltzer, 1997), (Abdulla, 1998), (NLANR, 1999).

Um problema gerado pela utilizac~ao de caches e a consist^encia dos documentos copiados no cache em relac~ao ao documento original. O ideal seria que cada documento original servido fosse acompanhado por sua data de expirac~ao. Assim os caches poderiam avaliar a validade do documento e fazer nova requisic~ao ao servidor caso a copia esteja invalida no momento de ser servida. No entanto, a maioria dos servidores n~ao fornece esta informac~ao e o cache atribui a seu criterio um tempo de vida (time to live, TTL) para cada copia recebida. Se o objeto e requisitado antes do TTL expirar, a copia do cache e enviada. Caso contrario uma nova copia e recuperada do servidor. O TTL e xado considerando o compromisso entre a atualizac~ao do documento exigida pelo cache e a carga gerada pelas mensagens de vericac~ao da validade.

O uso de sistemas de cache na Web traz varios benefcios:

Economia no consumo de bandwidth devido a diminuic~ao do trafego na rede: um

documento e enviado uma vez do servidor para o cache e ent~ao requisic~oes sucessivas para este documento s~ao servidas a partir do cache. Um documento encontrado no cache signica que a requisic~ao e a resposta v~ao percorrer o caminho entre o cliente e o cache, isto e, v~ao trafegar em pequenos trechos dosbackbonesda Internet ou podem mesmo n~ao utiliza-los. Assim, estes caches eliminam o trafego redundante na rede. A diminuic~ao do trafego contribui para diminuir a ocorr^encia de congestionamentos na rede.

Diminuic~ao da lat^encia: quando ocorre um hit, os usuarios podem observar uma

reduc~ao no tempo decorrido entre o pedido da pagina e a exibic~ao da resposta. Esta reduc~ao ocorre porque o documento esta no cache e, portanto, esta em um caminho

(25)

intermediario entre o cliente e o servidor, resultando em uma resposta mais rapida. Mesmo em caso de miss, o usuario pode ser beneciado pela utilizac~ao generalizada de caches porque seu pedido percorrera uma rede menos congestionada e podera encontrar um servidor menos sobrecarregado, o que contribuira para que a resposta seja mais rapida. Isto mostra que os benefcios tem efeitos interligados.

Reduc~ao na carga dos servidores: cada hit signica uma requisic~ao que deixa de ser

enviada a um servidor. Isto benecia o desempenho dos proprios servidores com a reduc~ao da carga, especialmente com a reduc~ao nos picos de demanda. Com a utilizac~ao de caches de rede, as requisic~oes do usuario podem ser respondidas local-mente.

Aumento da disponibilidade do documento: se o servidor fonte do documento esta

indisponvel ou se ha algum problema na rede que impede a conex~ao entre cliente e servidor, o cliente pode acessar a copia no cache mesmo se esta n~ao esta atualizada. Em geral podemos assumir que uma copia desatualizada e melhor do que nenhuma copia.

Tr^es desvantagens s~ao apontadas na utilizac~ao de caches: o cliente pode receber um documento desatualizado; o servidor fonte recebe menos hits e ca impossibilitado de ter uma estimativa real do numero de acessos as suas paginas; o cache de rede pode se tornar um ponto de estrangulamento, com consequente degradac~ao no desempenho.

2.2.3 Medidas de Desempenho

Apesar da semelhanca funcional, os sistemas de cache tradicional e de cache na Web apre-sentam diferencas importantes. Nos esquemas tradicionais de cache os dados s~ao movidos em blocos do mesmo tamanho. Portanto, o numero de bytes encontrados no cache em relac~ao ao numero de bytes requisitados e exatamente a frac~ao de hits. O mesmo n~ao ocorre nos caches da Web porque os documentos s~ao transmitidos e armazenados na sua forma integral; n~ao ha o conceito de bloco. Como consequ^encia, precisamos trabalhar com duas metricas para medir o desempenho dos sistemas de cache na Web: a frac~ao das re-quisic~oes atendidas pelo cache, (Hit Ratio, HR) e a frac~ao dos bytes requisitados que e atendida pelo cache, (Byte Hit Ratio, BHR). Formalmente,

HR= numero de requisic~oes atendidas pelo cache

numero de requisic~oes feitas ao cache e

BHR = numero de bytes atendidos pelo cache

numero de bytes requisitados ao cache:

A otimizac~ao de cada metrica, separadamente, atende a primeira vista a interesses diferentes. Usuarios Web querem ter respostas rapidas as suas requisic~oes, por isso s~ao atrados por uma elevada frac~ao dehits. Administradores de servidores Web, provedores de acesso e empresas mantenedoras dos backbones da Internet querem economia na utilizac~ao

(26)

da rede, portanto est~ao interessados em aumentar a taxa de acertos por byte, reduzindo o volume de trafego na rede. No entanto, a otimizac~ao das duas metricas e interessante para ambos pois a reduc~ao do numero de requisic~oes aos servidores (maior HR) tambem reduz o volume do trafego alem de diminuir a carga no servidor destino da conex~ao. Por outro lado, o descongestionamento da rede (maior BHR) inuencia fortemente o tempo de resposta, uma vez que as requisic~oes n~ao presentes nos caches poder~ao ser respondidas mais rapidamente do que quando ha sobrecarga na rede. Portanto, o aumento de ambas as metricas, HR e BHR, ajuda a conter o trafego na rede, evitando gasto desnecessario de recursos (bandwidth), alem de otimizar o tempo de resposta.

Alguns fatores contribuem para o aumento de ambos, HR e BHR, incluindo o tamanho do cache, a habilidade da poltica de substituic~ao em manter no cache os objetos que ser~ao requisitados ou mesmo uma carga particular. No entanto, a maximizac~ao simult^anea das duas frac~oes, HR e BHR, so e possvel em caches innitos, isto e, caches com espaco suciente para armazenar o conteudo de todos os URLs pedidos. Quando o espaco e limitado, revela-se um compromisso entre as duas metricas decorrente da associac~ao entre a caracterstica de grande variabilidade nos tamanhos dos documentos e a frequ^encia de acesso aos documentos, tambem conhecida como popularidade. Alguns estudos (Almeida

et al., 1996b), (Cunhaet al., 1995), (Rizzo e Vicisano, 1998) mostram que a popularidade e inversamente correlacionada com o tamanho. Em outras palavras, os documentos menores s~ao os mais requisitados. Para otimizar HR, por exemplo, basta armazenar os arquivos menores, que s~ao os mais populares. Alem disto, o armazenamento preferencial de arquivos pequenos permite manter um numero maior de arquivos no cache. Os arquivos pequenos s~ao responsaveis por um numero grande de hits mas constituem uma frac~ao pequena dos bytes servidos. Por isso, a otimizac~ao do HR implicanum aumento do numero demissespor byte pedido. Por outro lado, os arquivos maiores s~ao responsaveis por um numero pequeno dehits que constituem uma grande frac~ao dos bytes requisitados. O aumento do BHR pode levar a uma diminuic~ao do HR porque implica no armazenamento de documentos maiores, que podem ocupar o lugar de varios documentos pequenos, porem mais populares.

A tabela 2.2 mostra dados que revelam a regra 80/20, nome dado em refer^encia a se-guinte proporc~ao encontrada nas requisic~oes WWW: 80% das requisic~oes corresponde a aproximadamente 20% dos bytes requisitados e vice-versa, isto e, 80% dos bytes requi-sitados corresponde a aproximadamente 20% das requisic~oes. Esta tabela foi construda da seguinte forma. Os arquivos transmitidos em resposta as requisic~oes s~ao ordenados por ordem crescente de tamanho. Esta sequ^encia ordenada e dividida em tr^es grupos: o primeiro grupo e composto por 80% das requisic~oes, que corresponde a primeira parte da sequ^encia, a parte que contem as menores respostas. O segundo grupo e composto pelos 10% seguintes, que cont^em respostas de tamanho medio. O terceiro grupo e composto pelos 10% restantes, que cont^em as maiores respostas. Vericou-se que o primeiro grupo, que contem 80% das requisic~oes, responde por aproximadamente 20% dos bytes transmi-tidos. A parcela de 80% dos bytes transmitidos esta distribda nos dois grupos restantes, compostos por apenas 20% das requisic~oes. As cargas referidas nesta tabela s~ao descritas no captulo 3.

(27)

carga 80% 10% 10%

BL 21 11 68

BR 20 17 63

POP98 22 15 63

U 20 9 71

Tab ela2.2: Regra 80/20: 80% das requisic~oes corresponde a aproximadamente 20% dos bytes requisitados

(coluna 2) e apenas 10% dos arquivos s~ao responsaveis por mais de 60% dos bytes requisitados.

mais comum (Patterson e Hennessy, 1996). No entanto, o cenario apresentado mostra dois casos comuns, numero de hits e numero de hits por byte, cuja otimizac~ao e contraditoria, isto e, a utilizac~ao de tecnicas para otimizar uma metrica n~ao garante o melhoramento do sistema em relac~ao a outra metrica e, pelo contrario, pode-se observar uma deteriorac~ao (Arlitt e Williamson, 1996).

Tempo de resposta e tambem uma metrica importante do desempenho dos caches. O tempo de resposta e dado por

Tempo de resposta = tempo de hit + (1?HR)tempo de miss

e sofre inu^encia da variabilidade nos tamanhos das requisic~oes. No caso do cache tradi-cional, a inu^encia do tamanho no tempo de miss2, isto e, o tempo para buscar um bloco

ou documento no proximo nvel, e constante (ja que os blocos t^em o mesmo tamanho) e o tempo de acesso, medido em ciclos de clock, pode ser conhecido com precis~ao3. No

ambiente Web, onde as escalas de tempo s~ao muito maiores, o tempo de misse func~ao do tamanho da requisic~ao, do bandwidth entre o cliente e o servidor e das condic~oes de carga na rede e no servidor no momento da busca. Como ja foi mencionado, o tamanho do do-cumento requisitado e os tempos de transmiss~ao dos dodo-cumentos seguem uma distribuic~ao de cauda pesada.

Do ponto de vista do usuario, a melhor medida de desempenho e tempo de resposta. HR e BHR s~ao medidas indiretas de desempenho. No entanto, o tempo de resposta e completamente dependente do ambiente de execuc~ao, da localizac~ao relativa entre cliente e servidor, da carga na rede e no servidor no momento da requisic~ao. Como consequ^encia, valores de tempos de resposta medidos representam o desempenho apenas do ambiente do experimento, com poucas possibilidades de generalizac~ao.

2.2.4 Algoritmos para Ger^encia de Espaco

O sucesso dos sistemas de cache esta no fato de que a distribuic~ao dos acessos aos arquivos e de tal maneira tendenciosa que a maioria das requisic~oes e feita para um subconjunto pequeno do conjunto de documentos. Portanto, o cache deve armazenar este pequeno conjunto, conhecido comoworking set(Denning e Schwartz, 1972) ou localidade (Madison

2Denominadomiss penaltyno contexto de cache de memoria

3Por exemplo, ver tabela 5.37 em (Patterson e Hennessy, 1996)

(28)

e Batson, 1976), e ignorar os demais documentos. Diz-se que a carga de um cache tem \boa localidade de refer^encia" se ela referencia pequenos subconjuntos do seu conjunto de documentos distintos por longos perodos de tempo. Esta caracterstica dos acessos e responsavel pela viabilidade dos caches em sistemas de computadores.

A ger^encia de espaco de caches trata de duas quest~oes: a organizac~ao do espaco dis-ponvel e a poltica de substituic~ao (ou reposic~ao), que dene quais arquivos devem ser retirados para que um seja armazenado. Atualmente s~ao conhecidas duas abordagens para gerenciamento de Web-caches. A primeira consiste em ter grandes quantidades de disco, de forma que praticamente nenhum documento precise ser retirado (Inktomi, 1998), (Infoli-bria, 1998), (Cao, 1997). Pesquisadores desta corrente armam que pode-se ter espaco em disco suciente para armazenar toda a WWW. Como lembrou Peter Denning em (Den-ning, 1997), e a historia se repete com a WWW, de tempos em tempos varias pessoas argumentam que a tecnologia de memoria permitira ter toda a memoria desejada no nvel inferior (disco local, no caso da WWW) para armazenar tudo que esta no nvel superior (disco remoto acessado via Internet). No entanto, as previs~oes nunca se conrmaram e ha pouca raz~ao para acreditar que elas se conrmem dessa vez.

No caso da WWW em particular, a ideia de armazenar em caches de rede todos os documentos acessados n~ao e razoavel, mesmo que se disponha de espaco suciente para armazenar toda a WWW, uma vez que o numero de arquivos acessados cresce com o tempo e com o aumento do numero de clientes. Alem disto, a frac~ao de arquivos uteis para o cache, isto e, que ser~ao acessados mais de uma vez, e pequena em relac~ao ao total de documentos acessados. Ent~ao uma grande parte do espaco do cache seria dedicada ao armazenamento de arquivos invalidos (removidos ou atualizados na fonte), ou arquivos que n~ao seriam requisitados novamente no futuro. Portanto, para evitar desperdcio de recursos, e necessario adotar uma poltica de remoc~ao de arquivos. Esta e a segunda abordagem, que e a adotada neste trabalho, encontrar o melhor desempenho com o menor custo possvel.

O objetivo da poltica de reposic~ao e eliminar do cache objetos que n~ao ser~ao requisi-tados no futuro ou que ser~ao requisirequisi-tados no futuro mais distante, mantendo no cache os objetos que ser~ao requisitados em futuro proximo. A poltica de substituic~ao mais conhe-cida e a LRU (Least Recently Used). Esta poltica privilegia as refer^encias mais recentes, protegendo-as da substituic~ao. Assim, ela explora o princpio da localidade temporal que diz que documentos recentementeacessados tem maior probabilidade de serem requisitados em futuro proximo. A localidade temporal foi observada em sequ^encias de acesso a codigo e dados de programas. Neste ambiente de cache tradicional a reposic~ao de blocos ca a cargo do algoritmo LRU por ser baseado no princpio da localidade (Patterson e Hennessy, 1996), (Tanenbaum, 1992).

Os algoritmos de reposic~ao de documentos nos caches da Web procuram levar em consi-derac~ao os par^ametros da carga que afetam o desempenho. Os par^ametros mais comumente reconhecidos s~ao o tamanho dos documentos, a frequ^encia de acesso, a recentidade dos aces-sos aos documentos e o tempo para buscar um documento em caso demiss. A identicac~ao destes par^ametros indica que a ger^encia de espaco nos caches da Web e um problema mais

(29)

complexo do que a ger^encia de espaco em caches de memoria.

Associada a poltica de substituic~ao podemos ter uma poltica de controle de admiss~ao para denir se um documento requisitado n~ao presente no cache vai ser armazenado. Na maioria dos casos, os caches armazenam todos os documentos que buscam. A restric~ao mais comum e em relac~ao ao tamanho do documento. Um limite superior e estabelecido e documentos cujos tamanhos est~ao acima deste limite n~ao s~ao armazenados (Arlitt e Wil-liamson, 1996), (Markatos, 1996). Uma poltica de controle de admiss~ao mais elaborada e adotada no algoritmo PSS (Aggarwal et al., 1996). Neste caso, um objeto acessado pela

primeira vez so vai para o cache se houver espaco. Caso contrario, a informac~ao sobre o ob-jeto e armazenada num cache auxiliar que contem apenas os dados dos documentos (URL, numero de acessos, etc.) mas n~ao contem o proprio documento. Quando o documento e acessado pela segunda vez torna-se candidato a ir para o cache. A frequ^encia din^amica do documento, denida como o numero de acessos ao cache entre dois acessos consecutivos ao mesmo documento, e comparada com as frequ^encias din^amicas dos documentos candidatos a sair do cache. E feita a escolha que preserva a maior soma das frequ^encias din^amicas no cache.

As polticas de reposic~ao de caches na WWW podem ser classicadas de acordo com os par^ametros citados: baseadas em recentidade, baseadas em frequ^encia, baseadas em tamanho, baseadas em tempo e as hbridas. Os algoritmos mais conhecidos para cache na Web incluem o LRU, que retira os documentos menos recentemente utilizados, LFU (Least Frequently Used), que retira os documentos utilizados com menor frequ^encia, e

SIZE (Williamset al., 1996), que retira o maior documento.

Cada um destes tr^es considera apenas um dos par^ametros citados acima e, portanto, falha em certas situac~oes. LRU e LFU, por exemplo, podem perder varios documentos ante a chegada de documentos grandes no cache embora ambos sejam robustos a alterac~oes na correlac~ao entre popularidade e tamanho. LRU permite que o cache seja inundado por do-cumentos referenciados apenas uma vez (a maioria dos dodo-cumentos), retirando dodo-cumentos com maior frequ^encia de acesso. LFU ignora a recentidade dos acessos e pode, portanto, re-tirar documentos recem-acessados que ser~ao muito requisitados no futuro. Por outro lado, LFU preserva documentos mais referenciados, o quee uma vantagem, porem pode preservar eternamente documentos muito referenciados no passado e que n~ao ser~ao mais referenci-ados no futuro. Por exemplo, documentos relativos a descobertas cientcas, sucessos ou esc^andalos de interesse mundial, que experimentam picos de acesso num curto perodo de tempo, poderiam acumular um numero grande de acessos impedindo sua retirada do cache mesmo quando a recentidade dos acessos n~ao justique mais seu armazenamento. SIZE tem a vantagem de reter os documentos menores, responsaveis pelo maior numero dehits,

mas e mais sensvel a variac~oes na relac~ao entre tamanho e popularidade, alem de reter documentos pequenos que podem n~ao ser mais referenciados. A preservac~ao por tempo indenido de documentos no cache pelas polticas de par^ametro unico (exceto LRU) causa um efeito equivalente a diminuic~ao do tamanho do cache, fen^omeno denominado \poluic~ao do cache".

Variac~oes de LRU foram propostas. LRU-MIN (Williamset al., 1996) verica o

(30)

igual. Caso existam documentos que atendem a este requisito, o algoritmo LRU e aplicado a este subconjunto. Caso contrario, todos os documentos cujos tamanhos sejam maiores ou iguais a metade do tamanho do documento a ser armazenado s~ao includos no subcon-junto. A operac~ao e repetida ate que o espaco necessario seja liberado. SLRU (Segmented LRU) (Karedla et al., 1994) divide o cache em dois segmentos e implementa duas listas LRU, uma protegida, para documentos com mais de um acesso, e outra para documentos com apenas um acesso. Portanto considera frequ^encia e recentidade. LRU-k (Robinson e

Devarakonda, 1990) retem informac~ao sobre as ultimask refer^encias de um objeto durante

um tempo determinado mesmo para objetos removidos do cache. Considera frequ^encia e recentidade. LRU-threshold e LRU-adaptive (Markatos, 1996) s~ao variac~oes de LRU nas quais ha um limite para o tamanho de documento que pode ser armazenado. Na primeira vers~ao este limite e xo e na segunda e alterado dinamicamente. Na vers~ao din^amica, a variac~ao correspondente de desempenho indica alterac~oes posteriores. A denic~ao de um limite para o tamanho do documento que pode ser armazenado e uma forma de controle de admiss~ao e pode ser utilizada em qualquer poltica. O estabelecimento de um limite de tamanho para armazenamento inferior ao tamanho maximo dos documentos requisita-dos equivale a um corte na cauda da distribuic~ao requisita-dos tamanhos cujo efeito e um possvel aumento em HR acompanhado de uma diminuic~ao do BHR.

As principais variac~oes de LFU s~ao implementac~oes de mecanismos de contagem de tempo para \envelhecer" as refer^encias. LFU-aging e LFU-DA (Dynamic Aging) (Arlitt

et al., 1999) s~ao alguns exemplos. Alguns trabalhos (Bolot e Hoschka, 1996), (Bolot et al., 1997) defendem o uso do tempo de miss como criterio para armazenar e retirar docu-mentos do cache. Maiores tempos justicariam a preservac~ao do documento no cache. No entanto, ha pelo menos duas objec~oes a esta considerac~ao. Em primeiro lugar, a retirada de documentos com menor tempo de busca poderia prejudicar os servidores mais rapidos, e favorecer os mais lentos. Seria uma medida tendenciosa e parcial. Em segundo lugar, ha muita imprecis~ao associada ao tempo de busca de um documento. Foi observado para varios servidores que seus tempos de resposta variavam de acordo com o horario do dia (Wagner, 1996). Segundo medic~oes apresentadas em (Cao e Irani, 1997) a lat^encia de um mesmo documento varia consideravelmente, com vari^ancia entre 5% e 500% com media 71%. Essa variabilidade no tempo de busca introduz erros e reduz a efetividade dos al-goritmos que utilizam esta medida como par^ametro. Por exemplo, (Wooster e Abrams, 1997) prop^os um algoritmo que remove documentos com a menor lat^encia. No entanto, o mesmo trabalho mostra que este n~ao e um bom criterio. Em sistemas com grande variabili-dade, onde picos numa medida impactam negativamente o desempenho, considerar apenas a media para representar os dados pode levar a conclus~oes err^oneas. Portanto, a utilizac~ao destes tempos deve ser feita por meio de valores medios acompanhados por medidas de dispers~ao dos dados. Isto pode dicultar sua utilizac~ao.

O mesmo trabalho (Wooster e Abrams, 1997) prop~oe um algoritmo hbrido HYB que calcula, para cada documento, seu valor para o cache. Este calculo e feito por uma func~ao que combina os par^ametros tempo de conex~ao ao servidor do documento, bandwidth da conex~ao, a frequ^encia e o tamanho do documento. Documentos com menor valor s~ao descartados. O algoritmo apresentou bom desempenho em HR e tempo de resposta frente

(31)

a LRU, LFU e SIZE. Suas desvantagens s~ao a necessidade de armazenar mais informac~oes para cada documento e a necessidade de ajustes cuidadosos das constantes utilizadas na func~ao. Na mesma linha esta o MIX (Niclausse et al., 1998) que utiliza os par^ametros lat^encia, numero de refer^encias, tamanho e tempo decorrido desde a ultima refer^encia.

Varios outros trabalhos prop~oem algoritmos hbridos. Em (Rizzo e Vicisano, 1998), os autores prop~oem o LRV (Lowest Relative Value), baseado na recentidade, tamanho e frequ^encia do documento. Os autores encontram func~oes matematicas que s~ao apro-ximac~oes da distribuic~ao dos tempos entre acessos a um mesmo documento e da probabili-dade de mais acessos dado que o documento foi acessado previamentei vezes. Estas func~oes s~ao baseadas em uma extensa caracterizac~ao de duas cargas de caches de rede. O cache acumula, em tempo de execuc~ao, estatsticas de cada documento requisitado, atualizadas a cada acesso. Com base nas func~oes e nos valores das estatsticas, a probabilidade Pr de um documento ser acessado no futuro e calculada. Pr e diferente para cada documento e e dependente do tempo. Documentos com o menor Pr s~ao descartados. O metodo e de-pendente da func~ao de aproximac~ao da distribuic~ao dos tempos entre acessos a um mesmo documento que, por sua vez, e baseada nas cargas estudadas. A implementac~ao e cara. A func~ao de aproximac~ao utiliza as func~oes logartmica e exponencial e constantes empi-ricamente escolhidas e e calculada frequentemente para todos os documentos presentes no cache. A principal desvantagem do LRV, alem de seu custo proibitivo para implementac~ao, e sua grande parametrizac~ao com base em apenas duas cargas, o que deixa duvidas sobre o bom desempenho deste algoritmo com cargas diferentes.

GreedyDual-Size (Cao e Irani, 1997), abreviado por GD-Size, e tambem um algoritmo

hbrido que considera recentidade dos acessos, tamanho e custo de busca de um documento. Os autores mostram que considerar a lat^encia n~ao leva a bons resultados devido a grande variabilidade da lat^encia de busca de um mesmo documento, o que conrma resultados anteriores. O algoritmo ordena os documentos de acordo com um valor H denido por H = custo=tamanho. Documentos com o menor valor H s~ao candidatos a sair do cache. A recentidade e considerada da seguinte forma. A cada acesso, o valor deH do documento e calculado e acumulado ao valor residual anterior. Portanto, quanto mais recente o acesso ao documento, maior o seu H e menor sua probabilidade de ser retirado do cache.

A denic~ao de custo do GD-Size depende do objetivo do algoritmo. Varias opc~oes s~ao analisadas porem o melhor desempenho em HR e obtido com custo e igual a 1, GD-Size(1). Uma variac~ao considera o numero de pacotes gerados para a transmiss~ao do documento, GD-Size(pacotes), ondepacotes = 2+tamanho=5364. GD-Size(pacotes), apresenta melhor

desempenho em BHR do que GD-Size(1). Cada opc~ao oferecida e projetada para otimizar apenas uma metrica.

Outra poltica hbrida, PSS (Pyramidal Selection Scheme) (Aggarwal et al., 1996), considera o tamanho do documento e a recentidade do ultimo acesso de cada documento armazenado no cache. PSS implementa controle de admiss~ao utilizando um cache auxiliar que contem apenas informac~oes sobre os documentos. A frequ^encia din^amica de um objeto

4O calculo considera 2 pacotes para estabelecer a conex~ao mais o numero de pacotes necessarios de

acordo com o tamanho do documento, considerando que um segmento TCP transmite 536 bytes de dados

Imagem

Figura 2.1: Func~ao cumulativa para as distribuic~oes exponencial e de Pareto.
Figura 2.2: Visualizac~ao da cauda para as distribuic~oes exponencial e Pareto.
Figura 2.3: A WWW segue o modelo cliente-servidor e a Internet e o meio de comunicac~ao.
Figura 2.4: Tipos de cache encontrados no caminho de uma requisic~ao.
+7

Referências

Documentos relacionados

• The definition of the concept of the project’s area of indirect influence should consider the area affected by changes in economic, social and environmental dynamics induced

a) AHP Priority Calculator: disponível de forma gratuita na web no endereço https://bpmsg.com/ahp/ahp-calc.php. Será utilizado para os cálculos do método AHP

Objetivo: Garantir estimativas mais realistas e precisas para o projeto, ao considerar nesta estimativa o esforço necessário (em horas ou percentual do projeto) para

De acordo com os entrevistados, existem alguns pontos que devem ser trabalhados para garantir que esta proposta de valor seja percebida pelo cliente: (i) melhorar o desempenho

Avaliação do impacto do processo de envelhecimento sobre a capacidade funcional de adultos mais velhos fisicamente ativos.. ConScientiae

São considerados custos e despesas ambientais, o valor dos insumos, mão- de-obra, amortização de equipamentos e instalações necessários ao processo de preservação, proteção

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

45 Figure 18 - Study of the extract concentration in the phycobiliproteins extraction and purification using the mixture point composed of 10 wt% Tergitol 15-S-7 + 0.3