4
Aspectos de Implementaci´ on de Servidores Web con el modelo BSP de computaci´ on paralela * Esteban Gesto, Daniel Lagu´ ıa, Osiris Sofia Universidad Nacional de la Patagonia Austral ıo Gallegos, Argentina {egesto;dlaguia;osofia}@unpa.edu.ar and Mauricio Mar´ ın, Jos´ e Canum´ an Universidad de Magallanes Punta Arenas, Chile {mauricio.marin;jose.canuman}@umag.cl Resumen En el marco del Proyecto de Investigaci´ on Pa- ralelizaci´ on Eficiente de Servidores Web, de la Universidad Nacional de la Patagonia Austral se ha abierto una l´ ınea de investigaci´ on que da con- tinuidad al desarrollo de servidores web soporta- dos en clusters de PC a trav´ es del modelo BSP de computaci´ on paralela y que tiene como objetivo estudiar estrategias de implementaci´ on de servi- dores paralelos en entornos reales. El pr´ op´ osito de este trabajo es presentar los resultados alcanzados en esta l´ ınea de investiga- ci´ on, los desarrollos en progreso y los trabajos futuros. Palabras claves: Bases de Datos, Procesamien- to Paralelo de Consultas SQL, Computaci´ on Paralela y Distribu´ ıda, BSP 1. Introducci´ on La web se ha convertido en un recurso ubicuo para la computaci´ on distribuida, haciendo rele- vante la investigaci´ on de nuevos caminos para proveer acceso eficiente a los servicios disponibles en los sitios dedicados. El crecimiento exponen- cial que ha experimentado desde sus comienzos en cuanto al volumen de informaci´ on y al n´ umero de usuarios que la utilizan hace que la b´ usque- da, organizaci´ on, acceso y mantenimiento de sus contenidos sea cada vez m´ as dif´ ıcil. En respuesta a esta expansi´ on de las fuentes po- tenciales de informaci´ on, los motores de b´ usque- * Este trabajo fue financiado por la Universidad Na- cional de la Patagonia Austral, Santa Cruz, Argentina, Proyecto 29/A164 da han hecho ´ enfasis en ampliar su velocidad y cobertura, brindando poca importancia a la efi- ciencia. Debido a esto, diversos estudios se han abocado al desarrollo de nuevas estrategias que permitan satisfacer estas demandas a trav´ es del procesa- miento paralelo [18], el cual ha demostrado ser un paradigma que permite mejorar los tiempos de ejecuci´ on de los algoritmos. Particularmente nuestro grupo de investiga- ci´ on, integrado por docentes investigadores de la Universidad Nacional de la Patagonia Austral (Argentina) y de la Universidad de Magallanes (Chile), se ha abocado al estudio y desarrollo de herramientas de programaci´ on basadas en el modelo BSP [17, 2] de computaci´ on paralela, el cual utiliza una configuraci´ on de base de datos distribuida para acelerar las consultas. 1.1. Modelo de computaci´ on paralela BSP En BSP un computador paralelo es visto como un conjunto de procesadores con memoria local e interconectados a trav´ es de una red de comuni- caciones de topolog´ ıa transparente al usuario. En este modelo, la computaci´ on es organizada como una secuencia de supersteps. Tal como lo indica la Fig. 1, un superstep est´ a formado por una fase en la que cada procesador puede realizar operaciones sobre datos locales ´ unicamente y depositar men- sajes a ser enviados a otros procesadores. Al final del superstep, todos los mensajes son enviados a sus destinos y los procesadores son sincronizados en forma de barrera para iniciar el siguiente su- perstep. Es decir, los mensajes est´ an disponibles en sus destinos al instante en que se inicia el si- guiente superstep.

Tema02

Embed Size (px)

DESCRIPTION

Procesamiento Paralelo

Citation preview

  • Aspectos de Implementacion de Servidores Web conel modelo BSP de computacion paralela*

    Esteban Gesto, Daniel Lagua, Osiris SofiaUniversidad Nacional de la Patagonia Austral

    Ro Gallegos, Argentina{egesto;dlaguia;osofia}@unpa.edu.ar

    and

    Mauricio Marn, Jose CanumanUniversidad de Magallanes

    Punta Arenas, Chile{mauricio.marin;jose.canuman}@umag.cl

    Resumen

    En el marco del Proyecto de Investigacion Pa-ralelizacion Eficiente de Servidores Web, de laUniversidad Nacional de la Patagonia Austral seha abierto una lnea de investigacion que da con-tinuidad al desarrollo de servidores web soporta-dos en clusters de PC a traves del modelo BSP decomputacion paralela y que tiene como objetivoestudiar estrategias de implementacion de servi-dores paralelos en entornos reales.El proposito de este trabajo es presentar los

    resultados alcanzados en esta lnea de investiga-cion, los desarrollos en progreso y los trabajosfuturos.

    Palabras claves: Bases de Datos, Procesamien-to Paralelo de Consultas SQL, ComputacionParalela y Distribuda, BSP

    1. Introduccion

    La web se ha convertido en un recurso ubicuopara la computacion distribuida, haciendo rele-vante la investigacion de nuevos caminos paraproveer acceso eficiente a los servicios disponiblesen los sitios dedicados. El crecimiento exponen-cial que ha experimentado desde sus comienzosen cuanto al volumen de informacion y al numerode usuarios que la utilizan hace que la busque-da, organizacion, acceso y mantenimiento de suscontenidos sea cada vez mas difcil.En respuesta a esta expansion de las fuentes po-

    tenciales de informacion, los motores de busque-*Este trabajo fue financiado por la Universidad Na-

    cional de la Patagonia Austral, Santa Cruz, Argentina,Proyecto 29/A164

    da han hecho enfasis en ampliar su velocidad ycobertura, brindando poca importancia a la efi-ciencia.Debido a esto, diversos estudios se han abocado

    al desarrollo de nuevas estrategias que permitansatisfacer estas demandas a traves del procesa-miento paralelo [18], el cual ha demostrado serun paradigma que permite mejorar los tiemposde ejecucion de los algoritmos.Particularmente nuestro grupo de investiga-

    cion, integrado por docentes investigadores de laUniversidad Nacional de la Patagonia Austral(Argentina) y de la Universidad de Magallanes(Chile), se ha abocado al estudio y desarrollode herramientas de programacion basadas en elmodelo BSP [17, 2] de computacion paralela, elcual utiliza una configuracion de base de datosdistribuida para acelerar las consultas.

    1.1. Modelo de computacion paralelaBSP

    En BSP un computador paralelo es visto comoun conjunto de procesadores con memoria local einterconectados a traves de una red de comuni-caciones de topologa transparente al usuario. Eneste modelo, la computacion es organizada comouna secuencia de supersteps. Tal como lo indica laFig. 1, un superstep esta formado por una fase enla que cada procesador puede realizar operacionessobre datos locales unicamente y depositar men-sajes a ser enviados a otros procesadores. Al finaldel superstep, todos los mensajes son enviados asus destinos y los procesadores son sincronizadosen forma de barrera para iniciar el siguiente su-perstep. Es decir, los mensajes estan disponiblesen sus destinos al instante en que se inicia el si-guiente superstep.

    AngelicaResaltar

    AngelicaResaltar

    AngelicaResaltar

    AngelicaResaltar

    AngelicaResaltar

    AngelicaResaltar

    AngelicaResaltar

  • El modelo practico de programacion paralelaen BSP es el conocido SPMD (Simple ProgramMultiple Data), el cual es realizado mediante Pcopias del mismo programa corriendo en un clus-ter de P procesadores, cada una actuando sobreun subconjunto de los datos, donde la comuni-cacion y sincronizacion de las copias es realizadamediante libreras tales como BSPlib o BSP-PUB[1].

    Figura 1: Modelo BSP y supersteps.

    En el marco del Proyecto de Investigacion Pa-ralelizacion Eficiente de Servidores Web, de laUniversidad Nacional de la Patagonia Austral seha abierto una lnea de investigacion que da con-tinuidad al desarrollo de servidores web soporta-dos en clusters de PC a traves del modelo BSP decomputacion paralela y que tiene como objetivoestudiar estrategias de implementacion de servi-dores paralelos en entornos reales.El proposito de este trabajo es presentar los

    resultados alcanzados en esta lnea de investiga-cion, los desarrollos en progreso y los trabajosfuturos.

    2. Resultados deImplementaciones con BSP

    Para la implementacion de una aplicacion quepermitiera una aproximacion a la solucion parael problema planteado del acceso a grandes volu-menes de informacion, se realizaron varios estu-dios, tendientes incialmente a la implementacionde cluster y la distribucion de los registros de labase de datos [9, 7, 8]. La solucion adoptada im-plementa una base de datos distribuida del tiporelacional, sobre una plataforma computacionalformada por un grupo de PC con sistema ope-rativo Linux, los cuales estan conectados en redmediante un switch de alto desempeno y en estasmaquinas se ejecutan los programas con supers-teps de BSP. En cada PC se encuentra instala-do un administrador de bases de datos relacionalllamado MySQL [15] y la libreria ApiMySQL que

    proporciona clases que permiten enviar string consentencias SQL desde un programa C++ al ser-vidor MySQL.Esta implementacion es de bajo costo, ya que

    el software involucrado es de dominio publico yel equipamiento corresponde a computadoras deescritorio de bajo costo, en contraposicion a losservidores secuenciales de alto desempeno y costo.La base de datos se distribuye uniformemente

    para permitir el balance de carga en los proce-sadores involucrados. Cada superstep enva laconsulta a todos los procesadores, y los servidoresde bases de datos locales realizan la consultasobre su porcion de la base de datos de manerasecuencial. El resultado de la consulta SQLcorresponde a la union de todas las respuestasparciales de los procesadores del cluster.

    La estructura del modelo BSP facilita la predic-cion del desempeno de programas y algoritmos. Elcosto de un programa esta dado por la suma delcosto de todos sus supersteps, donde el costo tem-poral de cada uno de ellos esta dado por la sumadel tiempo de computacion sobre datos locales, eltiempo de comunicacion entre procesadores y eltiempo de sincronizacion.Aprovechando esta facilidad del modelo BSP

    se ha desarrollado una herramienta grafica[11, 10, 14, 12, 13] que a traves de metaforasvisuales permite observar y administrar la colade consultas y los supersteps ejecutados condistintos niveles de granularidad, evaluando eldesempeno de cada uno de los parametros quelos integran.

    En los objetivos del proyecto se encuentra el de-sarrollo de una aplicacion funcional, para lo cualse ha elegido la implementacion de un DigestoDigital Institucional [5, 6] que realiza consultascomplejas del tipo Join [13] y la misma posee ca-ractersticas de Base de Datos Textual.Esta herramienta de software se compone de

    los siguientes elementos: una aplicacion web de-sarrollada fundamentalmente con PHP, insta-lada en un servidor Web con infraestructuraLAMP (Linux, Apache, MySQL, PHP), un ser-vidor de base de datos distribuida implementadocon MySQL, un programa ejecutable desarrolla-do bajo el modelo de computacion paralela BSPy un broker realizado en base a la modificaciondel daemon del BSP-PUB, pubd.Estos componentes se interrelacionan de la

    siguiente manera: en primer lugar los clientesacceden a la aplicacion a traves del servidorweb, donde elaboran la consulta a realizar. Elservidor web enva la consulta al broker a travesde sockets, ejecutando el programa BSP en cadaprocesador que forma parte del cluster. En cada

    AngelicaResaltar

    AngelicaResaltar

    AngelicaResaltar

    AngelicaResaltar

    AngelicaResaltar

    AngelicaResaltar

    AngelicaResaltar

    AngelicaResaltar

    AngelicaResaltar

  • procesador se ejecuta la consulta en el servidor lo-cal de base de datos MySQL y, cuando se producela etapa de sincronizacion del superstep BSP,los resultados son enviados a la maquina broker,quien los agrupa y enva al servidor Web a travesde los sockets definidos para que de esta manerael cliente pueda obtener los resultados requeridos.

    3. Conclusiones

    En este trabajo se ha presentado una de laslneas de investigacion del Proyecto de Investiga-cion Paralelizacion Eficiente de Servidores Web,de la Universidad Nacional de la Patagonia Aus-tral que da continuidad al desarrollo de servido-res web soportados en clusters de PC a travesdel modelo BSP de computacion paralela y quetiene como objetivo estudiar estrategias de im-plementacion de servidores paralelos en entornosy aplicaciones reales.Los trabajos realizados presentan una solucion

    concreta al problema de acceso a grandes volume-nes de datos a traves de la Web, mediante el de-sarrollo de varios componentes que conforman unmotor de busquedas paralelo, con acceso a unabase de datos distribuida, implementando el mo-delo de computacion paralela BSP, en particulara traves de la librera BSP-PUB. Este modelo so-porta una metodologa estructurada de diseno desoftware que es simple de utilizar y permite eluso de tecnologa existente y gratuita para obte-ner sistemas de bajo costo y alta eficiencia.La distribucion de los registros influye signifi-

    cativamente en la velocidad de respuesta de lasconsultas, obteniendo hasta el momento los me-jores resultados con una distribucion uniforme.Se han desarrollado herramientas graficas para

    visualizar y administrar el desempeno del servi-dor de base de datos, mediante distintas metafo-ras visuales, que permiten observar con distintosniveles de granularidad las consultas realizadas ylos supersteps generados a los largo de la ejecu-cion de la aplicacion.A traves de la experimentacion de laboratorio

    se han obtenido resultados satisfactorios en la eta-pa de simulacion, con valores iguales o mayoresal optimo en relacion con el caso secuencial, paralos casos de tratamiento de grandes volumenes dedatos donde se justifica la utilizacion de modelosparalelos. Similares resultados se obtuvieron enla implementacion de una aplicacion real y fun-cional del Digesto Digital Institucional. Para esteultimo caso fue necesario la modificacion de la li-brera BSP-PUB para permitir su funcionamientocontinuo en el servidor a traves de su definicioncomo daemon.Actualmente nos encontramos estudiando dis-

    tintas alternativas de implementacion de la colade consultas [16, 3, 4] para mejorar el rendimiento

    ajustando parametros y caractersticas de la colade consultas SQL, de manera de tomar en cuentael tiempo de espera de los clientes que han gene-rado las consultas para maximizar su satisfaccional realizar un acceso a la aplicacion.

    4. Trabajos Futuros

    Entre nuestros trabajos futuros se encuentranel estudio de la recuperacion de la base de datosdistribuida a raz de la cada de una maquinadel cluster, mediante la replicacion de registros uotra estrategia. Tambien es posible su aplicaciona redes de Datos del tipo Grid, en el supuestode la necesidad de contar con una base de datosditribuida geograficamente para respetar laautonoma de las organismos intervinientes parauna aplicacion dada, tal como el Digesto DigitalInstitucional.

    Referencias

    [1] O. Bonorden, B. Juurlink, I. von Otte, andI. Rieping. The paderborn university bsp(pub) library - design, implementation andperformance. In 13th International ParallelProcessing Symposium, San Juan, Puerto Ri-co, Apr. 1999.

    [2] BSP and Worldwide Standard.http://www.bsp-worldwide.org/.

    [3] Ricardo Cao. Introduccion a La Simulacion ya La Teora De Colas. Pearson Publications,2004.

    [4] A. V. Gerbessiotis, C. J. Siniolakis, andA. Tiskin. Parallel priority queue and listcontraction: The bsp approach. Computingand Informatics, 21:5990, 2002.

    [5] Esteban Gesto, Daniel Laguia, Natalia Tre-jo, Osiris Sofia, and Jose Canuman. Imple-mentacion de un digesto digital paralelo. InAnales del VIII Workshop de Investigadoresen Ciencias de la Computacion, Universidadde Moron - Argentina, Junio 2006. WICC2006.

    [6] Esteban Gesto, Daniel Laguia, Natalia Trejo,Osiris Sofia, and Jose Canuman. Implemen-tacion de un motor de busquedas paralelocon bsp. In 32a Conferencia Latinoamerica-na de informatica, Santiago de Chile - Chile,Agosto 2006. CLEI 2006.

    [7] M. Marn, J. Canuman, M. Becerra, D. La-guia, and O. Sofia. Procesamiento parale-lo de consultas sql generadas desde la web.

  • In Jornadas Chilenas de Computacion 2001,Punta Arenas-Chile, Nov. 2001.

    [8] M. Marn, J. Canuman, M. Becerra, D. La-guia, and O. Sofia. Servidor paralelo sql-bsp para aplicaciones web. In VII Congre-so Argentino de Ciencia de la Computacion,El Calafate - Argentina, Oct. 2001. CACIC2001.

    [9] M. Marin, J. Canuman, and D. Laguia. Unmodelo de prediccion de desempeno parabases de datos relacionales paralelas sobrebsp. In VI Congreso Argentino de Cienciade la Computacion, Ushuaia - Argentina, Oct2000. CACIC 2000.

    [10] Paula Millado, Daniel Laguia, Albert Sofia,and Mauricio Marn. Representacion visualpara la administracion del procesamiento pa-ralelo de consultas sql. In IX Congreso Ar-gentino de Ciencia de la Computacion, LaPlata - Argentina, Oct. 2003. CACIC 2003.

    [11] Paula Millado, Daniel Laguia, Albert Sofia,and Mauricio Marn. Visualizacion grafica deconsultas sql en paralelo. In RITOS2, editor,Ingeniera de Software en la decada del 2000,Cartagena-Colombia, Aug. 2003. IX Jorna-das Iberoamericanas de Informatica.

    [12] Paula Millado, Daniel Laguia, Albert Sofia,Mauricio Marn, and Claudio Delrieux. Ad-ministrador visual de entornos bsp. In VIWorkshop de Investigadores en Ciencias de

    la Computacion, Neuquen - Argentina, May.2004. WICC 2004.

    [13] Paula Millado, Daniel Laguia, Albert Sofia,Mauricio Marn, and Claudio Delrieux. Si-mulacion y visualizacion de la performancede un administrador bsp. In 30TH Confe-rencia Latinoamericana de Informatica, Are-quipa - Peru, Sept. 2004. CLEI 2004.

    [14] Paula Millado, Daniel Laguia, Albert Sofia,Mauricio Marn, and Claudio Delrieux. Vi-sualizacion y control de congestion en unaministrador bsp. In Simposio Argentino deTecnologa 2004, Cordoba - Argentina, Jun.2004. AST 2004.

    [15] MySQL Web Page.http://www.mysql.com/.

    [16] J. Pasos. Teora de Colas y Simulacion deEventos Discretos. Pearson Publications,2004.

    [17] D.B. Skillicorn, J.M.D. Hill, and W.F. Mc-Coll. Questions and answers about BSP. Te-chnical Report PRG-TR-15-96, ComputingLaboratory, Oxford University, 1996. Also inJournal of Scientific Programming, V.6 N.3,1997.

    [18] L.T. Yang and M. Guo, editors. High Per-formance Computing: Paradigm and Infraes-tructure. John Wiley and Sons, 2005.