650 likes | 1.18k Views
Estructura de la Disertacin. Introduccin. Incidencia de los adelantos tecnolgicos.Tendencia actual en el desarrollo de computadoras paralelas.Paralelismo - Conceptos bsicos: Paralelismo temporal y espacial, Granuralidad y nivel de abstraccin del Paralelismo, evaluacin del rendimiento de un
E N D
1. “Procesamiento en Paralelo y Minería de Datos” José Hernández Palancar
jpalancar@cenatav.co.cu
2. Estructura de la Disertación Introducción.
Incidencia de los adelantos tecnológicos.
Tendencia actual en el desarrollo de computadoras paralelas.
Paralelismo - Conceptos básicos: Paralelismo temporal y espacial, Granuralidad y nivel de abstracción del Paralelismo, evaluación del rendimiento de un sistema Paralelo, sobrecosto en la comunicación, balanceo de la carga, aproximaciones a la explotación del Paralelismo.
Parallel Data Mining.
Conclusiones.
Bibliografía
4. Introducción
5. Introducción - Ejemplos
6. Ejemplo # 2:
Un equipo de cirujanos desea ver en un dispositivo especial una imagen tridimensional del cuerpo del paciente en espera para cirugía. Necesitan rotar la imagen para obtener una sección transversal de un órgano, observándolo en detalle y ejecutar una cirugía simulada, todo ello sin tocar al paciente. Para realizar eficazmente los pasos descritos es necesario una velocidad mínima de procesamiento de 1015 operaciones por segundo. Introducción - Ejemplos
7. Aunque ha sido corroborada la utilidad práctica de la aplicación de la Minería de Datos en el procesamiento de diferentes tipos de datos, una de las cuestiones más importante en la actualidad es lograr que los algoritmos, las aplicaciones y los sistemas, sean escalables ante grandes volúmenes de datos, es decir trabajen con la misma eficiencia ante el aumento del tamaño y la dimensionalidad de los datos, pero como bien se plantea por muchos autores, alcanzar este resultado constituye un reto. Introducción
8. Introducción
9. Una pregunta que salta a la vista es:Por qué hay que acudir al paralelismo?. Acaso no se puede resolver cualquier problema en una simple computadora, de forma secuencial.
10. Límites que impone la Física El tiempo depende del ciclo de reloj del procesador, el cual ha descendido hasta extremos cercanos a la velocidad de la luz, lo que implica problemas físicos para seguir manteniendo su descenso.
11. Límites que impone la Física(1) Considerar únicamente el ciclo de reloj presupone depender de procesadores más rápidos para obtener un incremento del rendimiento computacional, aspecto que no es permisible por limitaciones económicas y físicas.
12. Límites que impone la Física(2) De nuevo, la física dice que la reducción de la distancia entre dos periféricos electrónicos alcanza un punto a partir del cual dichos periféricos empiezan a interaccionar, de forma tal que se reduce no sólo su velocidad sino también su fiabilidad.
13. En búsqueda de soluciones. Estas limitaciones obligan a intentar buscar otros tipos de soluciones, ya sea planteando la concurrencia dentro del propio chip o utilizando varios procesadores en la solución de una tarea.
14. Una alternativa para resolver este problema .... ... es usar una nueva técnica avanzada denominada paralelismo.
La idea es que si una tarea se descompone en una serie de operaciones, y estas operaciones se realizan simultáneamente (esto es lo que se conoce como concurrencia), el tiempo que tarda en realizarse dicha tarea puede reducirse significativamente.
15. Paralelismo – Aplicaciones
17. Incidencia de los adelantos tecnológicos En el nivel de Procesamiento.
En el rendimiento y capacidad de la Memoria.
En el desarrollo de nuevas tecnologías de interconexión.
18. Incidencia de los adelantos tecnológicos (1) En el nivel de Procesamiento.
- Procesadores CISC vs RISC. Ley de Moore. Velocidad de las CPU.
- Incremento del Nivel del Paralelismo en la arquitectura (múltiples unidades funcionales, pipeline, overlapping).
- Migración de los Circuitos Integrados de Aplicación Específica a los FPGA(Altera, Xilinx). (foto de un FPGA- Pilchard Board)
- Tecnología HyperThreading.
-Chips Multiprocesador: firma ClearSpeed Technology, 64-way, anunciado en el Microprocessor Forum (San Jose California).
19. En el rendimiento y capacidad de la Memoria.
DDR SDRAM (Double Data Rate SDRAM)
Duplica la razón de transferencia de datos entre la memoria y el procesador, al duplicar la velocidad del bus, por ejemplo de 133 a 266 MHz. Esto significa que se duplica el ancho de banda de la memoria comparado con SDRAM. La memoria DDR usualmente es denominada como "DDR266 PC2100", esto significa, velocidad del bus 266 MHz y un ancho de banda de 2.1 GB/s.
RDRAM (Rambus Direct RAM)
RDRAM utiliza una tecnología muy diferente de SDRAM y DDR . RDRAM hace uso de muchos más bancos de memoria y esto le permite que más páginas de memoria sean abiertas simultáneamente. RDRAM emplea un bus de 16 o 32 bits, pero con velocidades del bus superiores, lo que incide en que el ancho de banda alcance los 4.2 GB/s. Incidencia de los adelantos tecnológicos (2)
20. Desarrollo de nuevas tecnologías de interconexión.
- Ethernet: Fast Gigabit 10 Gigabit.
- Myrinet (firma Myricom - www.myri.com).
- SCI:Scalable Coherent Interface, firma Dolphin (www.dolphinics.com).
- QsNet (firma Quadrics - www.quadrics.com).
Incidencia de los adelantos tecnológicos (3)
21. Aclaración necesaria El paralelismo no es una propiedad sólo del hardware, hay que tomar en cuenta además al Sistema Operativo y a las Interfaces para la Programación de Aplicaciones Paralelas (API).
22. Desarrollo de los sistemas operativos Windows NT (Microsoft).
Unix.
Solaris (Sun Microsystems)
Free BSD.
SCO Open Source (absorvió a Caldera que era una distribución Linux y ahora tiene entablada demanda contra Linux).
Linux (Red Hat, SuSe, Debian, Mandrake, Slackware, entre otras)
24. Tendencia Actual Un reporte técnico de Microsoft que recoge los resultados de una investigación concluida en agosto del 2001, plantea que “.... después de 50 años de construcción de computadoras para el cálculo científico de alto rendimiento, las dos mayores arquitecturas que existen son:
1. Clusters de Supercomputadoras vectoriales al estilo Cray.
2. Clusters de Supercomputadoras escalares mono y multiprocesador (workstation). ...”
25. Continua planteando dicho documento que los clusters están transitando:
26. A través de los años, la palabra cluster, ha sido utilizada para referirse a la unión de varias cosas, de hecho en Data Mining constituye una de los métodos principales.
Un cluster de workstations es un sistema único, conformado por computadoras interconectadas que se comunican entre sí mediante el pase del mensaje; o de forma directa, cuando el acceso a la memoria de cada nodo se realiza empleando un solo espacio de dirección.
27. Se compone fundamentalmente de un servidor (administración y E/S), los nodos de procesamiento y el elemento de interconexión (generalmente switch), éste último constituye el corazón del cluster, por la incidencia que tiene en la IPC(interprocess communication), la E/S y en el proceso de administración.
28. Tendencia Actual El reto para los diseñadores, es superar la barrera de los 100 Teraflops en el 2005 y alcanzar el Petaflop (1015)en el 2010, todo ello bajo el programa gubernamental “Accelerated Strategic Computing Initiative (ASCI)”.
Otros elementos no menos importantes son el desarrollo de la tecnología “Grid Computing” y la “Computación Cuántica”, cuya implantación de forma comercial se espera para el año 2020.
29. Tendencia Actual Si quieren conocer, cuál es la potencialidad de cálculo reportada a nivel internacional?
La respuesta se encuentra en el TOP500 (http:\\www.top500.org)
30. Es el listado de las 500 computadoras paralelas más potentes, reportadas a nivel internacional. Se publica regularmente desde el 93, dos veces al año (Junio y Noviembre).
El test utilizado para medir el rendimiento es el LINPACK, introducido por Jack Dongarra y consiste en la solución de un SEL denso, utilizando la factorización LU con pivoteo parcial, excluyendo el uso del algoritmo de multiplicación rápida de matrices. La complejidad del algoritmo es 2/3n3 + O(n2) operaciones en punto flotante.
31. Los primeros 4 del TOP500 (Nov-2004)
32. Comparativa según tipo de Procesador
33. Según la forma en que se clasifican
34. Los 9 Fabricantes más representados.(Junio 2003)
35. Los 10 Fabricantes más representados.(Noviembre 2004)
37. Paralelismo – Conceptos básicos Una definición de paralelismo, extraída del libro "How to build a Beowulf", de Thomas Sterling, plantea: “El paralelismo es la habilidad de controlar muchos hilos independientes para hacer que avancen simultáneamente en la ejecución de una tarea.”
Otra definición señala, que es:
“El uso simultáneo de más de una computadora para resolver un problema.”
38. Las principales arquitecturas en las que se pueden clasificar actualmente a los sistemas paralelos son:
Arreglos de Procesadores, también conocidas como máquinas MPP(Massively Parallel Procesing, + de 1000 CPU).
Multiprocesadores (SMP).
Multicomputadoras de Memoria Distribuida. (cantidad de CPU < = 1000).
Clusters (a partir del 2000 aparece el término de Constellation).
Máquinas de Memoria compartida distribuida. Paralelismo - Conceptos básicos (Arquitecturas Paralelas)
39. Paralelismo - Conceptos básicos (Modelos de Programación) Guardan estrecha relación con las arquitecturas referenciadas anteriormente, y se basan en la forma que se realiza la comunicación y el uso de la memoria.
Los 3 principales modelos son:
Hilos: arquitectura SMP, estándar Pthreads.
Pase de Mensajes: memoria distribuida, MPI-PVM.
Memoria Compartida Distribuida (DSM).
40. Paralelismo - Conceptos básicos (Paralelismo Temporal y Espacial) Paralelismo espacial: consiste en la ejecución simultánea de tareas por diferentes unidades de procesamiento.
Paralelismo temporal: dividir una tarea compleja en subtareas, cada una realizada en elementos diferentes. En un mismo instante se realizan varias subtareas procesando datos distintos.
El paralelismo temporal también se denomina: segmentación, superposición, pipeline.
41. Paralelismo - Conceptos básicos (Granularidad y Nivel de abstracción del paralelismo En una computadora paralela, la carga de trabajo de un programa consiste de diferentes tareas, las cuales son distribuidas entre los procesadores disponibles. Estas tareas necesitan coordinar y cooperar entre si para resolver el problema en cuestión.
El grado de comunicación y sincronización necesaria para esto depende de la granularidad y el nivel de paralelismo.
42. Paralelismo - Conceptos básicos (Granularidad y Nivel de abstracción del paralelismo) Granularidad: es el tamaño promedio de las partes de un programa que se asignan a cada procesador o que se quieren que se ejecuten concurrentemente: Instrucciones, iteraciones, funciones, ...
Nivel de Paralelismo: es el nivel de abstracción al cual será explotado el paralelismo, por ej: tareas de granularidad fina corresponden a paralelismo a nivel de instrucción, mientras que granularidad gruesa, a paralelismo a nivel de programa o procedimiento.
43. Paralelismo - Conceptos básicos (Evaluación del rendimiento de un sistema paralelo) Sea Ts el tiempo de ejecución del algoritmo secuencial más rápido corriendo sobre una máquina monoprocesador y Tp el tiempo de ejecución del algoritmo paralelo corriendo sobre una máquina paralela con p procesadores.
Entonces, se define como Aceleración o Speedup al valor Sp = Ts / Tp, nótese que esta medida sólo mide la efectividad del sistema, no su eficiencia, la cual se expresa por Ef = Sp / p.
La eficiencia es muy util para evaluar la escalabilidad de un sistema paralelo respecto a un problema dado de tamaño constante.
44. Paralelismo - Conceptos básicos (Evaluación del rendimiento de un sistema paralelo) La escalabilidad se evalúa con relación al incremento del tamaño tanto del sistema paralelo(# de CPU, cantidad de memoria, etc), como del problema.
Sean: Tlarge el tiempo para resolver un problema de tamaño p con un sistema paralelo large que tiene p procesadores y sea Tsmall, el tiempo para resolver un problema de tamaño q con un sistema paralelo small, con q procesadores, tal que p > q, entonces la escalabilidad se mide como Sc = Tsmall / Tlarge. En condiciones ideales Sc = 1, lo cual significa que la escalabilidad es lineal, es decir, el aumento tanto del tamaño del sistema como del problema, podrían mantener el tiempo de procesamiento constante.
45. Paralelismo - Conceptos básicos (Sobrecosto de la comunicación)
46. Paralelismo - Conceptos básicos (Balanceo de la carga)
48. Parallel Data Mining (Paralelismo de Control y Paralelismo de Datos)
49. Parallel Data Mining (Paralelismo de Control y Paralelismo de Datos)
50. Parallel Data Mining (Particionamiento de los Datos)
51. Parallel Data Mining (Particionamiento de los Datos)
52. Parallel Data Mining (Aproximaciones para la explotación del Paralelismo)
53. Parallel Data Mining – Caso de Estudio(Descubrimiento de Reglas de Asociación en Paralelo)
54. Parallel Data Mining (Autores con mayor incidencia en el tema)
55. Parallel Data Mining (Herramientas Paralelas)
56. Parallel Data Mining (Estructura general de un programa usando MPI)
57. Parallel Data Mining (Características generales de nuestro Cluster)
58. Parallel Data Mining (Aspectos generales de la corrida de una aplicación con LAM-MPI)
60. Conclusiones
61. Conclusiones
63. Bibliografía