• Sonuç bulunamadı

O PART determina que o recurso espaco em disco deve ser dividido entre as classes em vez de ser compartilhado. Esta estrategia permite que seja aplicada a cada classe uma poltica de reposic~ao que procure otimizar o desempenho de uma das metricas, HR ou BHR. Com isso e obtido um compromisso de desempenho do sistema de cache em relac~ao a ambas as metricas.

No caso de sistemas de cache onde todos os objetos t^em tamanhos iguais o particio- namento n~ao se justi ca pois o HR e exatamente igual ao BHR. Quando os objetos t^em tamanhos diferentes, manter bom desempenho em termos de HR e BHR torna-se uma tarefa difcil pois as metricas s~ao contraditorias. Isto ja foi observado na literatura (Arlitt e Williamson, 1996). Quando a popularidade e inversamente correlacionada com o tama- nho, como e o caso da WWW, esta di culdade e enfatizada. A estrategia para aumentar HR, que e manter o maior numero de documentos no cache, e contraria a estrategia para aumentar o BHR, que e manter os maiores documentos no cache.

Para provar este comportamento vamos analisar o problema das escolhas dos objetos em um cache sob a otica de um problema de otimizac~ao, o problema da mochila. Vamos tambem rede nir as metricas HR e BHR (rede nic~ao valida apenas para esta sec~ao). As metricas ser~ao baseadas no numero de refer^encias feitas a cada documento. Embora esta seja uma simpli cac~ao de um cache real, ela serve aos nossos propositos. O objetivo e mostrar que as metricas HR e BHR s~ao contraditorias, isto e, as escolhas feitas para otimizar uma delas n~ao implicam necessariamente na otimizac~ao da outra.

Suponha um conjunto den arquivos, cada um com tamanhos

i e numero de refer^encias r

i correspondente,

i = 1;:::;n. O problema consiste em determinar quais arquivos devem

ser escolhidos para compor o cache quando o objetivo e maximizar independentemente HR e BHR. Este e o problema da mochila 0-1 (Pisinger, 1995), a saber, o problema de escolher um subconjunto den itens que maximize o ganho sem que o tamanho do conjunto exceda

uma capacidade c pre-determinada. A substituic~ao de objetos n~ao e considerada. Este

problema pode ser formulado como o seguinte problema de otimizac~ao:

maximizar HR =maximizar n X i=1 r i x i sujeito a n X i=1 s i x i c; x i 2f0;1g; i= 1;:::;n; ou maximizar BHR = maximizar n X i=1 r i s i x i sujeito a n X i=1 s i x i c; x i 2f0;1g; i= 1;:::;n; onde x

i e uma variavel binaria que valera 1 se o item

i for includo na mochila, e 0, caso

contrario.

O resultado da maximizac~ao indica qual deve ser a composic~ao de um cache de tamanho

c para uma dada carga para que seja obtido o valor maximo em relac~ao a cada metrica

de nida. Para comparar as soluc~oes otimas para o cache (mochila) quanto as duas metricas, HR e BHR, utilizamos uma implementac~ao baseada em programac~ao din^amica (Pisinger, 1997) para o problema da mochila 0-1. As cargas reais ja descritas no captulo anterior foram utilizadas nos testes. O programa foi executado duas vezes para cada tamanho de cache, uma para cada maximizac~ao. O resultado de cada execuc~ao e o conjunto de documentos que atende a maximizac~ao correspondente. O objetivo e veri car a frac~ao de documentos que e comum as duas soluc~oes e o espaco para soluc~oes de compromisso de desempenho entre as otimizac~oes de HR e BHR.

Para analisar os resultados das otimizac~oes vamos de nir os seguintes conjuntos: S(HR) e o conjunto de documentos escolhidos na otimizac~ao de HR, S(BHR) e o conjunto de documentos escolhidos na otimizac~ao de BHR. S(HR)[S(BHR) e S(HR)\S(BHR) s~ao,

respectivamente, a uni~ao e a intersec~ao dos conjuntos resposta. O gra co da gura 4.2 apresenta a cardinalidade desses quatro conjuntos em func~ao do tamanho do cache (frac~ao do tamanho de refer^encia do cache para a carga). Os resultados s~ao para a carga BL. O

gra co mostra que a otimizac~ao de HR gera conjuntos S(HR) com cardinalidade muito superior a dos conjuntos otimizados para BHR. A partir dos dados deste gra co podemos calcular qual e a frac~ao dos documentos escolhidos pelas duas otimizac~oes que esta presente nas duas soluc~oes. Para isso calculamosjS(HR)\S(BHR)j=jS(HR)[S(BHR)j, para cada

tamanho. Apenas uma pequena porcentagem dos documentos presentes na uni~ao das duas soluc~oes e comum aos dois conjuntos. Esta porcentagem varia entre 4% e 15% para tamanhos de cache entre 1% e 50% do tamanho de refer^encia do cache para a respectiva carga. Isto indica que ha um amplo espaco para obtenc~ao de desempenho que seja um compromisso entre a maximizac~ao de HR ou BHR.

0 2000 4000 6000 8000 10000 12000 14000 16000 0 5 10 15 20 25 30 35 40 45 50 numero de arquivos tamanho do cache (%) carga BL S(HR) S(BHR) S(HR) || S(BHR) S(HR) && S(BHR)

Figura 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 oreand.

Ha uma enorme diferenca entre o numero de documentos escolhidos na maximizac~ao de HR e na maximizac~ao de BHR. Lembrando que o espaco do cache para ambos os testes e o mesmo,temos que o pequeno numero de documentos dado porjS(BHR)?(S(HR)\S(BHR))j

esta ocupando o mesmoespaco do grande numero de documentos que est~ao includos na ma- ximizac~ao de HR e n~ao s~ao comuns aos dois conjuntos, isto e,jS(HR)?(S(HR)\S(BHR))j.

Por exemplo, para um cache de tamanho equivalente a 32% do tamanho de refer^encia para a carga, o conjunto S(HR) tem 11310 elementos enquanto o conjunto S(BHR) tem 1389, S(HR)[S(BHR) tem 11475 e S(HR)\S(BHR) tem 1224. Isto implica que os 10086 do-

cumentos de S(HR) e os 165 documentos de S(BHR) que n~ao s~ao comuns a ambos os conjuntos ocupam o mesmo espaco. Este resultado evidencia que (i) a variabilidade nos

tamanhos dos objetos tem consequ^encias importantes para os sistemas de cache; o exem- plo acima mostra que a de nic~ao da metrica objetivo e fundamental nas decis~oes tomadas pelo algoritmo de ger^encia de espaco; (ii) a maximizac~ao de HR implica na escolha de um

maior numero de documentos pequenos, (iii) a maximizac~ao de BHR implica na escolha

de documentos signi cativamente maiores, e (iv) ha um grande espaco para a escolha de

uma soluc~ao de compromisso entre as duas metricas. Embora este compromisso ja fosse conhecido em termos qualitativos, o procedimento adotado aqui mostra como quanti car o espaco de soluc~oes de compromisso para uma carga espec ca.

Pelo resultado descrito, vimos que ha um conjunto pequeno de documentos que esta presente nas duas soluc~oes. Quais s~ao estes documentos? Para identi ca-los plotamos cada documento do conjunto comum, S(HR)\S(BHR), e os documentos que est~ao exclusiva-

menteem S(HR) e em S(BHR). Cada documentoe representado por um ponto cuja abscissa e seu tamanho e a ordenada e o numero de refer^encias. A gura 4.3 mostra os documentos destes conjuntos para caches de tamanho 1% para as cargas BL e NLANR-bo1. Estes gra cos mostram a relac~ao entre o tamanho, o numero de refer^encias e a pertin^encia a um ou ambos os conjuntos. Documentos pequenos e pouco referenciados aparecem em S(HR) mas nunca em S(BHR). Documentos pequenos porem muito referenciados aparecem nas duas soluc~oes. Documentos grandes podem tambem ser divididos em dois conjuntos: os pouco referenciados, que aparecem no conjunto BHR e os muito referenciados que aparecem nos dois conjuntos.

1 10 100 1000 1 10 100 1000 10000 100000 nref tamanho BL - 1% S(HR) - S(BHR) S(BHR) - S(HR) S(HR) && S(BHR) 1 10 100 1000 10000 10 100 1000 10000 100000 1e+06 1e+07 nref tamanho NLANR-bo1 - 1% S(HR) - S(BHR) S(BHR) - S(HR) S(HR) && S(BHR)

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

Esta sec~ao formalizou o compromisso existente entre as metricas HR e BHR e mostrou que ha um espaco grande para soluc~oes intermediarias entre as otimizac~oes de HR e BHR.

Benzer Belgeler