1 / 80

Conceptos, Tecnologías e Investigación en Procesamiento Paralelo

Conceptos, Tecnologías e Investigación en Procesamiento Paralelo Mauricio Marín (Universidad de Magallanes, Chile) Centro de Investigaciones de la Web ( www.ciw.cl ). Modelo de computación Aplicación del modelo a problemas de la Web y recuperación de la Información. Problemas de

Download Presentation

Conceptos, Tecnologías e Investigación en Procesamiento Paralelo

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Conceptos, Tecnologías e Investigación en Procesamiento Paralelo Mauricio Marín (Universidad de Magallanes, Chile) Centro de Investigaciones de la Web (www.ciw.cl) Modelo de computación Aplicación del modelo a problemas de la Web y recuperación de la Información. Problemas de investigación.

  2. Software Modelo de Computación Hardware

  3. Paralelismo= Un objetivo con la ayuda de varios procesadores actuando de manera sincronizada y comunicante.

  4. Desde aplicaciones en computación científica surgió por primera vez la necesidad de utilizar paralelismo.

  5. Actualmente existe una demanda creciente por paralelismo desde aplicaciones tales como simulación de clima global o servidores para La Web, que requieren procesar grandes cantidades de datos. Sin embargo, Computación paralela NO es una técnica ampliamente utilizada.

  6. Son más de 30 años de proposiciones de modelos y lenguajes para computación paralela. Ninguno de ellos ha sido ampliamente adoptado. Alto nivel de abstracción  Mala eficiencia Bajo nivel de abstracción Buena eficiencia

  7. En contraste, computación secuencial ha sido muy exitosa, y sus aplicaciones han llegado a todo tipo de usuarios.

  8. 30 años después.... Propiedades de un buen modelo de computación, *Fácil de comprender. * Metodología de ingeniería de software. * Independiente de la arquitectura del computador. * Predicción de desempeño. * Desempeño eficiente y escalable. * Fácil de programar.

  9. SUPER-OBJETIVO Computación Paralela Portable y Escalable

  10. Un modelo de computación en el centro del amplio espectro de modelos y lenguajes para computación paralela: The Bulk-Synchronous Parallel (BSP) Model Prof. L. Valiant, Harvard University Prof. W.F. McColl, Oxford University http://www.bsp-worldwide.org W.F. McColl

  11. Memoria Distribuida  Arquitectura Escalable Actualmente hay una convergencia en las arquitecturas paralelas

  12. SuperSteps Processors msg msg msg Barrier Comp. Barrier Barrier Paradigm of parallel computation (PVM MPI BSPpub BSPlib).

  13. Costo de cada Superstep max w h=2 G L w+h*G+L

  14. Cualquier computador paralelo puede ser visto como una máquina BSP que tiene valores específicos para los parámetrosGyL. Los valores deGyLpueden ser determinados empíricamente para distintas máquinas, y esta información puede ser utilizada para predecir el desempeño de programas BSP sobre diversas plataformas.

  15. Algoritmos Fundamentales Sincroniza “Broadcast” en un sistema de P procesadores 1+P*G+L

  16. Para un sistema con gran número de procesadores se puede utilizar una solución más eficiente: Sincroniza Sincroniza Sincroniza (1+2*G+L )*log(P)

  17. Example: Two-stage Broadcast m source destination Superstep 1 Superstep 2 m / p Processors m + mG + 2L m p + m pG + L

  18. BSP como metodología de desarrollo de software No existen deadlocks. La depuración de programas es sencilla. La verificación no es más difícil que en el caso de programas secuenciales. Es posible predecir el desempeño de programas.

  19. El modelo de costo de BSP puede ser utilizado para: * Guiar el proceso de diseño e implementación de programas. * Predecir el desempeño del programa al ser portado a otras máquinas. * Seleccionar automáticamente los algoritmos que mejor se ajustan a una máquina en particular. * Guiar el proceso de compra de computadores se conocen las características de los programas BSP que correrán en ellos.

  20. La estructura del modelo BSP permite el uso de herramientas gráficas de perfil de ejecución de supersteps.

  21. Internet Switch Server PC cluster BSP machine Clients

  22. BSP Cluster Query P2 P3 P4 P1 SStep 1 SStep 2 Result

  23. BROKER SStep 1 Queries SStep 2 Results BSP Cluster

  24. Bases de Datos Relacionales Cliente HTML Servidor Web Servidor B.D. Servidor B.D. Servidor B.D.

  25. La base de datos esta distribuida en varios computadores Front-end

  26. Solución basada en software de dominio público

  27. Consultas a un servidor de Libros “Cantidad vendida por cada tema” 350 versus 5600 Seg => 16 veces más rápido con 4 máquinas

  28. Tiempo de Procesamiento TP, Tiempo de Sincronización TS, Tiempo de Acceso a la Base de Datos TB, Tiempo de Comunicación TC.

  29. Tiempo de Procesamiento TP, Tiempo de Sincronización TS, Tiempo de Acceso a la Base de Datos TB, Tiempo de Comunicación TC.

  30. La Web El número de páginas Web es del orden de 1000 millones (año 2000).

  31. Buscadores de la Web Base de Documentos Máquina de Búsqueda Interface Indexador Usuarios Recolector Web

  32. Proceso de “Crawling” WEB Planificador Robots Lista URLs

  33. MAQUINA DE BUSQUEDA:Inverted Files Query = BandT andXand Z Document identifiers B W T W X W Z W Vocabulary Inverted Lists

  34. Usuarios Consultas BROKER Menor carga posible Proceso de consultas Ranking de resultados Balance de Carga Servidor Paralelo

  35. Global Index approach N Processsor 1 Processor 2

  36. Local Index approach N/P N/P Procesador 1 Procesador 2

  37. Composite Inverted Lists A Processsor 1 X B C Processor 2 X D

  38. Bucket Inverted Lists List 1 List 2 a a a a b b b c c d d d e f g h a b a b a b a c c d d e d f g h Processor 2 Processor 3 Processor 4 Processor 1

  39. Balance de Carga • ¿Cómo distribuir los “buckets” en los procesadores? • ¿Distribución basada en “log” de consultas? • ¿Distribución aleatoria y cambio dinámico? • Scheduling • ¿En qué procesador realizar el ranking de documentos? • ¿Cuantos documentos enviar al procesador de ranking?

  40. Servicio de Noticias A Processsor 1 B C Processor 2 D Escritura Lectura AandB andCand D A B C D R(C,2) R(D,2) R(A,2) R(B,2) W(A,1) W(B,1) W(C,1) W(D,1) R(A,0) R(D,0) Timestamp

  41. Control de Concurrencia Procesador 1 Procesador 2 R(A,0) R(B,2) W(B,1) R(C,2) R(D,2) W(D,1) W(C,1) W(A,1) R(A,2) R(D,0) Sort by Timestamp Sort by Timestamp R(A,0) R(D,0) W(A,1) W(B,1) W(C,1) W(D,1) R(A,2) R(A,2) R(C,2) R(D,2)

More Related