Modelos de computadores paralelos Domingo Giménez Departamento de Informática y Sistemas Universidad de Murcia, Spain dis.um.es/~domingo Universidad de Murcia 1 Contenido Programación paralela Modelos de computadores paralelos Sistemas de memoria compartida Sistemas de memoria distribuida Evolución de los sistemas paralelos Universidad de Murcia 2 Programación paralela Uso de varios procesadores trabajando juntos para resolver una tarea común: Cada procesador trabaja en una porción del problema Los procesos pueden intercambiar datos, a través de la memoria o por una red de interconexión Universidad de Murcia 3 Programación paralela Posibilidades: Segmentación encauzada. Pipeline Jerarquía de memorias División de memoria en bloques Paralelismo a nivel de instrucción Ejecución fuera de orden Especulación Múltiples unidades funcionales Unidades vectoriales Procesadores de E/S Varios procesadores en un chip LAN de altas prestaciones ... Universidad de Murcia 4 Programación paralela Concurrente: varios procesos trabajando en la resolución de un problema Heterogénea: procesadores con distintas características Adaptativa: durante la ejecución el programa se adapta al estado del sistema Distribuida: procesadores geográficamente distribuidos En la web: necesidad de herramientas específicas ¿Cuántica o biológica? Universidad de Murcia 5 Programación paralela Límites de sistemas secuenciales: Memoria Velocidad Sistemas paralelos permiten resolver: Problemas mayores Más problemas Más rápidamente Universidad de Murcia 6 Modelos de computadores paralelos SECUENCIAL (SISD) Memoria Instrucciones: de memoria a procesador Datos: entre memoria y procesador Procesador Universidad de Murcia 7 Modelos de computadores paralelos SIMD. Una única Unidad de Control. La misma instrucción se ejecuta síncronamente por todas las unidades de procesamiento. programa instrucciones Procesador Procesador Procesador datos Universidad de Murcia 8 Modelos de computadores paralelos MIMD. Cada procesador ejecuta un programa diferente independientemente de los otros procesadores. programa instrucciones programa instrucciones programa instrucciones Procesador Procesador Procesador datos datos datos Universidad de Murcia 9 Modelos de computadores paralelos P P P P P P M M M M M M P P P P P BUS M e m o ry Network Memoria distribuida – cada procesador tiene su propia memoria local. Se utiliza paso de mensajes para intercambiar datos. P Memoria compartida – un único espacio de memoria. Todos los procesadores tienen acceso a la memoria a través de una red de conexión: ­ Bus ­ Red de barras cruzadas ­ Red multietapa Universidad de Murcia 10 Sistemas de memoria compartida P P P BUS Memory P Uniform memory access (UMA) Cada procesador tiene acceso uniforme a memoria. También se llaman symmetric multiprocessors (SMPs) P Non­uniform memory access (NUMA) El tiempo de acceso depende de dónde están los datos. El acceso local es más rápido. Más fácil y barato de escalar que SMPs P P P P P P BUS BUS Memory Memory Universidad de Murcia P Network 11 Sistemas de memoria compartida NUMA: SGI Origin 2000 Universidad de Murcia 12 Sistemas de memoria distribuida red anillo Diámetro: p/2 Hipercubo Malla Diámetro: √p Servidor Estaciones de de ficheros trabajo Universidad de Murcia 13 Sistemas de memoria distribuida El HPC 160 (prometeo.sait.upct.es) es un sistema paralelo de memoria distribuida con un total de 16 procesadores (4 nodos tetraprocesadores) a 1 GHz, con 8MB de caché de nivel 2, 16 GBytes de memoria y unos 300 GBytes de almacenamiento en disco. Su rendimiento teórico o pico es de 32 Gflops. Universidad de Murcia 14 Sistemas de memoria distribuida El cluster consta de 20 nodos biprocesadores Pentium Xeon a 2 Ghz, interconectados mediante una red SCI con topología de Toro 2D en malla de 4x5. Cada nodo consta de 1 Gigabyte de memoria RAM. 19 los nodos están disponibles para cálculo científico. El front­end es el punto de entrada al cluster y no se utiliza en ejecuciones de trabajos al cluster. Universidad de Murcia 15 Evolución de los sistemas paralelos TOP500 Universidad de Murcia 16 En Murcia – Personal: • Uso de OpenMP y MPI en monoprocesadores, y ya bipros – Empresas: • Redes o multiprocesadores de reducido tamaño (hasta 16 nodos) • Uso para manejo de volúmenes de datos grandes, sin programación paralela – Universidad: • Cartagena: híbrido MC+MD, 4 nodos comunicados con PM y cada nodo 4 procesadores en MC • Murcia: híbrido MC+MD, 8 nodos comunicados con PM y cada nodo 4 procesadores en MC • Resolución de problemas científicos, uso mínimo de paralelismo – Grupos de investigación: • Redes de ordenadores, hasta 16, para computación científica o paralelismo • COCI: Red 5 SUN1+1 SUN5, PC bipro, cluster: 3 bipro con duales, 2 bipros; computación paralela y heterogénea Universidad de Murcia 17 Sistemas actuales y futuros • Multicore • Computadores heterogéneos – Actual: Biprocesador Intel, más SUN – CPU+GPU – En breve: Tetraprocesador – Futuro: Plataformas Intel híbridas Itanium2+Xeon con MC • Procesadores específicos – Futuro: Híbridos con – Gráficos GPU 16000+16000 – De tratamiento de señal DSP • Distribuidos – FPGA y heterogéneos – Redes, Grid, Web embebidos – P2P, móviles – De juegos PSP Universidad de Murcia 18