• Nenhum resultado encontrado

Projeto e análise de sistemas de busca na web

N/A
N/A
Protected

Academic year: 2017

Share "Projeto e análise de sistemas de busca na web"

Copied!
136
0
0

Texto

(1)

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

(2)
(3)

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.

(4)
(5)

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

(6)

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

(7)

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

(8)

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

(9)

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,

(10)
(11)

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,

(12)
(13)

Artigos Publiados em Periódios (Completo)

C. S.Badue, R.Baeza-Yates,B. Ribeiro-Neto,A.Ziviani,and N.Ziviani. Analyzing

imbalane 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. Distributed

proessing 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 query

proessing 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.

(14)

Pro-(CIKM'06), pages 842 - 843, Arlington,VA, USA, 2006.

C. S.Badue, R. Barbosa, P. Golgher,B. Ribeiro-Neto, and N. Ziviani. Basi issues

on the proessing of web queries. In Proeedings of the 28th Annual

Internatio-nal ACM SIGIR Conferene on Researh and Developmentin InformationRetrieval

(15)

Introdução

Motivação

AWorldWideWebdatadomdadéadadosanos

80

[17℄eninguémpoderiaterimaginado

seu 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 busa

pelomenos uma vez aodia,

21

.

2%

usam osmeanismos de busa quatro oumais vezes ao

dia, e

22

.

7%

usam os meanismos de busa múltiplas vezes por semana, o que india que

o 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

(16)

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 exeuta

uma meslagememmemóriaparadeterminar as

10

respostasnais aserem enviadas para

o 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

(17)

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 de

p

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 omputaional

paraproessamentoparalelodeonsultas 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

(18)

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 que

onsideraodesbalaneamentonostemposde 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.

(19)

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índie

homogêneos. A oleçãode testeéompostapor

10

milhõesde páginasWeb oletadas pelo

meanismo de busaTodoBRda Web brasileiraem

2003

. Oonjuntode onsultas usados

em nossos testes é omposto por

100

mil onsultas, extraídas de um registro parial de

onsultas 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áximo

exatamenteigualaotempodeserviçomédio. Àmedidaqueamétriadedesbalaneamento

torna-se progressivamente maior que

1

, existe uma forte indiação de que o tempo de

resposta 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 om

7

servidores de índie.

Observamosqueasdistribuiçõesdouso doarmazenamentosãomuitosimilaresatravésdos

(20)

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

(21)

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. Observamos

que 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 diso

maiores que

4

,

5

milisegundos. Atribuímos a primeira região de tempos loais de aesso

ao 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

(22)

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 que

2

deles

operam 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 diso

para reuperar os dados neessários, obtendo o menor desbalaneamento (

1

.

38

) entre os

asos 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 desbalaneamentomuito

maior (

3

.

45

) porque um únio servidor de índie tem um tempo de serviço muito maior

que 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 osservidores

(23)

luster 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

(24)

entre o tamanho da onsulta e a freqüênia da onsulta. Se esta razão é maior ou igual

a

0

.

25

e menor ouigual a

4

, então o tamanhoe a freqüênia da onsultasão relaionados

por um fator de

4

, o que onsideramos omo representando um razoável nível de relação

entre 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 ahe

(25)

demandadaspelasonsultasmaisfreqü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 das

onsultas. 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õem

vo-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 os

menores 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

(26)

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, ao

variar 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,

(27)

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

(28)

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. Cada

sub-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édias

pelaCPU 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

(29)

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

(30)

Entradas Desrição

p

Número de servidoresde índie

R

Número de lasses de onsultas

λ

r

Taxade hegada de onsultas da lasse

r

(

r

= 1

. . . R

)

S

broker

p

Tempo médiode serviçode uma onsultanobrokerparaum luster om

p

servidores de índie

D

server

cpu

hit

,r

Demanda média pela CPU num servidor de índie para a lasse

r

de

onsultas queenontram todas as listas invertidasno ahe dodiso

D

server

cpu

miss

,r

Demanda média pela CPU num servidor de índie para a lasse

r

de

onsultas quereuperam dados dodiso

D

server

disk,r

Demanda média pelo diso num servidor de índie para a lasse

r

de

onsultas

hit

r

Probabilidade de uma lasse

r

de onsultas enontrar todas as listas

invertidas 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 luster

om

p

servidores de índie

R

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 lasse

r

de

onsultas

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 lasse

r

de

on-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 multipliar

S

server

(31)

hegada de onsultas

λ

r

orrespondente. A utilizaçãototal doservidor pode ser alulada

omo:

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 failmenteestimadousando

MVA 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 uma

onsulta e utilização do servidor. Os dois últimos parâmetros são failmente estimados

usandoas Equações2 e3. Dadoo

p

-ésimo número harmnio

H

p

= 1 +

1

2

+

1

3

+

· · ·

+

1

p

, o

limite superior édado por:

R

cluster

H

p

S

server

(32)

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ção

ompostapor

10

milhõesde páginasoletadas pelomeanismo de busa TodoBR daWeb

brasileira em

2003

. A oleção foi uniformemente distribuída através de

8

servidores de

índie, resultando numa suboleção loal de tamanho

b

= 1

.

25

milhões de páginas. O

onjuntode onsultas usadoem nossos testesé omposto por

85

,

604

onsultas numahora

de 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 apturarazoavelmente

bem 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%

, razoavelmente

pequeno 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 servidores

p

e,

(33)

Parâmetro Valor

Classe small Classe large

p

(

)8 servidores

b

1

.

25

milhõesde páginas

S

broker

p

,

p

= 2

0

.

33

ms

S

broker

p

,

p

= 4

0

.

39

ms

S

broker

p

,

p

= 8

0

.

52

ms

D

server

cpu

hit

,r

87

.

72

ms

12

.

92

ms

D

server

cpu

miss

,r

6

.

36

ms

18

.

71

ms

D

server

disk,r

19

.

47

ms

46

.

12

ms

hit

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 de

(34)

0.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

(35)

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 os

parâ-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áginas

o-letadas pelo meanismo de busa TodoBR da Web brasileira em

2003

. Baseados nestes

experimentos, 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 de

S

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 qualusamospara

derivar

S

broker

p

= 15

.

96

milisegundos para

p

= 2

,

000

. A Tabela 3 apresenta os novos

valores dos parâmetros de entrada domodelo usados emnosso exemplo.

Umavez queos parâmetrosdomodelosão omputados,pode-se apliaromodelopara

(36)

Parâmetro Valor

Classesmall Classelarge

p

2

,

000

servidores

b

10

milhõesde páginas

S

broker

p

15

.

96

ms

D

server

cpu

hit

,r

27

.

13

ms

72

.

33

ms

D

server

cpu

miss

,r

28

.

44

ms

92

.

24

ms

D

server

disk,r

41

.

78

ms

111

.

39

ms

hit

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 taxa

dehegadade onsultasde

1

,

000

onsultas/segundo. Usandoomodeloomosparâmetros

desritos 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.

(37)

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

vezes

aproxima-damente sobre o sistema de base quando o mesmo está se aproximando do seu ponto de

saturação(

λ

= 10

onsultas/segundo). Tambémobservamos queataxade hegada

supor-tada(

λ

= 15

onsultas/segundo)aumenta

1

.

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 osistemadebase

está seaproximandodasaturação. Tambémobservamosque ataxade hegadasuportada

(

λ

= 16

onsultas/segundo) aumenta

1

.

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 de

14

onsultas/segundo, o que satisfaz

o objetivo de nível de serviço para o meanismo de busa na Web de

300

milisegundos

por 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

(38)

(

λ

= 10

onsultas/segundo). Além disso, observamos um aumento expressivo na taxa de

hegada suportada (

λ

= 42

onsultas/segundo), om ganhos de

4

.

20

vezes

aproximada-mentesobre o sistemade base (

λ

= 10

onsultas/segundo).

Ainda temosquesatisfazeroobjetivodesuportarumataxadehegadade onsultasde

1

,

000

onsultas/segundo. Para suportarumataxadehegadadeonsultas maiselevada,o

lusterdeservidoresdeí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/segundo

pode ser atingido ao riar

72

réplias do luster de

2

,

000

servidores de índie, ada

ré-plia suportando uma taxa de hegada de

14

onsultas/segundo e garantindo um tempo

de resposta de

297

milisegundos. Portanto, nosso modelo indiaque um luster omposto

por

144

,

000

servidores de índie (

72

réplias doluster

×

2

,

000

servidoresde índie num luster) atingiriaodesempenho desejado. Algumas espeulaçõessugerem que meanismos

de 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

(39)

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.

(40)

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 de

2

,

000

servidoresdeíndie. Emnossoexemplo,mostramosqueogerentedeummeanismo

de 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

Imagem

Figura 1: Arquitetura de um me
anismo de bus
a típi
o.
Figura 3: Distribuição dos tempos lo
ais de serviço por 
onsulta.
Figura 4: F unção densidade de probabilidade dos tempos lo
ais de a
esso ao dis
o.
Figura 5: Desbalan
eamento 
ausado pelo número de servidores de índi
e operando na
+7

Referências

Documentos relacionados

b) Organizações do setor voluntário – Aplicação de formulário com questões abertas e fechadas, conforme mostra o Apêndice A, a 28 pessoas sendo: uma

[18] Serviços Farmacêuticos do Centro Hospitalar do Porto E.P.E., “Instrução de trabalho - Elaboração de listagem para verificação e controlo de prazos de validade

- um campo relativo ao seu próprio papel de actuação, no qual possui uma real autonomia e aplica o seu próprio saber. O papel do enfermeiro passa a ser não de subserviência, mas de

Assente nos princípios de que a educação é um direito de todos independentemente das suas características individuais, que as escolas e os sistemas escolares devem

Sabe-se que embora esteja implícito nos discursos, na Constituição Federal, no Estatuto da Criança e do Adolescente – ECA, refletido por meio da lei 8.069 de 13/07/90, de

Eu sei o que vai dizer a seguir: «Por favor, dispense a Menina Quested do pagamento, para que os Ingleses possam dizer, Aqui está um nativo que efectivamente se comportou como

Especificamente quanto aos fatores que influenciam o aumento ou redução da variação de área plantada da soja no bioma Amazônia entre 2003 e 2011, pode-se afirmar que a maior parte

Relativamente aos outros motivos apresentados, 33% das empresas (3) consideram que a rapidez da aquisição é um motivo muito importante, apenas duas (22%) consideraram