Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porBernardita Soliz Modificado hace 9 años
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
Modelo de Computación Hardware Software
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.
9
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. 30 años después....
10
Computación Paralela Portable y Escalable SUPER-OBJETIVO
11
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
12
Actualmente hay una convergencia en las arquitecturas paralelas Memoria Distribuida Arquitectura Escalable
13
SuperSteps Paradigm of parallel computation (PVM MPI BSPpub BSPlib). Barrier msg Comp. Processors
14
w max h=2G L w + h*G + L Costo de cada Superstep
15
Cualquier computador paralelo puede ser visto como una máquina BSP que tiene valores específicos para los parámetros G y L. Los valores de G y L pueden 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.
17
Sincroniza “Broadcast” en un sistema de P procesadores 1 + P*G + L Algoritmos Fundamentales
18
Para un sistema con gran número de procesadores se puede utilizar una solución más eficiente: (1 + 2*G + L )* log(P) Sincroniza
19
source destination Superstep 1 Superstep 2 Processors Example: Two-stage Broadcast m + m G + 2 L m m / p m p + m p G + L
21
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.
22
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.
23
La estructura del modelo BSP permite el uso de herramientas gráficas de perfil de ejecución de supersteps.
28
Internet Switch Server PC cluster BSP machine Clients
29
SStep 1 P1 P2P3P4 SStep 2 Query BSP Cluster Result
30
SStep 1 SStep 2 BROKER BSP Cluster Queries Results
31
Bases de Datos Relacionales Servidor Web Servidor B.D. Cliente HTML
32
La base de datos esta distribuida en varios computadores Front-end
33
Solución basada en software de dominio público
34
350 versus 5600 Seg => 16 veces más rápido con 4 máquinas Consultas a un servidor de Libros “Cantidad vendida por cada tema”
35
Tiempo de Procesamiento TP, Tiempo de Sincronización TS, Tiempo de Acceso a la Base de Datos TB, Tiempo de Comunicación TC.
36
Tiempo de Procesamiento TP, Tiempo de Sincronización TS, Tiempo de Acceso a la Base de Datos TB, Tiempo de Comunicación TC.
39
El número de páginas Web es del orden de 1000 millones (año 2000). La Web
40
Buscadores de la Web Interface Máquina de Búsqueda Recolector Indexador Usuarios Base de Documentos Web
41
Robots WEB Planificador Lista URLs Proceso de “Crawling”
42
W B and T and X and Z B T X Z W W W VocabularyInverted Lists Query = MAQUINA DE BUSQUEDA: Inverted Files Document identifiers
43
BROKER Servidor Paralelo Consultas Proceso de consultas Ranking de resultados Balance de Carga Menor carga posible Usuarios
44
Processsor 1 Processor 2 Global Index approach N
45
Local Index approach Procesador 1Procesador 2 N/P
46
Processsor 1 Processor 2 Composite Inverted Lists X X A B C D
47
aaaabbbc cdddefgh aaaabbb cc dddefgh Bucket Inverted Lists Processor 1 Processor 2Processor 3Processor 4 List 1 List 2
48
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?
49
Processsor 1 Processor 2 Servicio de Noticias ABC D A B C D Escritura A and B and C and DLectura W(A,1)W(B,1)W(C,1)W(D,1) Timestamp R(A,2)R(B,2) R(C,2)R(D,2) R(A,0)R(D,0)
50
Control de Concurrencia W(A,1)R(A,2) R(B,2)W(B,1) Procesador 1Procesador 2 R(C,2)R(D,2)W(D,1)W(C,1) Sort by Timestamp W(A,1)W(B,1) R(A,2) W(D,1)W(C,1) R(C,2)R(D,2) R(A,0) R(D,0) R(A,0)R(D,0)
51
Sequential Suffix Arrays
52
tex t Binary-searching “text”
53
Problem: Pointers to every-where in the text
54
“ Pruned Suffixes ” i s e x a d a t a n ao f t e x t e x t h i
55
BSP Cluster Distributed Query Processing The text database is evenly distributed upon the processors.
56
Processor 1Processor 2 The local index approach
57
SStep 1 SStep 2 BROKER BSP Cluster Queries Results SStep 3
58
Processor 1 Processor 2 The global index approach i s e x a d a t a n ao f t e x t e x t h i
59
SStep 1 SStep 2 BROKER BSP Cluster Queries Results
60
Dealing with load-imbalance (Multiplexion) 28 38116 1 14 172530 Processor 1Processor 2 i s e x a d a t a n ao f t e x t e x t h i
61
Binary search accross processors Processor i Processor i + p / 2 Processor i + p / 4
62
A minor but practical improvement to the Global Index Strategy Proc 1 Proc 2Proc 3Proc 4 Proc 1 Proc 2Proc 3Proc 4 Global Virtual Global
63
Seq Local DB Size Running Time Processing q queries on p processors upon a text of n chars Virtual Global Global Multiplexed
64
Server 1 Server 2 Server 3 Scheduling Problem (uniform routing) Distributed allocation of Parallel Servers
66
Server BSP Machine Número de procesadores requeridos Tiempos de ejecución
67
0 1 F(P, G, L, Ns, Np)
68
Simulación por Eventos Discretos El sistema se representa como un conjunto de variables de estado. Los eventos cambian las variables de estado en puntos discretos del tiempo de simulación. Simulación en Paralelo Las variables relacionadas se agrupan dentro de procesos lógicos que se comunican entre sí mediante mensajes.
69
Tiempo e1 e2e3e4e5e6 Tiempo e1 e3e5e6 Tiempo e2e4 LP1 LP2
70
Mensajes Nuevos + + + + - + Lista de Eventos ABCDEF Tiempo Procesador Superstep i + - ---- Mensaje (Evento) Send Eventos procesados Proceso Lógico
71
Mensajes Nuevos + + + + - + Lista de Eventos ABCDEF Procesador Superstep i+1 - ---- G Rollback Send
72
Procesador 1Procesador P K K En cada procesador se procesan hasta K eventos. Cada procesador puede tener un K distinto. K se mantiene fijo, independiente de los eventos re-simulados.
75
S S + A L R L R S S + 1 S + A + 1 Contador Mensaje enviado A A <= S Mensaje nuevo A A > S Cada proceso lógico mantiene un contador de supersteps. En cada mensaje se transmite el valor de un contador de supersteps.
79
Carga baja y alta Número de procesadores= 4, 16, 64 y 256
80
Conclusiones Se ha mostrado cómo utilizar un modelo que incorpora conceptos modernos de computación paralela en el diseño de algunas aplicaciones de gran popularidad e importancia en la Web. El modelo BSP es mucho más que una biblioteca de comunicaciones tal como PVM o MPI, es un estilo o método estructurado de diseño de software paralelo. PREGUNTAS ?
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.