BOURNEMOUTH BOYUN AĞRISI ANKETİ
6. SONUÇ ve ÖNERİLER
4.1 Introduc~ao
Sistemas de cache s~ao amplamente utilizados na WWW atual. Como vimos no captulo 2, prover bons resultados em HR e BHR s~ao objetivos desejados porem contraditorios em sua implementac~ao, devido ao perl da carga WWW. Os valores de HR e BHR obtidos pelos caches da Web s~ao resultados das escolhas feitas pelas polticas de reposic~ao, que denem uma unica regra para classicar todos os arquivos e decidir quais ser~ao descartados.
A caracterizac~ao por classes baseadas em tamanho, apresentada no captulo 3, mostrou enormes diferencas entre as classes em termos de numero de requisic~oes, numero de bytes requisitados, concentrac~ao e localidade de refer^encias. Considerando esta diversidade na carga, dicilmente o estabelecimento de uma unica regra e suciente para (i) alcancar
objetivos contraditorios e (ii) tratar a diversidade e a variabilidade, observados na carac-
terizac~ao das cargas, tendo em vista a preservac~ao da localidade. Em resumo, uma regra unica n~ao e suciente para atender a objetivos divergentes. Portanto, um modelo con- guravel seria vantajoso pois permitiria aos administradores de cache adequarem o sistema as suas necessidades. Esta e a motivac~ao para a investigac~ao de alternativas.
Este captulo apresenta o modelo PART, que e um modelo desenvolvido para organizar o espaco de sistemas de cache cujos arquivos apresentem grande variabilidade nos seus tamanhos. O modelo PART e denido e seus objetivos s~ao discutidos. O espaco de soluc~oes que o PART disp~oe e revelado atraves de um modelo de otimizac~ao. Este modelo quantica o impacto da variabilidade do tamanho dos arquivos no desempenho de sistemas de cache. Finalmente, o desempenho do modelo e discutido e s~ao indicadas diretrizes para escolha dos seus par^ametros.
Este captulo apresenta tambem a relac~ao matematica entre as metricas HR e BHR. Atraves desta relac~ao podemos fazer gracos denominados \mapas de desempenho" do cache que mostram em um unico graco o desempenho em termos de HR e BHR. Os mapas de desempenho podem ser utilizados para comparar modelos de ger^encia de espaco com
caches particionados e n~ao particionados e para orientar a busca por melhor desempenho nas metricas HR e BHR.
4.2 Denic~ao de Cache Particionado
Esta e uma proposta de organizac~ao do espaco disponvel no cache considerando a grande variabilidade no tamanho dos objetos candidatos ao armazenamento. A proposta e dividir o espaco do cache em partic~oes. Cada partic~ao e dedicada ao armazenamento de documentos cujos tamanhos pertencema um intervalo. Cada intervalo dene uma classe de documentos. As classes s~ao em numero igual ao numero de partic~oes e cobrem todos os tamanhos possveis de documentos sem sobreposic~ao.
Formalmente, seja um cache de tamanho T dividido em n partic~oes de tamanhos T i,
1 i n, n~ao necessariamente iguais, P
i=n i=1
T i =
T. Seja I o intervalo dos tamanhos
possveis de documentos e t j, 0
j < n, n tamanhos (numeros inteiros) denidos neste
intervalo tal que t j
< t
j+1 para todo 0
j < n ?1. Alem disso, t
0 = 1. Ent~ao cada
partic~aoi, 1i<n, recebe documentos de tamanhot
d tal que t j?1 t d <t j, e a partic~ao n recebe documentos de tamanho t
d t
n?1. As classes s~ao delimitadas pelos valores t
j,
conforme mostra a gura 4.1.
Substituic~oes de documentos s~ao feitas apenas entre documentos de uma mesma classe. Este modelo n~ao permite nem a retirada de um documento pequeno para a inserc~ao de um documento grande nem a retirada de um documento grande para a inserc~ao de um documento pequeno. Em resumo, n~ao e possvel fazer substituic~ao entre documentos de tamanhos extremos. n-1 ... 1 2 ... n 1 0 2
classe 1 classe 2 classe n
Cache Particionado
I
t t t t
Figura4.1: Partic~ao do cache e classicac~ao dos documentos
A proposta apresentada coloca a quest~ao da ger^encia do espaco dos caches em um novo patamar de discuss~ao. Ate agora o espaco do cache foi considerado unico para todos os documentos, isto e, os documentos concorriam pelo mesmo espaco independente do seu tamanho. A utilizac~ao do espaco era denida pela poltica de reposic~ao. A proposta de dividir o espaco em partic~oes que armazenem classes de documentos de tamanho similar
desdobra a ger^encia de espaco de caches em dois campos: a organizac~ao do espaco e a poltica de substituic~ao.
4.3 Justicativa para o Modelo PART
4.3.1 Por que particionar por tamanho?
Vamos denir o \estado do cache" como sendo o conjunto de documentos presentes no cache mais a lista ordenada destes documentos. A regra para ordenac~ao e dada pela poltica de reposic~ao. Por exemplo, a poltica LRU gera uma lista LRU. A poltica LFU gera uma lista (ou umheap) cuja chave de ordenac~ao e o numero de acessos a cada objeto. A lista e atualizada a cada requisic~ao. A atualizac~ao consiste na reordenac~ao da lista em caso dehit
ou na inserc~ao com possibilidade de retirada em caso de miss. Nos sistemas tradicionais, o estado do cache e alterado a uma taxa de apenas uma modicac~ao por requisic~ao feita ao cache. Cada inserc~ao envolve no maximo uma retirada. Portanto o estado do cache muda lentamente, e quase estacionario, e a correlac~ao entre o estado do cache no passado imediato e no futuro imediato e alta.
A forma de implementac~ao da reposic~ao nos caches da Web permite a ocorr^encia de uma alterac~ao signicativa no estado do cache, que chamaremos decache disruption, como resultado de uma unica inserc~ao. Esta alterac~ao acontece quando a chegada de um docu- mento grande implica na retirada de centenas ou milhares de documentos menores. Diante desta chegada, o estado do cache e consideravelmente alterado. O conjunto de objetos e a lista s~ao diminudos de centenas ou milhares de documentos em uma unica operac~ao cujo objetivo e abrir espaco para o objeto grande. Esta alterac~ao ocorre devido a variabilidade nos tamanhos dos documentos e ao fato de que, nestas polticas, n~ao ha nenhuma relac~ao entre o tamanho dos documentos que s~ao armazenados e o tamanho dos documentos que s~ao retirados do cache. Num regime estavel, o cache forma seu working set e as mudancas devem ser gradativas e lentas, com a menor alterac~ao possvel. A retirada em massa de documentos devido a uma unica requisic~ao e prejudicial a preservac~ao do estado do cache e a efetividade das polticas.
E importante considerar tambem a frequ^encia de ocorr^encia de documentos grandes, que pode gerar um evento de cache disruption. Considerando a distribuic~ao de Pareto com = 1:3 e media igual a 13 Kbytes para representar a cauda da distribuic~ao dos
tamanhos dos documentos, temos que 0.05% dos arquivos ter~ao tamanho igual ou maior do que 106. Se um sistema de cache atende a 200 requisic~oes por segundo ent~ao a cada
cinco segundos havera uma requisic~ao para um arquivo grande. Admitindo uma frac~ao de
hitsde 50% para esta faixa de tamanhos, teremos um evento decache disruptiona cada dez segundos. Apenas para comparac~ao, numa distribuic~ao exponencial com a mesma media a probabilidade de ocorrer uma observac~ao de valor igual ou maior do que 106 e 10?33.
O particionamento por tamanho, proposto pelo PART, elimina a possibilidade de troca entre documentos de tamanhos extremos. Isto evita duas situac~oes indesejadas: o cache disruption e a retirada de um documento muito grande (por ser o primeiro na lista de
substituic~oes) diante da chegada de um documento pequeno, liberando espaco maior do que o necessario.
Com o particionamento o estado do cache passa a ser constitudo por diversas listas de objetos, uma para cada partic~ao. No cache particionado n~ao ha um numero grande de objetos envolvidos nas substituic~oes. N~ao ha alterac~ao abrupta no estado do cache. A transic~ao lenta entre os estados do cache e fator importante para a maximizac~ao do desempenho da poltica.
Alem disso, para o cache, o tamanho e uma caracterstica intrseca do documento. Se ha uma mudanca no tamanho de um documento isto signica que o mesmo foi alterado e deve ser novamente requisitado ao servidor. O cache faz esta vericac~ao de consist^encia e considera o documento desatualizado caso haja alterac~ao de tamanho. O mesmo n~ao acontece com outras caractersticas do documento como frequ^encia, por exemplo.
4.3.2 Objetivos do PART
Nas implementac~oes dos caches da WWW atual, n~ao ha nenhuma poltica que tenha como objetivo obter bom desempenho nas duas metricas, HR e BHR. Tambem n~ao ha, nas polticas conhecidas, variaveis que permitam ajustar o algoritmo para obter melhor desem- penho em termos de HR e BHR em func~ao de mudancas na carga ou das necessidades de usuarios e administradores. A pratica usual e estabelecer um limite superior de tamanho para os arquivos que podem ser armazenados no cache. Esta estrategia gera um aumento no HR e uma diminuic~ao no BHR. Para uma mudanca signicativa de desempenho a opc~ao e a troca da poltica de substituic~ao. O modelo PART vem preencher uma lacuna na ger^encia de espaco dos caches da WWW que e exatamente a possibilidade de congu- rar o sistema para obter bom desempenho individual em HR ou BHR ou encontrar um ponto de equilbrio no desempenho de ambas as metricas, sem precisar trocar de poltica de reposic~ao a cada ajuste.
O PART divide o espaco de soluc~oes (as possveis escolhas de objetos das polticas de reposic~ao) em grupos com potenciais diferentes para otimizar HR e BHR permitindo a explorac~ao das potencialidades dos grupos. Com a utilizac~ao do PART e possvel fazer ajustes nos para encontrar o limite de desempenho em termos de uma das metricas ou encontrar uma soluc~ao de compromisso que pode ser individual para cada cache, privile- giando o HR ou o BHR. O PART fornece a exibilidade necessaria a experimentac~ao e adequac~ao do cache a sua carga de trabalho, tornando-o com isso mais efetivo.
4.4 Caractersticas do Modelo PART
O particionamento do cache apresenta varias caractersticas que s~ao discutidas a seguir. O PART reaproxima o problema de cache na WWW do problema de cache tradicional porque elimina a variabilidade extrema dos tamanhos nas substituic~oes, permitindo apenas trocas entre objetos de tamanho similar.