La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Conceptos, Tecnologías e Investigación en Procesamiento Paralelo Mauricio Marín (Universidad de Magallanes, Chile) Centro de Investigaciones de la Web.

Presentaciones similares


Presentación del tema: "Conceptos, Tecnologías e Investigación en Procesamiento Paralelo Mauricio Marín (Universidad de Magallanes, Chile) Centro de Investigaciones de la Web."— Transcripción de la presentación:

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.

8

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.

16

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

20

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.

24

25

26

27

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.

37

38

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

65

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.

73

74

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.

76

77

78

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 ?


Descargar ppt "Conceptos, Tecnologías e Investigación en Procesamiento Paralelo Mauricio Marín (Universidad de Magallanes, Chile) Centro de Investigaciones de la Web."

Presentaciones similares


Anuncios Google