860 likes | 1.07k Views
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
E N D
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.
Software Modelo de Computación Hardware
Paralelismo= Un objetivo con la ayuda de varios procesadores actuando de manera sincronizada y comunicante.
Desde aplicaciones en computación científica surgió por primera vez la necesidad de utilizar paralelismo.
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.
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
En contraste, computación secuencial ha sido muy exitosa, y sus aplicaciones han llegado a todo tipo de usuarios.
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.
SUPER-OBJETIVO Computación Paralela Portable y Escalable
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
Memoria Distribuida Arquitectura Escalable Actualmente hay una convergencia en las arquitecturas paralelas
SuperSteps Processors msg msg msg Barrier Comp. Barrier Barrier Paradigm of parallel computation (PVM MPI BSPpub BSPlib).
Costo de cada Superstep max w h=2 G L w+h*G+L
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.
Algoritmos Fundamentales Sincroniza “Broadcast” en un sistema de P procesadores 1+P*G+L
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)
Example: Two-stage Broadcast m source destination Superstep 1 Superstep 2 m / p Processors m + mG + 2L m p + m pG + L
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.
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.
La estructura del modelo BSP permite el uso de herramientas gráficas de perfil de ejecución de supersteps.
Internet Switch Server PC cluster BSP machine Clients
BSP Cluster Query P2 P3 P4 P1 SStep 1 SStep 2 Result
BROKER SStep 1 Queries SStep 2 Results BSP Cluster
Bases de Datos Relacionales Cliente HTML Servidor Web Servidor B.D. Servidor B.D. Servidor B.D.
La base de datos esta distribuida en varios computadores Front-end
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
Tiempo de Procesamiento TP, Tiempo de Sincronización TS, Tiempo de Acceso a la Base de Datos TB, Tiempo de Comunicación TC.
Tiempo de Procesamiento TP, Tiempo de Sincronización TS, Tiempo de Acceso a la Base de Datos TB, Tiempo de Comunicación TC.
La Web El número de páginas Web es del orden de 1000 millones (año 2000).
Buscadores de la Web Base de Documentos Máquina de Búsqueda Interface Indexador Usuarios Recolector Web
Proceso de “Crawling” WEB Planificador Robots Lista URLs
MAQUINA DE BUSQUEDA:Inverted Files Query = BandT andXand Z Document identifiers B W T W X W Z W Vocabulary Inverted Lists
Usuarios Consultas BROKER Menor carga posible Proceso de consultas Ranking de resultados Balance de Carga Servidor Paralelo
Global Index approach N Processsor 1 Processor 2
Local Index approach N/P N/P Procesador 1 Procesador 2
Composite Inverted Lists A Processsor 1 X B C Processor 2 X D
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
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?
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
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)