Projeto e Análise de
Sistemas de Busa na Web
Tesede doutoradoapresentadaaoCursode
Pós-GraduaçãoemCiêniadaComputação
da Universidade Federal de Minas Gerais,
omo requisito para obtenção do grau de
doutor emCiêniada Computação
Belo Horizonte
e aomeu esposo Sérgio, eterno amorda minhavida.
AssimdizDeus, oSenhor, queriou os éus e osestendeu,
formou a terra, ea tudo quanto produz;
que dáflegode vidaao povo quenela está,
e oespírito aos que andamnela.
Guiareios egosporum aminho quenão onheem,
fá-los-eiandar por veredas desonheidas;
tornareias trevasemluz peranteeles,
e os aminhos esabrosos, planos.
Estas ousas lhes farei,e jamaisos desampararei.
A Jesus Cristo, meu Senhor e Salvador, pelo Seu grande amor para omigo, que foi
mostrado na extensão máxima quando Ele sariou Sua vida por mim na ruz. A
JesusomeuagradeimentoporumprirasSuaspromessasnaminhaaminhadapelo
meuurso dedoutorado,guiando-meporumaminhoqueeunão onheia,poruma
estrada que eu nuna havia pisado antes, iluminando a esuridão que me erava e
aplainando os aminhos ásperos. A Eleentrego todaa minha vida! A Ele dou toda
gratidãoe honra eglória e louvore adoração agora epara todoo sempre!!!
Ao Prof. Nivio Ziviani pela sua partiipação tão impatante na minha formação, tanto
omoprossionalquantoomoserhumano. Aeleaminhagratidãopelasuaexelente
orientação,sólido suporte, grande experiênia e extensa visãona arena dapesquisa,
que foram determinantes no umprimento desta tese. Também, seu inentivo
ons-tanteajudou-meaperseverar desde oomeçoaté onal destetrabalho. Alémdisso,
ele me ensinou a viver em exelênia e em autoonança. Ele será o meu prinipal
referenialprossional para sempre!
Ao Prof. Berthier Ribeiro-Netopelasua partiipaçãotão importantena minhaformação
prossionalepessoal. Aeleomeuagradeimentoporapresentar-meaidéiadestatese
e portantas disussõesque ajudaram aestabeleer direçõespara o desenvolvimento
destetrabalho. Desde oiníiodomeuurso de doutorado,suaalegriame ontagiava
muito; pouosminutos de onversa om eleeramsuientes parame enher de força
e esperança para ontinuar, mesmo em meio a muita onfusão. Também, aprendi
om ele a onsiderar um problema omo uma grande oportunidade e não omo um
obstáulo intransponível. Estou erta de que asua partiipaçãona minha formação
não iránuna deixar de inueniar minha vida.
Ao Prof. Riardo Baeza-Yates pelas valiosas idéias, rítiase sugestões durante o
para trabalharmos no desenvolvimento deste trabalho. Além de serem muito
pro-dutivas teniamente, estas viagens propiiaram-mea oportunidade de onheer as
belezas dopaís hileno.
Ao Prof. Artur Ziviani pela sua partiipação deisiva na reta nal do desenvolvimento
destatese. Aeleomeuagradeimentoporsedisponibilizarhoras ehoraspara
disu-tirmossobreotrabalho,porreeber-meemváriosperíodosdiferentes noLaboratório
Naional de Computação Cientía (LNCC) para trabalharmos nodesenvolvimento
destatese,eporooperaromtantaexelênianaredaçãodosartigosientíos. Seu
vastoonheimentodaáreadeCiêniadaComputação,suaompetêniaprossional
e sua paixão pela pesquisa foramdeterminantes naonlusão deste trabalho.
Ao Prof. Virgílio Almeida e à Profa. Jussara Almeida pela sua partiipação no
desen-volvimento domodelo de desempenho apresentado nesta tese. Seu onheimento da
espeialidade de análise e modelagem de desempenho de sistemas de omputação
ontribuiuonsideravelmente para aonlusão deste trabalho.
Ao Prof. Philippe Navaux e ao Prof. Edmundo de Souza e Silva, membros externos
da bana examinadora, por terem aeitado partiipar da defesa desta tese e pelas
valiosas ontribuiçõespara a melhoriadeste trabalho.
Ao meu olega Coutinho do Laboratório E-Speed por ompartilhar omigo seu
onhei-mento e experiênia na espeialidade de sistemas operaionais. Sua disponibilidade
e paiênia forammuito importantes para odesenvolvimento desta tese.
Ao meu olega Charles do Laboratório para Tratamento da Informação (LATIN) por
orientar-me em proedimentos relaionados à instalação e onguração do sistema
operaionalLinux. Suaprontidãopara ajudarfoimuito importanteparao
desenvol-vimentodesta tese.
Aos meus olegas do Laboratório para Tratamento da Informação (LATIN) Álvaro,
Anísio, Charles, David, Fabiano, Maro Cristo, Maro Modesto, Maria de Lourdes,
Pável e Thierson pela sua amizade e ompanhia em muitas horas exaustivas de
pelas reuniõesténias queeslareeramdiversosaspetossobreoomportamento
de meanismos de busa na Web.
Ao Camillo,meu grandeolega eamigoespeial,pelaparerianos trabalhos das
disipli-nas de qualiação domeu urso de doutorado.
À Daniela, minha amiga espeial e irmã em Cristo, pela ompanhia durante o período
do meu urso de doutorado. A ela o meu agradeimento por dediartempo para as
nossas reuniões semanaisde oraçãoe meditação naPalavrade Deus. A presença de
Deus manifestada e a Palavra de Deus prolamada nestas reuniõesme sustentaram
e mealimentaram durante operíododomeu urso de doutorado.
À Linnyer, minha grandeamigae irmãemCristo, peloseu ompromissode estar omigo
em oração sempre. As nossas reuniões semanais de oração e meditação na Palavra
de Deus ensinaram-me a lançar sobre Deus em oração toda a minha ansiedade. A
ela a minha gratidão por jejuar e orar pelo suesso da minha tese de doutorado, e
por rer pormimquando eu estava sem forças para rer que hegaria nonal deste
trabalho.
Aos meus irmãos e irmãs na fé da Igreja Batista da Graça em Belo Horizonte pela
o-munhão nas reuniões da élula e pelas elebrações nos domingos à noite durante o
períododo meu urso de doutorado.
AoPastorGeraldoporpastorear aminhavidaomtantoamorduranteoperíododomeu
urso de doutorado.
Aos meus irmãos e irmãs na fé da Igreja Presbiteriana de Anápolis por orarempormim
desde o omeço do meu urso de doutorado e por partiiparem omigo dos feriados
heios de paz e restauraçãoemAnápolis.
Ao Pastor Larry e sua esposa Ida, meus pais amerianos, por me suportarem em oração
e por me ajudarem a permaneer rme na fé através de suas poderosas palavras de
enorajamento durante operíododomeu urso de doutorado.
À Adeílde, minha mãe em Belo Horizonte, por uidar de mim om tanto arinho e por
váriasvezes reeber-meemsua asaomtantoamorduranteoperíododomeuurso
vida diária e por ompartilharem omigo tanto os momentos de alegria quanto os
momentosde tristezaduranteo períododo meu urso de doutorado.
Aos meus sogros Paulo e Celma pelo seu amor, suporte, inentivo e orações tão
impor-tantes para a onlusão desta tese.
À minha tia Dorai, Wagner, Bruno e Letíia pelo amor e arinho que sempre
demons-trarampara omigo em todas asfases daminha vida.
Aos meus avós Raul e Dule por partiiparem om tanto amor do meu resimento e
formação. Eles serão sempregrandes exemplosde fé earáter para a minhavida.
Aos meusirmãos CassiuseChristian peloseu amore porpoder ontarom eles emtodo
tempo.
Aos meus pais Anuor e Celuta pelo seu amor profundo e suporte inondiional desde o
meuprimeirosuspironeste mundo. A elesaminha gratidãoporuidarem omamor
inondiional de todas as áreas da minha vida e por investirem ilimitadamente em
todas as fases da minha eduação. A sua presença tão forte e orações inessantes
têm sido ura para a minhaalma e têm trazido paz aomeu oração.
Ao Sérgio, meu esposo e melhor amigo, por simplesmente me ompletar! A ele o meu
agradeimento por viver para mim, por me amar om tanta intensidade e por me
fazersentirtão amada. Em seus braçoseu enontro um lugarseguro. Aelea minha
gratidãotambémporviveromigoadaminutoduranteoperíododedesenvolvimento
desta tese. Ele realmenteproduziu este trabalhojuntamenteomigo. A elea minha
Web searh engines are expensive to maintain, expensive to operate, and hard to design.
Modern searhengines relyonlusters of server mahines for queryproessing. Thus, the
performane of parallelquery proessing ina lusterof index servers is ruialfor modern
Web searh engines. The objetive of this thesis is to provide a performane framework
for the designand analysis of the infrastruture of Web searh engines. In this framework
we (i) investigate and analyze the imbalane issue in a omputational luster omposed
of homogeneous index servers and (ii)propose a apaity planning modelfor Web searh
engines.
In a luster of index servers, the response time basially depends on the servie time
of the slowest serverto generate apartial ranked answer. Previous approahes investigate
performane issues inthis ontextusingsimulation,analytialmodeling,experimentation,
ora ombinationofthem. Nevertheless, these approahes simplyassumebalaned servie
times among homogeneous index servers, a senario that we did not observe in our
ex-perimentation. On the ontrary, we found that even with a balaned distribution of the
doument olletion among index servers, relations between the frequeny of a query in
the olletion and the size of its orresponding inverted lists lead to imbalanes in query
servietimesatthesesameservers,beausetheserelationsaetdiskahe behavior. F
ur-ther, therelativesizes ofthe mainmemory ateah index server(withregardtodiskspae
usage) and the numberof servers partiipatingin the parallelquery proessing alsoaet
imbalaneof loalquery servie times.
Prediting the performaneof aWeb searhengineisusually doneempiriallythrough
experimentation, requiring a ostly setup. Thus, modeling is of natural appeal in this
ontext. We introdue a apaity planning model for Web searh engines that onsiders
theimbalaneinqueryservietimesamonghomogeneousindex servers. Ourmodel,whih
isbasedonaqueueingnetwork, issimpleandyetreasonablyaurate. Wedisuss howwe
tune it up and how weapply itto predit,for instane, the impaton the query response
time when parameters suh as CPUs and disks are hanged. This allows the manager of
thesearhenginetodetermineaprioriwhetheranewongurationofthesystemwillkeep
the query response under speied onstraints. Our approah is distint and, we believe,
Meanismos de busa na Web são aros para manter, aros para operar, e difíeis de
projetar. Meanismos modernos de busa ontam om lusters de máquinas servidoras
para proessamento de onsultas. Assim, o desempenho do proessamento paralelo de
onsultas num luster de servidores de índie é ruial para os meanismos modernos de
busa na Web. O objetivo desta tese é prover um arabouço para o projeto e análise
da infra-estrutura de meanismos de busa na Web. Neste arabouço (i) investigamos
e analisamos a questão do desbalaneamento num luster omputaional omposto por
servidoresdeíndiehomogêneose(ii)propomosummodelodeplanejamentodeapaidade
para meanismos de busa naWeb.
Num luster de servidores de índie, o tempo de resposta depende basiamente do
tempode serviço do servidor maislento para geraruma resposta ordenada parial.
Abor-dagens anteriores investigam questões de desempenho neste ontexto usando simulação,
modelagem analítia,experimentação, ou uma ombinação delas. Entretanto, estas
abor-dagenssimplesmenteassumem temposdeserviço balaneadosentreosservidoresde índie
homogêneos,um enárioque não observamos emnossa experimentação. Ao ontrário,
ve-riamosquemesmoom uma distribuiçãobalaneadadaoleçãode doumentosentre os
servidores de índie, relações entre a freqüênia de uma onsulta na oleção e o tamanho
de suaslistasinvertidasorrespondentes levamadesbalaneamentosnos temposdeserviço
de umaonsultanestesmesmosservidores, porque estasrelaçõesafetam oomportamento
do ahe do diso. Além disso, os tamanhos relativos da memória prinipal em ada
ser-vidor de índie (om referênia aouso do espaço emdiso) e o número de servidores que
partiipam do proessamento paralelo de onsultas também afetam o desbalaneamento
nos temposloais de serviço de uma onsulta.
A predição dodesempenho de um meanismode busa naWeb éusualmentefeita
em-piriamente através de experimentação, requerendo uma onguração ustosa. Assim, a
modelagem tem um apelo natural neste ontexto. Introduzimos um modelo de
planeja-mentodeapaidadeparameanismosde busanaWebqueonsideraodesbalaneamento
nos tempos de serviço de uma onsulta entre os servidores de índie homogêneos. Nosso
modelo, que é baseado numa rede de las, é simples e razoavelmente preiso. Disutimos
omo ajustá-lo eomo usá-lopara predizer, porexemplo,o impatonotempode resposta
da onsulta quando parâmetros tais omo CPUs e disos são alterados. Isto permite ao
gerente damáquinade busadeterminar apriori se umanovaonguraçãodo sistemairá
manter o tempo de resposta sob determinadas restrições. Nossa abordagem é distinta e,
Artigos Publiados em Periódios (Completo)
•
C. S.Badue, R.Baeza-Yates,B. Ribeiro-Neto,A.Ziviani,and N.Ziviani. Analyzingimbalane among homogeneous index servers in a web searh system. Information
Proessing and Management(IP&M), 43(3):592-608,2007.
Trabalhos em Eventos (Completo)
•
C. S. Badue, R. Barbosa, P. Golgher, B. Ribeiro-Neto,and N. Ziviani. Distributedproessing of onjuntive queries. In ACM SIGIR Workshop on Heterogeneous and
Distributed Information Retrieval, Salvador,BA, Brazil,2005.
•
C. S.Badue, R. Baeza-Yates, W.Meira Jr.,B. Ribeiro-Neto,and N.Ziviani.Distri-buted arhiteture for information retrieval. In Proeedings of the 1st International
Seminar on Advaned Researh in E-Business (EBR'02), pages 114-122,Rio de
Ja-neiro, RJ,Brazil, 2002.
•
C. S. Badue, R. Baeza-Yates, B. Ribeiro-Neto, and N. Ziviani. Distributed queryproessing using partitioned inverted les. In Proeedings of the 8th International
Symposium on String Proessing and Information Retrieval (SPIRE'01), pages
10-20,Laguna de San Rafael, Chile,2001.
Trabalhos em Eventos (Resumo)
•
C. S. Badue, R. Baeza-Yates, B. Ribeiro-Neto, A. Ziviani, and N. Ziviani.Pro-(CIKM'06), pages 842 - 843, Arlington,VA, USA, 2006.
•
C. S.Badue, R. Barbosa, P. Golgher,B. Ribeiro-Neto, and N. Ziviani. Basi issueson the proessing of web queries. In Proeedings of the 28th Annual
Internatio-nal ACM SIGIR Conferene on Researh and Developmentin InformationRetrieval
Introdução
Motivação
AWorldWideWebdatadomdadéadadosanos
80
[17℄eninguémpoderiaterimaginadoseu impato atual. A explosão no uso da Web e seu resimento exponenial são agora
bem onheidos. Apenas a quantidade de dados textuais disponíveis é estimada para
estar na ordem de terabytes. Adiionalmente, outros meios, tais omo imagens, áudio, e
vídeo, tambémestãodisponíveis. Istoprovoaaneessidadede ferramentaseientespara
administrar, reuperar, e ltrarinformação destabase de dados enormee diversiada.
Os meanismos de busa transformaram-se numa ferramenta essenial e popular para
lidar om a enorme quantidade de informação enontrada na Web. Um estudo feito por
iProspet [30℄ revela que
35
.
1%
dos usuários da Internet usam os meanismos de busapelomenos uma vez aodia,
21
.
2%
usam osmeanismos de busa quatro oumais vezes aodia, e
22
.
7%
usam os meanismos de busa múltiplas vezes por semana, o que india queo uso de meanismos de busaé um tipo popular de atividade online.
Osmeanismosde busanaWeb requeremumaenormequantidadede reursos
ompu-taionaisparalidaromotráfegoentrantedeonsultas,queéaraterizadofreqüentemente
por altos pios. Além disso, o fato do número de doumentos disponíveis na Web
res-er onstantemente existem agora pelo menos
20
bilhões de doumentos na Web [24℄torna o problema ainda mais desaador. Para lidar om estas exigênias, os
mea-nismos modernos de busa na Web ontam om lusters de máquinas servidoras para o
proessamentodas onsultas [14,18,45℄.
A arquitetura de um meanismo de busa típio na Web é omposta por lusters de
servidores de índie, om os doumentos divididos entre eles (ada servidor de índie
amanutenção, simpliaageraçãodoíndie (que pode ser feitaloalmente), edegrada-se
suavemente (porque a falha de um servidor de índie não impede que qualquer onsulta
sejarespondida,emboraoonjuntoderespostanalpossanãoontertodososdoumentos
relevantes naoleção). Oluster inlui também um broker quese omuniaom os vários
servidores de índie, omoilustrado naFigura1.
de indice 3
Servidor
Servidor
de indice 2
Servidor
de indice 1
Servidor
de indice p
Broker
Cliente
. . .
Figura 1: Arquitetura de um meanismo de busatípio.
Umaonsultadeusuárioheganomeanismodebusaatravésdobroker,queenviauma
ópiadaonsultaparaadaservidordeíndieparaproessamentoloal. Tipiamente,ada
servidor de índie retorna seus
10
doumentos mais relevantes para obroker, que exeutauma meslagememmemóriaparadeterminar as
10
respostasnais aserem enviadas parao usuário.
O proessamento de uma onsultapode ser dividido emduas fases prinipais
onseu-tivas [14℄. Uma primeira fase que onsiste em reuperar referênias aos doumentos que
ontém todos os termos da onsulta 1
e ordená-los de aordo om alguma métria de
re-levânia (feito geralmente pelos servidores de índie). Uma segunda fase que onsiste em
tomar as respostas mais relevantes, tipiamente
10
, e gerar fragmentos (do doumento),título, e informação sobre a URL para ada uma delas (usualmente feito por um luster
de servidoresde doumento, adaservidor detendo umaparte daoleçãode doumentos).
Enquantoasegundafasetemustoaproximadamenteonstante,independentedotamanho
da oleção de doumentos, a primeira fase tem um usto que rese om o tamanho da
oleção. Portanto,odesempenhodaprimeirafaseéruialparamanteraesalabilidadede
1
daWeb.
Dada a omplexidade envolvida no projeto de meanismos eientes de busa naWeb
e o papel have que tais sistemas desempenham no uso da Internet hoje em dia, é de
importâniamáximaompreender oomportamentode meanismosde busanaWeb. Isto
éessenialpara aanálisede desempenho eplanejamentode apaidadede taissistemas,a
m de permiti-losenfrentar adequadamente a demanda resente dos usuários.
Objetivos e Contribuições
Oobjetivodesta teseéproverum arabouço paraoprojetoeanálisedainfra-estruturade
meanismosdebusanaWeb. Nossoobjetivoéterumaferramentasimpleserazoavelmente
preisa quepossa responder questões de planejamentode apaidade taisomo:
(i) Dada uma oleção omposta por
n
doumentos distribuída através dep
máquinas,que tipo de garantias de tempo médio de resposta de uma onsulta que se pode
esperar?
(ii) Que tipo de otimização nos reursos da máquina pode produzir uma redução no
tempo médio de resposta de uma onsulta para satisfazer um objetivo de nível de
serviço denido pelogerente domeanismo de busa na Web?
(iii) Qual é o número mínimo de réplias do luster de servidores de índie que
garan-tirá que, na média, o tempo de resposta de uma onsultanum período de pio não
exederá olimite denido pelo gerente domeanismo de busa na Web?
Nesta tese, analisamoso desempenho da reuperação dos doumentos mais relevantes
parauma dadaonsultadeum usuário,i.e., aprimeirafasedatarefa deproessamentoda
onsulta. As prinipaisontribuições destatese são:
•
Investigação e análise da questão do desbalaneamento num luster omputaionalparaproessamentoparalelodeonsultas ompostoporservidoresdeíndie
homogê-neos,omoapresentado noCapítulo4. Veriamosnaprátiaumdesbalaneamento
onsistenteporonsultanotempode serviço nos servidoresde índie,apesar da
dis-tribuiçãodos tamanhosdas listas invertidasnos vários servidoresser ompletamente
losteóriosanterioresenontradosnaliteratura[20,23,44℄. Alémdisso,identiamos
e analisamos as fontes prinipais de desbalaneamento: o uso do ahe do diso, o
tamanho da memóriaprinipal nos servidores de índie homogêneos, e o número de
servidoresde índie noluster.
•
Um modelo de planejamento de apaidade para meanismos de busa naWeb queonsideraodesbalaneamentonostemposde serviçodasonsultasentreosservidores
de índie homogêneos, omo apresentado no Capítulo 5. Nosso modelo, baseado
em redes de las, é simples e razoavelmente preiso. Para ajustar os parâmetros
do nosso modelo, exeutamos experimentos num luster pequeno de servidores de
índie. Uma vez que os parâmetros have foram estimados, veriamos a preisão
do modelo omparando suas predições om os resultados experimentais produzidos
também usando o luster pequeno de servidores de índie. Finalmente, ilustramos
omo usar nosso modelo para predizer o tempo de resposta de uma onsulta ao
adotarmos CPUs e disos mais rápidos do que aqueles em uso. Em nosso exemplo,
onsideramos um enário realístio,onde uma oleção de
20
bilhões de doumentosé distribuídaatravésde
2
,
000
servidoresde índie.Analisando o Desbalaneamento entre Servidores de
Ín-die Homogêneos
Nesta seção, investigamos e analisamos o desbalaneamento entre os servidores de índie
homogêneos num luster para proessamento paralelo de onsultas. Servidores de índie
homogêneos têm amesma onguraçãode hardware e software.
Na arquitetura para proessamento paralelo de onsultas, araterizada por um
par-tiionamento loal da oleção de doumentos, o tempo de resposta de uma onsulta é
determinado pelotempo de serviço doservidor de índie mais lento. Comoonseqüênia,
desbalaneamento nos temposde serviço entre o servidoresde índie aumentao tempode
resposta de uma onsulta exeutada pelo luster de servidores.
Uma medida omum ontra o desbalaneamento é distribuir a oleção inteira de
do-umentos entre os servidores de índie homogêneos de forma balaneada, tal que ada
servidor manipule uma quantidade similar de dados para proessar uma dada onsulta.
homo-tempos de serviço balaneados é uma suposição usual onsiderada por modelos teórios
parameanismosdebusanaWeb [20,23,44℄. Entretanto,numenárioreal,relaçõesentre
as freqüênias das onsultas e os tamanhos das listas invertidas orrespondentes levam a
desbalaneamentos nos temposde serviço das onsultas.
Nesta seção, investigamos e analisamos a questão do desbalaneamento num luster
omputaionalomposto por servidores de índiehomogêneos. Como prinipal
ontribui-ção, veriamos que o enárioidealizadode tempos de serviço balaneadosnos servidores
de índiehomogêneosomvolumesde dadossimilaresnãoé prováveldeser enontradona
prátia. Este é um resultado experimental importante porque nossas desobertas
ontra-dizem a suposição usual que é obviamente onsiderada omo válida por modelos teórios
anteriores. Além disso, identiamos e analisamos as prinipais fontes de
desbalanea-mento: o uso doahe dodiso, o tamanhodamemóriaprinipalnos servidoresde índie
homogêneos,e o número de servidores noluster.
Paraosexperimentosrelatadosnestaseção,usamosumlusterde
7
servidoresdeíndiehomogêneos. A oleçãode testeéompostapor
10
milhõesde páginasWeb oletadas pelomeanismo de busaTodoBRda Web brasileiraem
2003
. Oonjuntode onsultas usadosem nossos testes é omposto por
100
mil onsultas, extraídas de um registro parial deonsultas submetidas ao meanismode busa TodoBR emSetembro de
2003
.Denimos odesbalaneamento de umadada onsulta omo arazão entre otempode
serviço máximo e o tempo de serviço médio dos servidores de índie que partiipam do
proessamentoparalelodesta onsultaempartiular. Esta métriade desbalaneamentoé
igual a
1
num enárioperfeitamentebalaneado queproduz um tempode serviçomáximoexatamenteigualaotempodeserviçomédio. Àmedidaqueamétriadedesbalaneamento
torna-se progressivamente maior que
1
, existe uma forte indiação de que o tempo deresposta de uma onsultaé dominado porum tempo de serviço muito maior de um únio
servidor de índie.
Para evitar desbalaneamento entre osservidores de índie, optamos porbalanear as
distribuições do tamanho das listas invertidas que ompõem os índies invertidos loais.
Para isto, simplesmente atribuímos ada doumento a um servidor de índie de forma
aleatória. A Figura 2 ilustra a função de probabilidade do tamanho das listas invertidas
que ompõem os
7
índies invertidos loais em nosso luster om7
servidores de índie.Observamosqueasdistribuiçõesdouso doarmazenamentosãomuitosimilaresatravésdos
o uso doarmazenamento entre os servidores.
10
−6
10
−5
10
−4
10
−3
10
−2
10
−1
10
0
10
3
10
4
10
5
10
6
10
7
Funcao de probabilidade
Tamanho da lista invertida (bytes)
servidor 1
servidor 2
servidor 3
servidor 4
servidor 5
servidor 6
servidor 7
Figura2: Função de probabilidade dotamanhodas listas invertidas.
Emboraautilizaçãodoespaço emdiso nosservidoresde índiesejabalaneada, omo
mostrado na Figura 2, investigamos se este uso balaneado do armazenamento entre as
suboleções reete em tempos loais de serviço balaneados entre os servidores de índie,
ounão. A Figura3 ilustra as distribuiçõesdos tempos(médio, máximo, e mínimo)loais
de serviço por onsulta. As barras de intervalorepresentam os tempos mínimo emáximo
de serviço para ada onsulta.
Como resultadodos nossosexperimentos, veriamos naprátiaumdesbalaneamento
onsistente por onsulta nos tempos de serviço entre os servidores de índie, apesar da
distribuição do tamanho das listas invertidas nos vários servidores de índie ser
omple-tamente balaneada. Motivados por este resultado inesperado, que ontradiz a suposição
usual de tempos balaneados de serviço adotada pelos modelos teórios enontrados na
literatura, onduzimos uma análise experimental detalhada para investigar as fontes do
desbalaneamentoobservado. Conseqüentemente, identiamosasfontesprinipaisde
des-balaneamento: o uso do ahe dodiso, o tamanho da memóriaprinipal nos servidores
0.00
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0
20000
40000
60000
80000
100000
Tempo de servico (segundos)
Consulta
Figura3: Distribuição dos temposloais de serviço por onsulta.
Inuênia do Uso do Cahe do Diso
Identiamoso uso doahe do diso nos diferentes servidores de índie omoa prinipal
fonte de desbalaneamento. A Figura 4 mostra a função densidade de probabilidade dos
temposloais de aesso ao disono nosso luster om
7
servidores de índie. Observamosque os tempos de aesso ao diso em todos os servidores de índie estão agrupados
basi-amente emduas regiõesprinipais: a primeiraregião é relaionadaaos temposde aesso
ao diso menores que
4
,
5
milisegundos e a segunda região aos tempos de aesso ao disomaiores que
4
,
5
milisegundos. Atribuímos a primeira região de tempos loais de aessoao diso menores às onsultas ujas listas invertidas são enontradas no ahe do diso
(referida omo regiãodo ahe), e a segunda região de tempos loais de aesso ao diso
maioresàsonsultasujaslistasinvertidastiveramqueser realmentereuperadasdodiso
(referida omoregião do diso).
Veriamosqueodesbalaneamentonostemposde serviçoentreosservidoresde índie
aumenta om o número de servidores operando na região do ahe, omo mostrado na
Figura5. OspontosnaFigura5mostramodesbalaneamentoparaadaonsultaealinha
mostra o desbalaneamento médio sobre as onsultas emfunção do número de servidores
de índieoperandonaregiãodoahe. Este valoréomplementaraonúmerode servidores
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
10
-4
10
-3
4.5e
-3
10
-1
10
0
Funcao densidade de probabilidade
Tempo de acesso ao disco (segundos)
Regiao do
disco
Regiao do
cache
servidor 1
servidor 2
servidor 3
servidor 4
servidor 5
servidor 6
servidor 7
Figura4: Função densidade de probabilidadedos temposloais de aesso ao diso.
proessada em nosso luster de
7
servidores de índie, se a Figura 5 mostra que2
delesoperam na região do ahe, então neessariamente os outros
5
estão na região do diso,diretamenteinueniandoa magnitude dodesbalaneamento.
Paramelhorentenderomooahe dodiso diretamenteimpataodesbalaneamento,
é importanteolhar atentamente para o desbalaneamento médio na Figura5 para alguns
enários representativos: sem ahe, o pior aso, e o melhor aso. No enário sem ahe
(i.e.,
0
no eixo-x
da Figura 5), todos os servidores de índie realmente aessam o disopara reuperar os dados neessários, obtendo o menor desbalaneamento (
1
.
38
) entre osasos onde existe pelo menos um servidor operando na região do diso. O pior aso para
o desbalaneamento(i.e.,
6
noeixo-x
daFigura5)apresenta um desbalaneamentomuitomaior (
3
.
45
) porque um únio servidor de índie tem um tempo de serviço muito maiorque ostemposde serviço orrespondentes emtodos os servidores restantes, levandoassim
a um alto valor de desbalaneamento. Isto aontee porque existe um únio servidor de
índie que tem um tempo de serviço grande e um onjunto de outros servidores que têm
tempo de serviço muito menor porque reuperam os dados neessários do ahe dodiso.
Pelo ontrário, o melhor aso a evitar desbalaneamento (i.e.,
7
no eixo-x
da Figura 5)resultanum desbalaneamentomédio de
1
.
08
,sendoalançadoquando todos osservidoresluster de servidores.
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
Desbalanceamento
Numero de servidores operando na regiao do cache
Figura 5: Desbalaneamento ausado pelo número de servidores de índie operando na
região doahe.
O melhor aso e o enário sem ahe apresentam os dois menores resultados
desba-laneados, omo onseqüênia de terem todos os servidores de índie operando na mesma
região(do aheoudodiso), assim provendo uma diferençanão abrupta entre ostempos
de serviço dos servidorespartiipantes. Entretanto, o enáriosem ahe ainda produz um
desbalaneamentosigniativamentemaisaltoomrespeitoaomelhoraso,oquepodeser
expliadopelavariâniamaisaltaenontrada noaessodireto aodisoquando omparada
om avariâniaenontradanoaessoàmemória. Alémde teromenor desbalaneamento,
omelhorasotambémprovêotempoderespostamaisrápidodesdequetodososdados
ne-essáriosparaproessarumaonsultasão enontradosnosahesdosdisosdos servidores
de índie.
Alémdisso, analisamosorelaionamentoentre o tamanhodas onsultas ea freqüênia
das onsultas naoleção, investigando se existem ligaçõesom o uso doahe dodiso. O
tamanho de uma onsulta é dado pela soma dos tamanhos das listas invertidas relativas
a seus termos. Portanto, onsideramos separadamente as onsultas que enontram um
entre o tamanho da onsulta e a freqüênia da onsulta. Se esta razão é maior ou igual
a
0
.
25
e menor ouigual a4
, então o tamanhoe a freqüênia da onsultasão relaionadospor um fator de
4
, o que onsideramos omo representando um razoável nível de relaçãoentre eles. Portanto,onsultas queaem neste ritériosão onsideradasrelaionadas,aso
ontrário elas são onsideradas não-relaionadas.
A Figura6mostrao tamanhonormalizadodas onsultas emfunção dafreqüênia
nor-malizadadas onsultas naoleção, mas fazemosa distinçãoentre onsultas relaionadas e
onsultas não-relaionadas. Quando fazemosesta distinção, éinteressanteanalisar
separa-damentetrês diferentes regiõesrepresentativasqueapareem naFigura6: (i)aRegião 1é
araterizadapordadosnão-relaionados ondeotamanhodas onsultas estáprevaleendo
sobre a freqüênia das onsultas; (ii) a Região 2 ontém onsultas relaionadas; e (iii) a
Região 3 é araterizada por uma região não-relaionada onde a freqüênia das onsultas
está prevaleendo sobre o tamanho das onsultas.
10
-7
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
10
-5
10
-4
10
-3
10
-2
10
-1
Tamanho normalizado da consulta
Frequencia normalizada da consulta
Regiao 3
Regiao 2
Regiao 1
relacionadas
nao-relacionadas
Figura6: Comparandoa freqüênia das onsultas e o tamanhodas onsultas.
A Figura7omparaotempode serviço paraonsultas relaionadase não-relaionadas
om respeito ao seu tamanho e sua freqüênia na oleção. Esta omparação mostra
la-ramente que as onsultas bem relaionadas (Região
2
) tiram um proveito maior do ahedemandadaspelasonsultasmaisfreqüentes, favoreendo ouso doahedodisoporestas
listasinvertidasgrandes. Poroutrolado,onsultas raras,ujaslistasinvertidassão
impro-váveis de serem enontradas no ahe do diso, requerem as listas invertidas menores que
não demandamtemposgrandes de transferêniado diso. Para osdados não-relaionados
na Região
1
, a freqüênia das onsultas é proporionalmente menor que o tamanho dasonsultas. Isto implia que onsultas raras demandam listas invertidas maiores, assim
resultando em não uso do ahe do diso e grandes atrasos de transferênias. Os dados
não-relaionados na Região
3
enfrentam o oposto: os termos das onsultas impõemvo-lumes de dados relativamente pequenos a serem reuperados no sistema, assim obtendo
tempos de serviço pequenos através de atrasos pequenos de transferênia ou através do
uso do ahe do diso. Embora estas onsultas tenham tempos de serviço pequenos elas
não são tão numerosas quanto as onsultas relaionadas ou as onsultas não-relaionadas
na Região
1
. Portanto, onsultas relaionadas prevaleem omo um grupo que obtém osmenores temposde serviço.
10
−5
10
−4
10
−3
10
−2
10
−1
10
−4
10
−3
10
−2
10
−1
10
0
10
1
Funcao densidade de probabilidade
Tempo de servico (segundos)
relacionadas
nao−relacionadas
Figura7: Funçãodensidade de probabilidadedos temposde serviço das onsultas
relaio-nadas e não-relaionadas.
Estes resultados sobre a inuênia do ahe do diso no desbalaneamento também
desbalan-eamento,omo disutiremos aseguir.
Inuênia do Tamanho da Memória Prinipal e do Número de
Ser-vidores de Índie
Outra fonte de desbalaneamento é o tamanho da memória prinipal dos servidores de
índie porque isto afeta a disponibilidade dos dados na região do ahe nos servidores e,
onseqüentemente, odesbalaneamento. AFigura8mostraodesbalaneamentomédioem
função do número de servidores de índie emnosso luster om
7
servidores de índie, aovariar o tamanho da memória prinipal em ada servidor. Observamos que o
desbalan-eamento médio nos tempos de serviço entre os servidores de índie aumenta enquanto o
tamanho da memória prinipal diminui, omo era de se esperar. Por um lado, quando o
tamanho da memória prinipal é relativamente grande omparado ao tamanho do índie
loalarmazenadonos servidores de índie,existe maiorapaidade de memóriadisponível
para osistemaoperaionalexeutaroperaçõesdoahe dodiso. Isto impliaqueos
tem-posloaisde aessoaodiso emtodososservidoresde índieaemnaregiãodoahepara
um altoperentual de onsultasnanossaoleçãoeesteéexatamenteomelhorenárioque
produz o menor desbalaneamento. Por outro lado, onsiderandouma memóriaprinipal
relativamente menor disponível para o ahe do diso, os servidores de índie preisam
realmente reuperar as listas invertidas do diso. Neste enário, as onsultas estão mais
suseptíveis ao desbalaneamento porque alguns bloos do diso podem ser enontrados
noahe dodiso de uns pouos servidoresde índiee não seremenontrados noahe do
diso dos servidores restantes.
Uma outra fonte de desbalaneamento é o número de servidores de índie no luster,
porque aprobabilidadede oorrervariaçãoentre ostemposloais deserviço aumentaom
o número de servidores de índie que partiipam no proessamento paralelo da onsulta.
Observamos naFigura8que,para umtamanhoxodamemóriaprinipal,o
desbalanea-mentomédionostemposdeserviço entre osservidoresdeíndieaumentaomonúmerode
servidoresde índieque partiipamnoproessamentoparalelo daonsulta. Jádisutimos
queodesbalaneamentomédioaumentaomonúmerode servidoresde índiequeoperam
naregião doahe, omomostrado naFigura5. Entretanto,istoindia quequanto maior
o número de servidores de índie que partiipam no proessamento paralelo da onsulta,
1.00
1.05
1.10
1.15
1.20
1.25
1.30
1.35
1
2
3
4
5
6
7
Desbalanceamento medio
Numero de servidores de indice
200 MB
300 MB
400 MB
500 MB
600 MB
Figura 8: Desbalaneamento médio em função do tamanho da memória prinipal nos
servidores de índie.
região do ahe e aqueles que operam naregião do diso. Como onseqüênia, isto leva a
desbalaneamentos maioresnos tempos de serviço por onsultano luster.
Um Modelo de Planejamento de Capaidade para
Mea-nismos de Busa na Web
Nesta seção, propomos um modelo de planejamento de apaidade para meanismos de
busa na Web que onsidera o desbalaneamento nos tempos de serviço de uma onsulta
entre osservidoresde índiehomogêneos. Nossaestratégia deplanejamentode apaidade
ontaom um modeloanalítiobaseado emlas para estimarotempomédiode resposta
do sistema. O meanismo de busa na Web é representado por uma rede de las aberta
omposta pelo broker e pelo subsistema de servidores de índie. Assumimos que os
ser-vidores de índie têm reursos homogêneos (omo seria o aso em vários enáriosreais) e
que a oleção de doumentos é uniformementedistribuída através de todos os servidores.
Assim, onsideramosquea argaestá balaneadaatravésde todos osservidores de índie.
Finalmente,aredequeonetaosservidoresdeíndieeobrokerétipiamenteumaredede
nosso modelo.
Em nossomodelode busana Web, o subsistema omposto por todos osservidores de
índieémodeladoomoumaredede lasfork-join[37℄. Numaredede las fork-join,ada
tarefa(i.e.,onsulta) quehega édividida(i.e.,fork)em
p
sub-tarefasidêntias. Cadasub-tarefaéenviadaparaum servidordeíndiediferente. Adisiplinade lasemadaservidor
deíndieéPrimeiroaChegar,Primeiroaser Servido (First-ComeFirst-Served(FCFS)).
Quandoumasub-tarefaterminaaexeução,iráesperar atéquetodasasoutrassub-tarefas
terminem (i.e., join). Apenas neste momentoa tarefa ompleta a exeução e sai darede.
Este omportamento imita o paralelismo no proessamento de onsultas pelos servidores
de índiee a sinronizaçãointroduzidano broker para ombinar osresultados pariais. A
Análise do ValorMédio (Mean Value Analysis (MVA)) [43℄ oferee uma solução eiente
para redes de las om solução do tipo forma-produto. Em partiular, MVA pode ser
usada para produzir estimativas de desempenho para ada servidor de índie individual.
Entretanto, a araterístia fork-join viola as suposições requeridas pela solução MVA
exata. Assim, usamosténias MVA aproximadas [37℄para resolveromodeloompleto de
busa naWeb.
ConsultastípiaspodemterdemandasheterogêneaspelaCPUedisodos servidoresde
índiedependendo donúmero de termosqueelas ontém. Alémdisso, devido àloalidade
de referênia nos termos das onsultas que hegam no meanismo de busa, um servidor
de índie pode enontrar algumas ou todas as listas invertidas no ahe do diso (em
memória). Assim, algumas onsultas podem não reuperar nenhum dado do diso. De
fato, durante nossos experimentos de validação, enontramos um número não desprezível
de tais onsultas.
A m de apturar oimpatodas demandasheterogêneas porreursos, renamosnosso
modelodoservidordeíndieomosesegue. Primeiro,modelamosduaslassesdeonsultas
separadamente: a lasse small(onsultas om no máximo
2
termos)e a lasse large(on-sultas om mais que
2
termos). Segundo, modelamosseparadamenteas demandas médiaspelaCPU ediso, bemomo aprobabilidadede aerto totalnoahedodiso (i.e., todas
as listas invertidas são enontradas no ahe do diso), num servidor de índie para ada
lasse de onsultas. As onsultas da lasse largetêm maioresdemandas pelaCPU ediso
de um servidor de índie do que as onsultas da lasse small, enquanto as onsultas da
lasse small têm maiores probabilidadesde aerto total no ahe do diso de um servidor
Finalmente, dado que as onsultas são proessadas seqüenialmente por ada servidor de
índie, não existe la emnenhum reurso (nemna CPU nem nodiso) de um servidor de
índie.
Finalmente, o tempo gasto no broker onsiste prinipalmente de proessamento loal
para enviaraonsultapara todos osservidoresde índie,reeberosresultados pariaisde
todososservidores,emeslarosresultadospariaisreebidos,oquedependedonúmerode
servidoresnoluster. Observamosqueotempodeproessamentonobrokerérelativamente
baixoomparadoaotempoderespostadosistema. Existemduasrazõesfundamentaispara
isto. Primeiro,a operaçãodobrokerérealizadainteiramenteusandoamemóriaprinipal,
assim demandandoapenas o tempo da CPU ao ontrário da operação de um servidor de
índie que é omposta por demandas pela CPU e pelo diso. Segundo, todas as tarefas
que o broker exeuta são tarefas relativamente simples que não tomam muito tempo da
CPU. Deve-se notar que o broker não tem que fazer omputações para gerar métrias de
relevânia para osdoumentose não tem que exeutar operações algébrias, à exeção de
omparar identiadores de doumentos. A Tabela1 apresenta os parâmetros de entrada
do sistemae da arga de trabalhobem omo os parâmetros de saída donosso modelo. O
tempo médio de residênia de uma onsulta num reurso é denido omo a soma entre o
tempomédio de espera e o tempo médio de serviço sobre todas as visitasao reurso.
Modelo do Servidor de Índie
Esta seção deriva o tempo médio de residênia de uma onsulta num servidor de índie.
Considerando que as onsultas são proessadas uma de ada vez por ada servidor de
índie, não existe la emnenhum reurso (nemna CPU nem nodiso) de um servidor de
índie. Assim, introduzimosaquiuma abstração para o servidor de índie omoum únio
entrode serviço, ujotempomédio de serviço paraa lasse
r
de onsultas é dadopor:S
r
server
=
hit
r
D
cpu
server
hit
,r
+ (1
−
hit
r
)(
D
server
cpu
miss
,r
+
D
server
disk,r
)
(1)O tempo médio de serviço de uma onsultanum servidor de índie é estimadoomo a
média ponderada do tempo de serviço para ada lasse, om os pesos dados pelas vazões
relativas:
S
server
=
R
X
r
=1
λ
r
λ
S
server
Entradas Desrição
p
Número de servidoresde índieR
Número de lasses de onsultasλ
r
Taxade hegada de onsultas da lasser
(r
= 1
. . . R
)S
broker
p
Tempo médiode serviçode uma onsultanobrokerparaum luster omp
servidores de índieD
server
cpu
hit
,r
Demanda média pela CPU num servidor de índie para a lasser
deonsultas queenontram todas as listas invertidasno ahe dodiso
D
server
cpu
miss
,r
Demanda média pela CPU num servidor de índie para a lasser
deonsultas quereuperam dados dodiso
D
server
disk,r
Demanda média pelo diso num servidor de índie para a lasser
deonsultas
hit
r
Probabilidade de uma lasser
de onsultas enontrar todas as listasinvertidas noahe dodiso
Saídas Desrição
R
system
Tempo médio de resposta dosistema
R
cluster
Tempomédiode residênia deuma onsultanosubsistema deservidores
de índie
R
broker
p
Tempo médio de residênia de uma onsulta no broker para um lusterom
p
servidores de índieR
server
Tempo médio de residênia de umaonsulta num servidor de índie
R
server
r
Tempo médio de residênia num servidor de índie para a lasser
deonsultas
S
server
Tempo médio de serviço de uma onsultanum servidor de índie
S
server
r
Tempo médio de serviço num servidor de índie para a lasser
deon-sultas
U
server
Utilização total de reursos de um servidor de índie
Usando aLeide Little[37℄,autilizaçãodoentrode serviçorepresentandoumservidor
de índie pela lasse
r
de onsultas pode ser estimado ao multipliarS
server
hegada de onsultas
λ
r
orrespondente. A utilizaçãototal doservidor pode ser aluladaomo:
U
server
=
R
X
r
=1
λ
r
S
r
server
(3)Usando uma equação MVA para redes abertas [37℄, podemos estimar o tempo médio
de residênia num servidor de índie para a lasse
r
de onsultas omo:R
server
r
=
S
server
r
1
−
U
server
(4)Finalmente, o tempo médio de residênia num servidor de índie é estimado omo a
média ponderada dos temposde residênia para ada lasse omo:
R
server
=
R
X
r
=1
λ
r
λ
R
server
r
(5)Modelo do Sistema
Otempomédiode resposta dosistemaéasomadostemposmédiosderesidênianobroker
e no subsistema de servidores de índie. O tempo médio de residênia de uma onsulta
nobrokerparaum luster om
p
servidoresde índie pode ser failmenteestimadousandoMVA omo:
R
p
broker
=
S
broker
p
1
−
λS
broker
p
(6)
Um limite inferior simples para o tempo médio de residênia no subsistema fork-join
é obtido ao ignorar os atrasos de sinronização e onsiderando que o tempo médio de
residênianosubsistemaéigualaotempomédiode residênianumservidordeíndie(veja
Equação 5). Entretanto,à medidaqueonúmero de servidoresde índierese, esperamos
um desvio signiante deste limiteinferior devido aos ustos adiionaisde sinronização.
Um número de aproximações para modelos de la om sinronização fork-join, om
vários graus de omplexidade e preisão, estão disponíveisna literatura(veja [3,22,25,34,
40,54,5760,64℄ e referênias nelas itadas). Nelson e Tantawi [40℄ propõem um limite
superior muito simples para o tempo médio de resposta em redes de las fork-join, que
dependeapenas donúmero de servidoresde índie
p
,e dotempomédio de serviçode umaonsulta e utilização do servidor. Os dois últimos parâmetros são failmente estimados
usandoas Equações2 e3. Dadoo
p
-ésimo número harmnioH
p
= 1 +
1
2
+
1
3
+
· · ·
+
1
p
, olimite superior édado por:
R
cluster
≤
H
p
S
server
de resposta do sistemapara nosso meanismo de busana Web:
R
server
+
R
broker
p
≤
R
system
≤
H
p
S
server
1
−
U
server
+
R
broker
p
(8)Validação do Sistema
Uma série de experimentos de validação foram exeutados num ambiente dediado
on-sistindo de um luster de
8
servidores de índie e um únio broker. Usamos uma oleçãoompostapor
10
milhõesde páginasoletadas pelomeanismo de busa TodoBR daWebbrasileira em
2003
. A oleção foi uniformemente distribuída através de8
servidores deíndie, resultando numa suboleção loal de tamanho
b
= 1
.
25
milhões de páginas. Oonjuntode onsultas usadoem nossos testesé omposto por
85
,
604
onsultas numahorade arga alta da série de onsultas TodoBR dobrada, que tem araterístias de tráfego
omumente enontradas emoutras argas de meanismos de busa nomundo.
Os valores dos parâmetros de entrada do modelo foram failmenteobtidos ao
reupe-rar estatístias oletadas pelo sistema operaional Linux e disponibilizadas no sistema de
arquivos /pro, durante o experimento. A Tabela 2 apresenta os valores dos parâmetros
de entrada do modelo obtidos em nossos experimentos. As demandas pelos reursos dos
servidores de índie eas probabilidadesde aertosão médiaspara todos osservidores.
AFigura9mostraotempomédioderesidêniadeumaonsultanumservidordeíndie,
alulada a média sobre todos os servidores de índie, em função da taxa de hegada de
onsultas. A urvaestimado representaosresultados obtidosom aEquação5,aopasso
que a urva medido ontém a média dos tempos de residênia medidos em todos os
8
servidores de índie. Como mostrado naFigura 9,nosso modelo apturarazoavelmentebem o desempenho médio de um servidor de índie típio. Para uma taxa de hegada de
28
onsultas/segundo, oservidorde índieestáseaproximandodoseu pontodesaturação.Para esta arga, o erro introduzido pelo nosso modelo é de apenas
25%
, razoavelmentepequeno para estimativas de tempode resposta [37℄.
As Figuras10 e11mostram resultados experimentaisbemomoo limite inferiore
su-perior,estimadospelaEquação8,em funçãodataxade hegadaedonúmerode servidores
de índie, respetivamente. Na Figura 11, a m de fazer uma omparação justa,
manti-vemos o tamanho da suboleção
b
xa variando apenas o número total de servidoresp
e,Parâmetro Valor
Classe small Classe large
p
(≤
)8 servidoresb
1
.
25
milhõesde páginasS
broker
p
,p
= 2
0
.
33
msS
broker
p
,p
= 4
0
.
39
msS
broker
p
,p
= 8
0
.
52
msD
server
cpu
hit
,r
87
.
72
ms12
.
92
msD
server
cpu
miss
,r
6
.
36
ms
18
.
71
msD
server
disk,r
19
.
47
ms46
.
12
mshit
r
0
.
20
0
.
11
λ
r
/λ
0
.
73
0
.
27
Como as Figuras 10 e 11 mostram, o limite inferior é uma boa aproximação para
sistemasom um número pequeno de servidoresde índiee/ou servidorespouo
sobrear-regados. Entretanto,àmedidaqueaargaouonúmerode servidoresdeíndieaumenta,o
tempomedidoderespostadosistemadesvia signiativamentedolimiteinferiordevidoao
usto adiional de sinronização. Isto ontrasta om trabalhos anteriores que
desonside-ram odesbalaneamentonos tempos de serviço das onsultas entre osservidoresde índie
homogêneos[23℄. De fato,vemos queotempomedidode resposta dosistema aproxima-se
do limite superior para números grandes de servidores de índie e argas pesadas. Em
partiular, para
p
= 8
servidores de índie e uma taxa de hegada deλ
= 28
onsul-tas/segundo, o erro na aproximação é de apenas
7%
. Portanto, o limite-superior provêum aproximação simples de omputar e razoavelmente preisa do tempo de resposta do
sistema de meanismos de busa naWeb realístiose tipiamentesobre arregados.
Um Exemplo de Apliabilidade do Modelo
Nesta seção, disutimos omo usar nosso modelo para o planejamento de apaidade de
meanismos de busa na Web de larga esala. Assumimos uma oleção de
20
bilhões de0.0
0.2
0.4
0.6
0.8
1.0
16
18
20
22
24
26
28
Tempo de residencia (segundos)
Taxa de chegada de consultas (consultas/segundo)
medido
estimado
Figura 9: Tempo médio de residênia de uma onsulta num servidor de índie emfunção
dataxa de hegada de onsultas (
p
= 8
).0.0
0.2
0.4
0.6
0.8
1.0
16
18
20
22
24
26
28
Tempo de resposta (segundos)
Taxa de chegada de consultas (consultas/segundo)
medido
limite inferior
limite superior
Figura10: Tempomédioderespostadosistemaemfunçãodataxade hegadadeonsultas
0.0
0.2
0.4
0.6
0.8
1.0
1
2
3
4
5
6
7
8
Tempo de resposta (segundos)
Numero de servidores
medido
limite inferior
limite superior
Figura 11: Tempo médio de resposta do sistema em função do número de servidores de
índie
p
(λ
= 28
onsultas/segundo).também que ada servidor de índie armazena uma suboleção de tamanho
b
= 10
mi-lhões de páginas a maior oleção que temos disponível para experimentação, o que
requer
2
,
000
servidores de índie para hospedar a oleção inteira. Para obter osparâ-metros do modelo doservidor de índie, exeutamos experimentos num únio servidor de
índie. Usamos uma oleção omposta por aproximadamente
10
milhões de páginaso-letadas pelo meanismo de busa TodoBR da Web brasileira em
2003
. Baseados nestesexperimentos, determinamos os valores dos parâmetros do modelo do servidor de índie,
tais omo as demandas médias pela CPU e diso, e a probabilidade de aerto total no
ahe do diso de um servidor de índie para ada lasse de onsultas. Para obter o
tempo médio de serviço de uma onsulta no broker em função de
2
,
000
servidores deín-die (
S
broker
p
,p
= 2
,
000
), ajustamos uma linha reta para osvalores deS
broker
p
(p
= 2
,
4
,
8
)estimados durante nossosexperimentos de validação(veja a Tabela2). Enontramosuma
aproximaçãobastante preisadada por
S
broker
p
= 3
.
18
e
−
5
p
+ 0
.
000265
,a qualusamosparaderivar
S
broker
p
= 15
.
96
milisegundos parap
= 2
,
000
. A Tabela 3 apresenta os novosvalores dos parâmetros de entrada domodelo usados emnosso exemplo.
Umavez queos parâmetrosdomodelosão omputados,pode-se apliaromodelopara
Parâmetro Valor
Classesmall Classelarge
p
2
,
000
servidoresb
10
milhõesde páginasS
broker
p
15
.
96
msD
server
cpu
hit
,r
27
.
13
ms
72
.
33
msD
server
cpu
miss
,r
28
.
44
ms
92
.
24
msD
server
disk,r
41
.
78
ms111
.
39
mshit
r
0
.
30
0
.
18
λ
r
/λ
0
.
73
0
.
27
de busa na Web quer garantir que o tempo médio de resposta do sistema não exederá
300
milisegundos. Considere tambémque o gerentetem o objetivo de suportar uma taxadehegadade onsultasde
1
,
000
onsultas/segundo. Usandoomodeloomosparâmetrosdesritos na Tabela 3, alulamos o limite superior para o tempo médio de resposta do
sistemaem funçãoda taxade hegada de onsultas. A Figura12mostrao limitesuperior
para o tempo médio de resposta do sistema em função da taxa de hegada de onsultas.
A urva sistemade base representa osresultados derivados pelomodelo om os
parâme-tros estimados experimentalmente(veja a Tabela3). Os resultados para aurva sistema
de base indiam que, mesmo em baixas taxas, o limite superior para o tempo médio de
respostadosistemaexedeolimitedenido pelagerêniadomeanismode busanaWeb.
Queremos avaliarquetipode otimização nos reursos das máquinaspode reduzirotempo
médio de resposta do sistema para menos do que
300
milisegundos. Para isto,onsidera-mos três enários. TambémnaFigura12,as urvasrotuladas de disos 4x,CPUs 4x, e
CPUs/disos4x representamolimitesuperiorparaotempomédioderespostadosistema
para os enários onde as CPUs são quatro vezes mais rápidas, os disos são quatro vezes
mais rápidos, e as CPUs e disos são ambos quatro vezes mais rápidos, respetivamente.
Estes são ostrês enários analisados aseguir.
Cenário 1- Disos sãoquatro vezes mais rápidos.
parâmetro domodelo aodividira demanda pelodiso por um fator de quatro. A solução
do modelo om os novos parâmetros produz o novo limite superior para o tempo médio
de resposta do sistema. Os resultados mostramque olimite superior para o tempo médio
de resposta do sistema diminui signiativamente, om ganhos de
7
.
49
vezesaproxima-damente sobre o sistema de base quando o mesmo está se aproximando do seu ponto de
saturação(
λ
= 10
onsultas/segundo). Tambémobservamos queataxade hegadasupor-tada(
λ
= 15
onsultas/segundo)aumenta1
.
50
vezesaproximadamentequandoomparadaàtaxade hegadasuportadapelosistemadebase(
λ
= 10
onsultas/segundo). Entretanto,o limitesuperior ainda exede o limitedenido mesmoem argasleves.
Cenário 2- CPUs são quatrovezes mais rápidas.
Nosegundo enário,queremosavaliaroimpatonotempode resposta de umaonsultade
CPUs que são quatro vezes mais rápidas. A maneirade modelar as novas CPUs é dividir
ademanda pelaCPUporum fatorde quatro. Usando omodelo, alulamoso novo limite
superior para o tempo médio de resposta do sistema. Os resultados indiam que a
on-guração om CPUs mais rápidas supera ligeiramenteo desempenho da onguração om
disosmais rápidos,om ganhosde
8
.
26
vezesaproximadamentequando osistemadebaseestá seaproximandodasaturação. Tambémobservamosque ataxade hegadasuportada
(
λ
= 16
onsultas/segundo) aumenta1
.
60
vezes aproximadamente quando omparada àtaxa de hegada suportada pelosistema de base (
λ
= 10
onsultas/segundo). Entretanto,o limite superior ainda exede o limite denido mesmo emargas leves (omono Cenário
1).
Cenário 3- CPUs e disos sãoambos quatrovezes mais rápidos.
No tereiro enário, queremos veriar o impato no tempo de resposta de uma onsulta
de CPUs e disos que são ambos quatro vezes mais rápidos. Para modelar os novos
re-ursos, dividimos as demandas pela CPU e pelo diso por quatro. A solução do modelo
om os novos parâmetros produz o novo limite superior para o tempo médio de resposta
do sistema. Os resultados indiam que o tempo médio de resposta do sistema é menor
do que
297
milisegundos numa taxa de hegada de14
onsultas/segundo, o que satisfazo objetivo de nível de serviço para o meanismo de busa na Web de
300
milisegundospor onsulta. Os resultados também mostram uma redução notável no limite superior
para otempomédio de resposta dosistema,om ganhos de
35
.
90
vezes aproximadamente(
λ
= 10
onsultas/segundo). Além disso, observamos um aumento expressivo na taxa dehegada suportada (
λ
= 42
onsultas/segundo), om ganhos de4
.
20
vezesaproximada-mentesobre o sistemade base (
λ
= 10
onsultas/segundo).Ainda temosquesatisfazeroobjetivodesuportarumataxadehegadade onsultasde
1
,
000
onsultas/segundo. Para suportarumataxadehegadadeonsultas maiselevada,olusterdeservidoresdeíndieéusualmenterepliado[14,18,45℄. Repliaçãoenvolveustos
adiionais relativamente pequenos, podendo-se esperar ganhos aproximadamente lineares
na taxa de hegada de onsultas suportada em função do número de sistemas repliados.
O objetivo de suportar uma taxa de hegada de onsultas de
1
,
000
onsultas/segundopode ser atingido ao riar
72
réplias do luster de2
,
000
servidores de índie, adaré-plia suportando uma taxa de hegada de
14
onsultas/segundo e garantindo um tempode resposta de
297
milisegundos. Portanto, nosso modelo indiaque um luster ompostopor
144
,
000
servidores de índie (72
réplias doluster×
2
,
000
servidoresde índie num luster) atingiriaodesempenho desejado. Algumas espeulaçõessugerem que meanismosde busanaWeb delargaesalapodemde fatoadotarlustersomváriosmilharesde
má-quinas,mas, até ondesabemos, nãoexistemdados disponíveispubliamentepara suportar
esta informação. Se ada servidor de índie manipular uma suboleção maior, o número
total de servidores num luster pode ser menor. Assim, deve-se ser auteloso antes de
extrapolarnossosresultadosilustrativosparaumluster arbitráriodequalquermeanismo
de busanaWeb. Neste aso,paraoutrasoleçõesde doumentoseparaoutrasmáquinas,
os parâmetrosdo nosso modelo podem ser estimados experimentalmente.
Este exemplomostra omoum modelode planejamentode apaidaderazoavelmente
pre-iso provê umaferramentamuito útilpara a gerênia apropriada de serviços modernosde
busa naWeb baseados em luster.
Conlusões
Nestatese, provemos umarabouçoparaoprojetoeanálisedainfra-estruturade
meanis-mos de busanaWeb. Neste arabouço(i)investigamoseanalisamosodesbalaneamento
entre osservidoresde índiehomogêneosnum lusterpara proessamento paralelode
on-sultas e (ii) propusemos um modelo de planejamento de apaidade para meanismos de
10.0
8.0
6.0
4.0
2.0
0.3
50
40
30
20
14
10
0
Tempo de resposta (segundos)
Taxa de chegada de consultas (consultas/segundo)
sistema de base
discos 4x
CPUs 4x
CPUs/discos 4x
Figura12: Limite superior para otempomédio de respostado sistemaemfunção dataxa
de hegadade onsultas derivado emnosso exemplo.
Analisando o Desbalaneamento entre os Servidores de Índie
Ho-mogêneos
Como resultado da nossa análise da questão do desbalaneamento, veriamos que o
e-nário idealizado, que supõe tempos de serviço balaneados omo uma onseqüênia da
distribuição uniforme de dados entre os servidoresde índie homogêneos, éimprovável de
aonteer na prátia. Esta é uma ontribuição importante porque ontradiz uma
suposi-çãousual detemposdeserviço balaneadosfeitapormuitosmodelosteóriosnaliteratura
para simpliarsua tarefa de modelagem[20,23,44℄. Nossas desobertas são derivadas de
uma análise experimental detalhada usando um sistema de reuperação de informação e
dados reais obtidos de um meanismo de busa real. Além de veriar a presença de um
erto nívelde desbalaneamentoentre os servidoresde índie homogêneos,identiamose
araterizamos as prinipaisfontes deste desbalaneamentoinesperado.
Oprinipalfatorparaodesbalaneamentoéousodoahe dodiso nos diferentes
ser-vidores de índie. Veriamosqueo desbalaneamentopara adaonsultaaumentaom o
númerodeservidoresdeíndiequereuperamosdoumentosneessáriosdoahedodiso.
restantes usam o ahe do diso para a mesma onsulta. Por outro lado, o melhor aso
paraevitar desbalaneamentoéalançadoquandotodososservidoresde índieoperamna
regiãodoahe,levandoassimatemposdeaessoadisorelativamentemenoresesimilares
através do luster de servidores. Outra fonte de desbalaneamento identiada é o
tama-nhodamemóriaprinipaldosservidoresde índiehomogêneos,queafetaadisponibilidade
de reursos para o uso do ahe do diso nos servidores. Veriamos que o
desbalanea-mentomédiodiminuienquantootamanhodamemóriaprinipalaumenta. Outrafontede
desbalaneamento identiada é o número de servidores de índie noluster. Veriamos
que, para um tamanho xo de memóriaprinipal, o desbalaneamento médio nos tempos
de serviço entre osservidores de índieaumentaom o númerode servidores noluster.
Um Modelo de Planejamento de Capaidade para Meanismos de
Busa na Web
Também, propusemos um modelo de planejamento de apaidade para meanismos de
busa na Web que onsidera o desbalaneamento nos tempos de serviço de uma onsulta
entre osservidores de índiehomogêneos. Nosso modelo, baseado nateoriade las, é
sim-pleserazoavelmentepreiso. Paraajustaromodelo,exeutamosexperimentosnumluster
pequeno de servidores de índie. Uma vez ajustado, omparamos as predições do nosso
modeloomosresultadosmedidosempiriamenteeenontramosgrandeonordânia. Até
mesmonopontodesaturação, asprediçõesdonossomodeloforamrazoavelmentepreisas.
Também, ilustramosomoapliarnossomodeloparapredizer otempode resposta deuma
onsultaao adotar CPUs e disos mais rápidos doque aqueles emuso. Consideramosum
enário realístio,onde uma oleção de
20
bilhões de doumentosé distribuída através de2
,
000
servidoresdeíndie. Emnossoexemplo,mostramosqueogerentedeummeanismode busa pode rapidamente predizer limites superiores para o tempo de resposta de uma
onsultasem ter que exeutarexperimentos.
Dada a omplexidade da manutenção de meanismos de busa, e a simpliidade e
razoável preisão do nosso modelo, areditamos que nosso modelo pode ser muito útil na