Un enfoque paralelo para el procesamiento de consultas sobre base de datos textuales

Texto completo

(1)

sobre Base de Datos Textuales

M. Printista, V. Gil Costa

Departamentode Informatia

Universidad Naionalde San Luis

San Luis, Argentina

fmprinti,gvostagunsl.edu.ar

Mauriio Marn

Departamentode Computaion

Universidad de Magallanes

Punta Arenas, Chile

mmarinona..umag.l

Resumen

Enesteartiulodesribimosdosestrategias lasiasparalaresoluionparaleladeonsultassobre

bases de datos textuales: listas invertidasloales y listas invertidasglobales. Proponemos una

soluion para ada una de estas estrategias onstruidas a partirde la tenologaexisten teen la

ualseutiliza elmodelodeomputaionparalelaBSP. Se presenta unanalisis deperformane,

desarrolladoutilizandolalibreraPUBorientadaalmodeloBSP.

Palabras Claves:Paralelismo,Sinronizaion,Superpaso, ListasInvertidas,Base de Datos Textuales.

1 Introduion

VariossonlosmodelosdeComputaionParalelaquehansurgidoonlaideadeubrirelvaoexistente

entreelhardware(plataformasparalelas)yelsoftw arequepermitesuuso.Unodelosmaspromisorios,

esel modeloBulk Synhronous Parallel BSP,propuesto en 1990 porLeslieValiant [12 ℄. Tiene omo

prinipalesobjetivospermitirel desarrollode software esalablee independientede laarquiteturay

proveerunentornodetrabajosimpleypratioparaomputaionesparalelasdepropositogeneral. Las

araterstiaslavesdeBSP son eltratamiento delmedio de omuniai on omouna redabstrata

totalmenteonetadayunmodelodeostodeomuniaionysinronizaionindependienteyexplito.

Enlos ultimos a~nos seha demostradola utilidadpratiadel modelo BSP en variasapliaiones

de Computaion Paralela. En partiular, el modelo BSP ha sido ampliamente utilizado en la

par-alelizaioneiente de algoritmosnonumeriosyestruturas dedatos lasias deCieniade la

Com-putaion. Sinembargo, un tipo de estrutura queno ha sido muyestudiada eslaLista Invertida[9 ℄,

laual esampliamente utilizadapara reduir lostiemposde respuestaa onsultasde informaionen

grandes bases de texto tales omo Google o Yahoo.Otros investigadoreshan intentadoparalelizar

estaestruturade datosutilizandomodelostradiionalesde omputaion paralelatalesomo pasode

mensajesmediantePVMoMPI(e.g.,[1 ,15 ℄). Estosexperimentoshandemostradoqueestaestrutura

de datos puedeserparalelizadade maneraeiente.

Esinteresanteen tones estudiar,medianteunaimplementaionreal,quetaneientepuedeserla

paralelizaion deListas Invertidas enelmodeloBSP.Lasventajasdehaer estoprovienendelpropio

modelodeomputaionelual,adifereniadelosmodelostradiionales,proporionaunametodologa

bienestruturada ysimplede dise~noyanalisis de algoritmosparalelos.

Eneste artulo sedesribe el modelo BSP,en partiular las araterstiasintroduidas por una

biblioteade omuniaionesreienteparaeste modelo,seproponendosimplementaionesBSPpara

Listas Invertidas,y se evalua la eienia omparativa de ambas mediante experimentos sobre un

luster de PCs. Este trabajo onstituye laprimera implementaion BSPde Listas Invertidasque se

onoe en laliteraturarelaionada onel tema [9℄.

La soluiones queproponemosestan en el ontexto de la implementaion de un servidor paralelo

dediadoareibirungranujodeonsultasdesdealWeb. Enesteasodistinguimosentrelos

(2)

P1

P2

P3

P4

RED

(MEDIO DE COMUNICACION ENTRE

LOS PROCESADORES )

PROCESADORES CON MEMORIA LOCAL

Figura 1: UnaComputadoraBSP onP Proesadores

de produirlasrespuestas alos lientes(eneldise~notambien inluimosuna maquinaliente/usuario

paraefetos desimularuna arga de trabajomasrealistaen los experimentos realizados).

2 El Modelo de Computaion BSP

En lagura 1se muestrauna omputadoraBSP generialaual sedene dela siguientemanera:

1. Un onjunto de pares proesador-memoria.

2. Unaredde omuniaiones que permitelaentrega de mensajespunto a punto.

3. Un meanismo desinronizaion entreproesadores.

Una omputadora BSP queda araterizada por el anho de banda de la red de interonexion,

el numero de proesadores, sus veloidades y por el tiempo de una sinronizaion entre todos los

proesadores. Todasestasaraterstiasformanpartede losparametros deuna omputadoraBSP .

ElmodeloBSP estableeunnuevoestilo de programaion paralelaparalarealizaionde programas

de propositogeneral, uyas araterstiasprinipales son su failidad y senillez de esritura, su

independeniade laarquiteturasubyaente(portabilidad)ysupreditibilidadde laperformane.

BSP logra las propiedades anteriores elevandoel nivelde abstraion on que los programasson

esritos. UnadelasformasqueBSP lograestaabstraionesrenuniandoalaloalidaddeprogramas

omooptimizaionde laperformane. Estosimpliamuhosaspetos eneldise~noe implementaion

de unprograma,yno produeunefeto demasiadoadverso en laperformane. Porsupuesto,existen

dominiosdeapliaiondondelaloalidadesrtia,porejemploelproesamientode imagenesa bajo

nivel, yen estosasosBSP no esuna buenaeleion [11 ℄.

3 El modelo de Programaion BSP

Aunque BSP se ha denido omo un modelo de arquitetura, tambienesposible onsiderarlo omo

una disiplina de programaion. La esenia de un enfoque BSP para la programaion paralela es

el onepto de superpasos,en los uales la omuniai on ysinronizaion ourrenompletamenteen

fases separadas.

Se dene un paso (step) omo una operaionbasiaque se realiza sobre datos loales de un

proesador. Todo programa BSP onsiste en un onjunto de estos pasos, denominados superpasos.

Como se muestra en la Figura 2, los superpasos estan separados por sinronizaiones globales. En

ada superpasoexiste primerouna fase de omputaion loalindependiente, le sigueuna fase global

(3)

arribanal omienzodel proximosuperpaso.

Procesadores

Computaciones

Locales

Comunicaciones

Sincronización

(Barrier)

Figura 2: Superpaso: Computaion,ComuniaionySinronizaionGlobal

Cualquierpetiion de datos remotos se puede realizar durante el superpaso, pero estos datos no

se podran utilizar hasta entraral siguiente superpaso, despues de la sinronizaion. Todasestas

petiiones son no bloqueantes, es deir no quedan a la espera de los datos sino que ontinuan on

su omputaion. Esta forma de proeder permite a los dise~nadoresde algoritmosparalelos tener un

modelo uyo osto essenillode alular.

Esta forma de programaion paralelaes validaen muhas omputadoras, tanto de memoria

dis-tribuida,omo de memoriaompartida yen lasredesde wokstations.

4 La Librera Puderborn University BSP

ElmodeloBSP nointervieneen lasmetodologasutilizadaspara realizarlos omputosen los

proe-sadores ni omo sedeben llevara abo las omuniaiones. El modelo deneque un programa debe

dividirseen superpasosyquealnalde adauno debeexistir unasinronizaion globaldelos

proe-sadores. Partiendode esta base, elmodeloBSP puedeexpresarse en muhoslenguajesylibrerasde

pasaje de mensajes. El unio requerimiento es que todas ellas proporionen meanismos de

omuni-aion no bloqueantesy unaforma de implementarsinronizaion porbarrera.

Sinembargo, algunaslibrerasde pasaje demensajesomoPVM [5 ℄ yMPI [11 ℄estan basadas

en primitivos de omuniaion tales omo send y reeive. Si un proeso ejeuta un send, otro

proesosobreelproesadordestinodeberainvoarelorrespondientereeive. Utilizandoestetipode

primitivosdeomuniai on,sehaemuydiultosoanalizarlaorreionydeterminarlaomplejidad

de tiempo de losprogramas depasaje de mensajes.

Eldesarrollo de softwareexpl ito,orientado al modelo BSP ha sido prinipalmentepromovido

por el grupo de MColl y Hill en Oxford, dando lugar en 1996 a la Oxford BSP Library [5 ℄. Su

araterstia prinipalesquelas omuniaionesque seproduenenun superpaso,seretrasan hasta

el nal del mismo. Al nalizarsufase de omputaion yproduirse lallamada a la orrespondiente

barreraseproduenlasomuniaionesenbloque. Estemodeloesmenospropensoaaerendeadlok

dadoque noseneesita realizar reeiveexplitos.

Otra libreraorientada al modelo BSP es la Paderborn UniversityBSP [3 ℄. PUB ofree, en

prinipio,lamismafunionalidadbasiadeBSP. Laesenia delenfoquePUB paralaprogramaion

paralelaeseloneptodesuperpasos. Noobstante,uatroaraterstiasladistinguendeotraslibrera

orientadas almodelo de omputaion BSP:

Provee unamplioonjunto deoperaionesde omuniai on oletivasomobroadast,redue

(4)

adaunodelosualespuedeatuaromouna omputadoraBSP autonomaonsuonjuntode

proesadores ysus propiospuntosde sinronizaion.

Introdueel onepto deobjetosBSP,losualesseranutilizadosparadistinguirlossubgrupos

de proesadores, para mantener modularidad y seguridad y nalmente para asegurar que los

mensajesenviados en diferentes threadsnoseintereranenteellos.

Introdueun meanismo de sinronizaion llamadooblivio (oblivious synronization). Coneste

meanismoPUB haedisponibleunmeanismo desinronizaionde osto ero,quesolo puede

ser utilizadosise onoe uantosmensajesdebe reibiradaproesador.

5 Un ejemplo: proesamiento paralelo de onsultas en bases de

datos textuales

ParapoderdisutirlasfailidadesyanalizarlasaraterstiasdelmodeloBSP atravesdeuna

imple-mentaionPUB,nosotros hemosdesarrolladouna apliaionparalelasobreun reddeomputadoras.

Este trabajo disute laresoluion paralelade onsultassobre bases de datos textuales utilizando

es-truturasde datos onoidasomo listas(ondies)invertidas.Elobjetivo de las listasinvertidas es

aelerar el proeso de reuperaion de todos los doumentos que ontienen un onjunto de palabras

espeiadas en una onsultaproporionadaporelusuario.

5.1 Arquitetura del Sistema

El problema onsiste en resolver Q = P q onsultas sobre bases de datos textuales que estan

dis-tribuidas en una red de P servidores. Parala implementaionde una arquitetura adeuada del

problema,esneesarioontaronuna reddealmenosNP =P+2maquinasonetadas,alasuales

seles asignara diferentesategoras de atividades.

Unadelasmaquinasdelared,llamadamaquinafront-end ousuario,serautilizadapararealizarel

proesode generaiondeonsultas. Otramaquina,denominadamaquina broker,seralaenargadade

reibirlasonsultasprovenientesdelamaquinausuario,seleionardeentrelasmaquinasdelservidor

la maquina que debera realizarelranking nal, (maquinar anker) y luego dirigir las onsultas haia

elservidor.

Lamaquinaranker deberaseleionarlosKmejoresdoumentosqueserandevueltosalamaquina

fr ont-end de auerdo a la onsultarealizada. Estamaquinaes seleionada onsiderandola argade

trabajo pendienteque tengaadauna de las maquinas delservidor.

Elrestode proesadores, esdeirP,onstituiranel servidorparalelode la basede datos textual.

Este onjunto de maquinas sera refereniadoomo maquinasdel servidor.

5.2 Listas Invertidas

Laslistasinvertidassonestruturasdealmaenamientoqueproveenunaformasenillaparaalmaenar

informaion. Laslistasinvertidas, almaenaran t erminos obtenidos apartir de todoslos doumentos

que perteneen a la base de datos y que luego seranonsultados durante el proeso de resoluion

de onsultas. Parauna oleion de doumentos, la estrategia de listas invertidases una tabla de

voabularioordenadalexiograamente,dondeadaentradaontieneuntermino(Key)yunalistade

indentiadoresdedoumentosqueontienenaltermino(opionalmentepuedeninluirlaposiiondel

terminoylaantidaddevees queaparee elterminoeneldoumentoqueestasiendoanalizado). En

estetrabajo,elenfoqueparalelosehaexplotado,tanto enlaonstruiondelaslistasinvertidasomo

enelproesamiento delasonsultas. Dosteniassonomunmenteutilizadasparalaonstruionde

listasinvertidas,llamadaslistas invertidas loalesylistasinvertidas globales. La estrategia de listas

invertidasloales, es el aso mas simple de generaion de ndies,debido a que ada maquina del

(5)

las P maquinasdel servidortienenalmaenados susdoumentos).

//- Maquinasdel servidor

*Mientras hayan doumentos loales

*Busar terminosde interespara armar la lista invertida loal

*Ordenar la lista lexiografiamente

*Realizar los alulosneesarios para el ranking

*Guardar la lista invertida loal en memoria seundaria

Figura3: Construionde listasinvertidas loales

Lagura 4muestraelproedimientoparalaonstruiondelalistainvertidaglobal.Lamaquina

broker tienela tarea degenerar lalista invertidaen base atodos losdoumentos de labase de datos

yluego seenarga de distribuirlosterminosuniformente en tre lasmaquinasdel servidor.

//- Maquinabroker

*Mientras hayan doumentos en la base de datos

*Busar terminos de interespara armar la lista invertida global

*Ordenar la lista lexiografiamente

*Construir el arreglo de pivotes

*Realizar los alulos neesarios para el ranking

*Distribuir uniformemente los terminosjunto on las listas de

identifiadores de los doumentos entre las maquinasdel servidor

//- Maquinasdel servidor

*Reibir los terminosjunto on las listas de identifiadores

*Rearmar la lista invertida

*Guardar la lista invertida en memoria seundaria

Figura4: Construion delistasinvertidasglobales

5.3 Proesamiento de Consultas

La Figura 5muestrael proedimiento, enseuenia, neesariopararesolveruna onsulta,utilizando

la teniade listas invertidasloales. El proedimiento onsta de variassubtareas ejeutadas por

las distintas ategoras de maquinasde la red onsiderada. Mientras que la Figura 6 muestra el

proedimiento neesariopararesolveruna onsulta,parael asode las listasinvertidas globales.

6 Caraterstias

ElmodelopratiodeprogramaionparaelmodeloBSP esSPMD(SingleProgramMultipleData),

donde el odigo del programa es el mismoen todos los proesadores, es deir que si hay NP

proe-sadores entones hayNP opias delprograma orriendo. La omuniai on ysinronizaion entre las

opiasesrealizadaa traves delas funionesprovistasporlalibreraPUB.

6.1 Objetos BSP y Subgrupos

PUB ofree la posibilidadde partiionar el onjunto iniial de proesadores en variossubonjuntos

(6)

*Obtener una nueva onsulta

*Enviar la onsulta al broker

//- Maquinabroker

*Reibir la nueva onsulta

*Seleionar la maquinaranker

*Seleionar la maquinavtimadel servidor

a quien enviarle el mensaje

*Enviar el mensanje

//- Servidor Paralelo

//- Maquinavtima

*Reibir el nuevo mensaje

*Realizar un broadast del mensaje

//- Maquinasdel servidor

*Reibir el nuevo mensaje

*Realizar un pre-ranking bas andoseen la lista invertida loal

*Enviar los resultados a la maquinaranker

//- Maquinaranker

*Reibir mensajes del servidor

*Integrar los resultados pariales que arriban desde los otros

proesadores para obtener el resultado final

*Enviar el resultado a la maquinabroker

//- Maquinabroker

*Reibir el resultado de la onsulta

*Enviar el resultado a la maquinausuario

Figura5: Resoluionde onsultasen listasinvertidas loales

varias ventajas. Laprimera, esqueamenudo losproesos neesitanejeutaralgoritmosdiferentesen

paralelo. La segunda,esquemuhosalgoritmosempleannaturalmenteuna teniadividey veneras,

la resoluion de onsultas en una base de datos textual distribuidaes un ejemplo de ello. La terer

ventaja es que los ostos de sinronizaion no son tpiamente onstantes y se inrementan on el

numero de proesadores. La sinronizaion es, por lo tantomasrapida que sinronizar todos los

proesadores.

Para realizarlaonstruionde las listasinvertidas yelproesamiento delas onsultas, fue

nee-sariodividirlosproesadoresdelamaquinaBSP endosgrupos: elprimeroonformadoporlamaquina

usuarioy broker yelotro onformadoporlas maquinas delservidor. Paraelloseutilizolaseuenia

de funiones,bosquejadaen laFigura 7.

Silallamadabsp_npros(bsp)devuelvequeelnumerodeproesadoresiniialesesNP,entones

elllamadoabsp_partition()delaFigura 7,partiionaelonjuntodeproesadoresendossubgrupos

((0..1)y (2..NP-1)),adauno de los ualesatua omo una omputadoraBSP autonoma, on su

propia numeraion de proesadores y administraion de mensajes. La llamada retorna un puntero

subbspalnuevo objetoBSP. Deesta manera, los proesadores orrespondientesalservidor pueden

(7)

*Obtener una nueva onsulta

*Enviar la onsulta al broker

//- Maquinabroker

*Reibir la nueva onsulta

*Generar un nuevo mensaje por ada terminode la onsulta

*Seleionar la maquinaranker

*Enviar el mensaje al servidor utilizando el arreglo de

pivotes

//- Servidor Paralelo

// - Maquinas del servidor

*Reibir el nuevo mensaje

*Realizar un pre-ranking bas andoseen la lista invertida loal

*Enviar los resultados a la maquinaranker

//- Maquina ranker

*Reibir los nuevos mensajes

*Integrar los resultados pariales que arriban desde los

otros proesadores para obtener el resultado final

*Enviar el resultado a la maquinabroker

//- Maquinabroker

*Reibir el resultado de la onsulta

*Enviar el resultado a la maquinafront-end

Figura 6: Resoluion deonsultas enlistasinvertidasglobales

puedeobservargraamente en laFigura 8.

Elodigodelalnea22,enlaFigura7,estasinronizandosololosproesadores delservidor ypor

lo tanto la maquina del usuario yapodra avanzaron la generaion yproesamiento de otro bath

de onsulta. Porotro lado, en la lnea25 la llamadaa bsp_syn(&bsp), todos los proesadores de

lamaquinaBSP estaraninvoluradoseneste punto de sinronizaion. Estasinronizaion eslaque

orrespondeala estruturade superpasos.

Una vez realizada la tarea, los proesadores se reunen invoandoa bsp_done(&subbsp), y el

supergrupo esrestaurado.

6.2 Transferenias Bulk y Sinronizaion BSP

Como se puede observar en las Figuras 5 y 6, ada subtarea omienza y naliza realizando

omu-niaiones,porlo que alnalizarada superpaso, debera sinronizarse on las otrassubtareas. Esto

produequelosdatos enviados porunasubtareaesten efetivamentedisponibleseneldestinoalnal

de lasinronizaion.

Para reuperar los ostos de startup de una transmision,PUB ofree la posibilidadde ombinar

peque~nospaquetes en paquetes de mayortama~no, en forma similara lo quehaen la mayorade las

implementaiones de BSPlib. Estas implementaiones posponen la omuniaionhasta el nal de

superpasoytodoslos paqueteson elmismotama~no sonenviadosomo unsolo paquete, impidiendo

esto,lasuperposiion deomuniai onyomputaion.

EnPUBadaproesadortieneNP buersdesalida. Losmensajesmaslargosquelaapaidadde

(8)

5 subgroup[0℄ = 2;

6 subgroup[1℄ = bsp_npros(&bsp);

7 bsp_partition(bsp,&subbsp,2,subgroup);

...

12 // GENERACION DE LISTAS INVERTIDAS

13 ...

14 // PROCESAMIENTO DE CONSULTAS

15 ...

16 if (bsp_pid(&bsp) == 0)

17 // Trabajo de la MaquinaUsuario

18 else if (bsp_pid(&bsp) == 1)

19 // Trabajo de la MaquinaBroker

20 else if (bsp_pid(&bsp) > 1) {

21 // Trabajo de las Maquinasdel Servidor

22 bsp_syn(&subbsp);

23 }

24 ...

25 bsp_syn(&bsp);

26 ...

27 // FINAL

28 bsp_done(&subbsp);

Figura7: Pseudo-odigopara partiionaruna maquinaBSP

MAQUINA

DEL

USUARIO

BROKER

SERVIDOR

PARTICION 1

PARTICION 2

Figura 8: Partiionde los proesadores

paquetes peque~nosno sonenviados inmediatamente, seles agregaun enabezadoyselosoloaen el

buerqueorresponda. Esto permitela ombinaion de paquetesy ademaspermitelasuperposiion

de omuniai on yomputaion.

Laseueniadeoperaionesejeutadasporelservidorparaleloseredue areibirmensajes

onte-niendolotesdeqterminosabusar,luegoahequearsuslistasinvertidaspararealizarunpre-ranking,

realizarelrankingdelosmejoresKdoumentosasoiadosaunloteyenviarlosresultadosalamaquina

broker.

Enada nuevo superpaso,la maquina brokerpodraomenzarelproesamiento de un nuevo lote

de onsultas. Comoonseueniade esto,varioslotesde onsultaspuedenestarsiendoproesadosen

distintossuperpasos,adaunoen diferente estadode ejeuion. Estaforma detrabajohabilitaeluso

(9)

En partiular,nuestros desarrollosseestan realizando en un lusterde 12 SMP (duales),onetadas

mediante unaFastEthernet.

Elnumerode proesadores reportado en eleje x orrespondealnumero deproesadores que han

atuado omomaquinas delservidordelabasededatos textual. Todaslasestadstiasreportadasen

esta seionexluyen eltrabajorealizadoporlamaquinausuario ylamaquinabroker.

Dosasosde pruebasfueron ejeutados. Elprimeroonsistedel proesamiento deunlote de1000

onsultasyel segundoonsistede un lote de 100onsultas alabase de datostextual.

Comenzamosreportando el speedupalanzado por laapliaion alaumentar elnumero de

proe-sadores delservidorde onsultas.

LasFiguras9y10muestranelspeedup alanzadoparaelproesamientode1000onsultas

utilizan-dolasestrategiasdelistasinvertidasloalesyglobalesrespetivamente. Comoesdeesperar,elspeedup

aumentaa medidaqueseinrementa laantidad demaquinasdelservidorde onsultas,obteniendose

unrendimiento,enpromedio, omparableenambasestrategias. Tambienpodemosobservarquepara

ambasestrategiassellegaaunlmitedemaquinasdelservidordondeelspeedupomienzaadisminuir.

Esto se debea que los proesadores omienzana realizar una menorantidad de omputaion y por

lotanto omienzana sermasrelevanteslos ostosde omuniai onysinronizaionde lasmaquinas.

Estel miteesalanzadomasrapidamenteporlaestrategialoaldebidoaquelaoperaiondebroadast

tieneun altoosto de omuniaion.

Figura 9: ListasInvertidas Loalespara1000Consultas

Figura10: ListasInvertidas Globalespara1000 Consultas

Algunos autores uestionan a BSP por ser muy estrito en su modelo de programaion

(om-putaion + omuniai on+ sinronizaion) y en partiular por el alto osto que el modelo impone

(10)

datos irregulares o que utilizan patrones de omuniai onon h relaiones entre proesadores muy

desbalaneadas. No es el aso de la apliaionpresentada en este trabajo. En el algoritmo

imple-mentado se ha logrado explotar las propiedades bulk del problema por lo que la inuenia de una

sinronizaionglobalimpuestaentresuperpasosno hasidodeterminanteen laperformane. Esdeir,

uando la antidad de omputaion realizada por las maquinases razonablemente alta el osto de

sinronizaion esdespreiable.

Esto sepuedeobservaren las Figuras11 y12.

Enpartiular estasFiguras(11y12)muestran queeltiempode sinronizaion esalto para1 y2

maquinas del servidor, debido a que tantola maquinausuario omo lamaquinabroker, para poder

ontinuaron sus tareas, deben esperar a que el servidor termine el proesamiento de la onsulta

y se sinronie. Luego a partir de 3 maquinasdel servidor, el tiempo de sinronizaion omienza a

inrementarse paulatinamente obteniendosevaloresmas altos para la estrategia loal que la global,

debidoalosto delbroad ast.

Figura 11: Listas Invertidas Loales- Tiempode Sinronizaion para1000 Consultas

Figura 12: ListasInvertidas Globales- Tiempo de Sinronizaionpara1000 Consultas

LasFiguras13y14muestranelspeedupobtenidoen elsegundo experimento (lotesde100

onsul-tas), mostrandouna performanepobrerespeto alanterior experimento analizado. En este aso las

maquinasrealizanmenosomputaionqueenlasituaionanterior,yporlotantosonmasdominantes

los ostos de omuniai onysinronizaion de las maquinas.Para5 maquinas del servidor, soloun

speedup de1:4versusun speedup de4:3obtenidoen ellotede 1000 onsultas, utilizandolaestrategia

loal. Algosimilarourreon laestrategiade listasinvertidas globales,dondeselogra unspeedup de

1:9versusunspeedupde 3:7, obtenidoen ellote de 1000 onsultas.

LasFiguras15y16muestraneltiempodesinronizaionparalaestrategiade listasinvertidas

lo-alesyglobalesrespetivamente,paraelproesamiento de100onsultas. Losostosdesinronizaion

(11)

observar la inuenia direta en el tiempo de proesamiento del lote, yaque a mayor osto de

sin-ronizaion, menor es el speedup obtenido. Esto se debe a que 100 onsultas son insuientes para

superar el sesgo iniial y lograr que el sistema superponga, sinroniamente, el tratamiento de

var-ios lotes de onsultas entrelos distintos superpasos. Porlo que, en 100 onsultas, no se alanzoa

amortizar suientementela omuniai onysinronizaion.

Figura 13: Listas Invertidas Loalespara100Consultas

Figura14: ListasInvertidas Globalespara 100Consultas

Finalmente en las Figuras 17 y 18 se muestran speedups para las estrategias de listas invertidas

loales yglobalesrespetivamente, parael proesamiento de 100 onsultas. Esta vez hemosutilizado

onsultas que generan un fuerte desbalaneal estar ompuestas de las palabras on las 4 letras mas

popularesdelEspa~nol. Seobservaquelaestrategiadelistaglobalesmasrobustaaldesbalanedebido

a que distribuye aleatoriamente las palabras del voabularioentre los proesadores, lo que permite

(12)

Figura 16: Listas Invertidas Globales- Tiempode Sinronizaionpara100 Consultas

Figura 17: Listas Invertidas Loalespara100Consultas

8 Conlusiones

Hemospresentadodosalgoritmosparalaimplementaiondelasestrategiasdeindexaionloalyglobal

quepermitenelproesamientodelasonsultasenparalelo,utilizandoelmodeloBPS. Enlaestrategia

loal adaproesador del servidor onstruye losndiesutilizando solo una parte del onjunto total

de doumentos mientras que en la estrategia global losndiesse onstruyen onsiderando todo el

onjunto de doumentos y una vez obtenida la tabla de voabulario,se distribuyen uniformemente

(13)

Enlaestrategiagloballaresoluiondeuna onsultaesrealizadaporsoloun proesador,mientras

queenlaestrategialoalelresultadodelaonsultaesonstruidoenparaleloportodoslosproesadores.

Porlotantolaestrategialoalsoportamasparalelismoquelaglobal. Sinembargoesteparalelismoes

soloaniveldeonsultaindividual. Enlaestrategiaglobalelparalelismosehaepresentealonsiderar

laejeuion distribuidade un onjunto de onsultas.

Tambienpresentamoslosexperimentosyresultadosrealizadossobreunlusterde12proesadores

paralas dosestrategias utilizadas.

En general, se ha logrado mejor performane para lotes grandes de onsultas y on un tama~no

de servidor que no supera los 10 proesadores. Paralotes peque~nos, de 100 onsultas, la estrategia

global se omporta mejor que la loal, obteniendoseun mayorvalorde speedupy un menor tiempo

de sinronizaion. Note que esto es positivo puesto que esdeseable tener bathes peque~nos para no

inrementar demasiado los tiempos de respuestas a onsultas individuales. Por otra parte, el forzar

bathes muygrandespuedehaer neesariolaintroduionde superstepsdeesperahasta obtenerun

numerosuientedeonsultas. Lasaraterstiasdelamaquinadeniranquetanpeque~nopuedeser

unbathenordenalograrunaadeuadaamortizaiondelosostosdeomuniai onysinronizaion.

Con respeto a BSP, reemos adeuada la eleiondel modelo en la programaion de esta

apli-aion. En partiular, nos ofreiouna semantialarapara la explotaion del paralelismo inherente

en la apliaion.Porsu parte, la sintaxisPUB nos permito una forma muy senilla y omoda de

traduireldise~noen un programaparalelo.

Agradeimientos

Estetrabajohasido llevadoa aboen ooperaionentre lasUniversidadesdeSan Luis(Argentina)y

Magallanes(Chile). Hasido elresultadode lainiiativade laRedIberoamerianadeTenologas del

Software, RITOS2, inluidaen elsubprogramaVII deCYTED (RED-VIIJ).

Agradeemos a la Unidadde Serviio Computaional (para apliaionesientas)del Instituto

de Matematia Apliada de la Universidad Naional de San Luis(IMASL), por permitirnos realizar

nuestros experimentossobre sulusterde proesadores.

Referenias

[1℄ A.A.MaFarlane,J.A.MCann,yS.E.Robertson."Parallel Se arh UsingInvertedFiles".Inthe7th.

Inter-nationalSymposiumonStringProessingandInformationRetriaval,2000.

[2℄ AbandahG.and Davinson E.S."Modeling the Communiation Performaneof the IBM SP", 10th.

(14)

andImplementationandperformane",13th.InternationalParallelProessingSymposium&10th.

Sympo-siumonParallelandDistributedProessing,1999.

[4℄ D.B. Skilliorn, J.M.D. Hill y W.F. MaColl."Questionsand answers about BSP".Reporte tenio

PRG-TR-15-96,LaboratoriodeComputaion,UniversidaddeOxford,1996.

[5℄ GeistA.,BeguelinA.,DongarraJ.,JiangW.,ManhekR.,SunderamV."PVM:ParallelVirtualMahine

-A UsersGuide andTutorialfor NetworkParallel Computing",(MITPres,1994).

[6℄ Guerrero R. Pioli F. Printista A.M. "Parallelism and Granularityin an Eho Elimination System

Pro e e ding", The 12th International Conferene on Control Systems and Computer Siene. (CSCS-12),

(IEEE,BuharestRomania,paginas231-237.Mayode1999).

[7℄ HillJ.,MCollB.,StefanesuD.,GoudreauM.,LangK.,RaoB.,SuelT.,Tsantilas.,BisselingR."BSPLib:

TheBSP Programming Library",OxfordUniversityComputingLaboratory,PRG-TR-29-97,1997.

[8℄ M.Marin,C.Bonai yS. Casas."Analysis of twoindexing struturesfor textdatabases",Atasdel VIII

CongresoArgentinodeCieniasdelaComputaion(CACIC2002).Buenos Aires,Argentina,Otubre 15

-19,2002.

[9℄ M.Marin, "Parallel text query pro essingusing Composite Inverted Lists", In proeedings of the Seond

International Conferene on Hybrid Intelligen tSystems (Invited session on Web Computing), De. 2002

(IOSPress).

[10℄ SergeryMelnik,SiriamRaghavan,BervelyYangyHetorGaria-Molina"Building aDistributedFull-Text

Indexfor the Web". ACMTransationsonInformation Systems,2001.

[11℄ SnirM.,OttoS.,Huss-LedermanS.,WalkerD.,DongarraJ."MPI: Theomplete Referene",Cambridge

MA:MITPress,1996.

[12℄ ValiantL.G. "Bridging Model for ParallelComputation", Communiationsof theACM, vol.33, numero

8,pags.103a111,1990.

[13℄ BSPWorldwideStandart,http://www.bsp-worldwide.org/.

[14℄ BSPPUBLibraryat PaderbornUniversity,http://www.uni-paderborn.de/bsp.

[15℄ C. Santos Badue, R. Baeza-Yates, B. Ribeiro-Neto, and N. Ziviani. Conurrent query proessing using

distributedinvertedles.In8th InternationalSymposiumonStringPro essingandInformationRetrieval,

Figure

Actualización...

Referencias

Actualización...