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
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
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
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
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
*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
*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
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
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
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
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
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
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.
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,