Programación Gráfica de Altas Prestaciones

Documentos relacionados
Computación de Altas Prestaciones Sistemas computacionales

Modelado de los computadores paralelos

Modelado de los computadores paralelos

Modelado de los computadores paralelos

Taxonomía de las arquitecturas

Con estas consideraciones, Flynn clasifica los sistemas en cuatro categorías:

Ejecución serial: las tareas/instrucciones de un programa son ejecutadas de manera secuencial, una a la vez.

Computación de Altas Prestaciones Sistemas computacionales

Arquitectura de Computadoras. Clase 9 Procesamiento paralelo

GRADO EN INGENIERÍA DE COMPUTADORES

MULTIPROCESADORES TIPOS DE PARALELISMO

Programación Concurrente y Paralela. Unidad 1 Introducción

Paralelismo _Arquitectura de Computadoras IS603

EVOLUCIÓN DE LOS PROCESADORES

Aspectos avanzados de arquitectura de computadoras Multiprocesadores (I) Facultad de Ingeniería - Universidad de la República Curso 2017

Modelos de computadores paralelos

Tema 1. Introducción a la Programación Distribuida y Paralela

Arquitectura de Computadoras para Ingeniería

GPGPU ( GENERAL PURPOSE COMPUTING ON GRAPHICS PROCESSING UNITS)

Multiprocesamiento en Lenguaje C Conceptos básicos de la computación paralela

Clasificación de Flynn de los computadores

MÓDULO 1.4 ARQUITECTURA DE SOFTWARE CON UML

Depto. Sistemas I.O. y Computación. informáticos y Computación Univ. La Laguna

Tema 7. Mejora del rendimiento: introducción a la segmentación y a las arquitecturas paralelas

Trabajo de investigación Paralelismo en el procesador

PROGRAMACIÓN PARALELA. Modelos de programación paralela Paradigmas de programación paralela

Lusitania. Pensando en Paralelo. César Gómez Martín

Granularidad y latencia

CDI Arquitecturas que soportan la concurrencia. granularidad

Introducción a los Sistemas Multiprocesadores

Taller de Programación Paralela

Tema 1: PROCESADORES SEGMENTADOS

Taller de Programación Paralela

Tema 1. Introducción a los Sistemas Paralelos y a la Programación Paralela

Procesamiento Paralelo

6. Enumere tres ventajas de los ULT frente a los KLT.

Francisco J. Hernández López

Procesamiento Paralelo

INTRODUCCION A LA COMPUTACION PARALELA. 2nd Workshop: New Frontiers of Bioinformatics in Latin America Gridding Biology. Dr.

METODOLOGÍA DE LA PROGRAMACIÓN PARALELA. Modelos de programación paralela Paradigmas de programación paralela

Clasificación de las Arquitecturas

TEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS. Introducción Hardware Software Aspectos de diseño

TEMA 9. SISTEMAS OPERATIVOS DISTRIBUIDOS

SISTEMAS DE MULTIPROCESAMIENTO

Introducción a los sistemas de Multiprocesamiento Prof. Gilberto Díaz

CLUSTER FING: ARQUITECTURA Y APLICACIONES

TEMA 2: PROGRAMACIÓN PARALELA (I)

Multiprocesadores de Memoria Compartida

Memoria compartida simétrica

ARQUITECTURA DEL COMPUTADOR

Tema 3. Paso de mensajes. mensajes. Bibliografía. Sistemas de paso de mensajes (2) Sistemas de paso de mensajes. Ventajas del paso de.

Arquitecturas GPU v. 2013

Entornos de programación paralela basados en modelos/paradigmas

ALGORITMOS PARALELOS Tema 1: Introducción a la Computación Paralela

COMPARACIÓN DE MODELOS DE SINCRONIZACIÓN EN PROGRAMACIÓN PARALELA SOBRE CLUSTER DE MULTICORES

FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013

Concurrencia de Procesos

Arquitecturas de Altas Prestaciones y Supercomputación

Sistemas Operativos INF - 151

Principios Generales de la Concurrencia

Sistemas Operativos. Algo de Sistemas Operativos, Arquitecturas y Paralelismo

Conceptos generales de sistemas distribuidos

PROCESAMIENTO DISTRIBUIDO

COMPONENTES DEL PC LEONARDO OLIVARES VILLA MATEO CARDONA ARENAS

PROGRAMACIÓN CONCURRENTE

MULTIPROCESADORES EL SOFTWARE EN LOS MULTIPROCESADORES

Programación concurrente

Diseño de Sistemas Distribuidos Máster en Ciencia y Tecnología Informática Curso Presentación e introducción

Organización de Computadoras. Pipeline Continuación

UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE ELECTROTECNIA Y COMPUTACION DEPARTAMENTO DE ARQUITECTURA Y SISTEMAS

Proceso. Threads, SMP, and Microkernels. Multithreading. Proceso

PARADIGMA y LENGUAJES DE PROGRAMACIÓN

Tema 2. Arquitectura de CPU avanzadas 15/03/2011

Programa Educativo: Licenciatura en Sistemas PROGRAMA DE ESTUDIO

Computación 1. Roles en la interconexión

de Gran Canaria Centro de Tecnología Médica Programación Concurrente

1. Introducción 2. S.O. de Red. NFS 3. S.O. Distribuidos 4. Características de Diseño. Tema5: Sistemas Operativos Distribuidos

Sistemas Complejos en Máquinas Paralelas

Indice 1. Introducción al procesamiento paralelo 2. Estructura de los multiprocesadores de memoria compartida

Sistemas Operativos. Curso 2016 Introducción

COMPUTACIÓN DE ALTA PERFORMANCE

Análisis de rendimiento de algoritmos paralelos

CLUSTER FING: ARQUITECTURA Y APLICACIONES

Departamento de Automática

Computación de Alta Performance Curso 2009 ARQUITECTURAS PARALELAS ARQUITECTURAS PARALELAS

07 y 08 Sistemas distribuidos y paralelos y tarea 02

Guillermo Román Díez

José Matías Cutillas Lozano PROGRAMACIÓN PARALELA Y COMPUTACIÓN DE ALTAS PRESTACIONES

Paralelismo en el procesador

Threads, SMP y Microkernels. Proceso

Departamento Ingeniería en Sistemas de Información

TEMA 4 PROCESAMIENTO PARALELO

Introducción a los multiprocesadores

I.T.S.C.S. Instituto tecnológico superior compu sur SYLLABUS DE ARQUITECTURA I REF: ARQUITECTURA DE HARDWARE

ANX-PR/CL/ GUÍA DE APRENDIZAJE

HERRAMIENTAS SOFTWARE PARA SISTEMAS DISTRIBUIDOS

Concurrencia. Concurrencia

ANX-PR/CL/ GUÍA DE APRENDIZAJE

ÍNDICE TEMÁTICO. 4 Salida Paralelos y Serie. 7 Programación de Microprocesadores 10 4 Características de los 4 8

Introducción a las arquitecturas paralelas

Transcripción:

rogramación Gráfica de Altas restaciones lataformas de altas prestaciones para Infomática Gráfica. Máster de Desarrollo de Software Depto. de Lenguajes y Sistemas Informáticos lsi.ugr.es/~jmantas/ga

1. lataformas y Modelos de rogramación Aplicaciones Gráficas (y de cómputo general) Crecientes demandas de realismo Generación de imágenes en tiempo real Modelos cada vez más complejos Elevado costo computacional Solución: Uso de Arquitecturas de altas prestaciones Multiprocesadores Simétricos: SMs. Clusters de SMs rocesadores Gráficos (GUs) Considerable reducción en tiempo de ejecución Muchas de estas arquitecturas son de uso convencional! Cómo sacar provecho de estas arquitecturas? Diseño para aprovechar paralelismo Modelos de programación, notaciones y herramientas adecuadas. Desarrollar software de forma diferente 2

1.1. Arquitecturas. Clasificación Concepto clave para mejorar las prestaciones: aralelismo Hardware Hardware aralelo Clasificación de Flynn Único flujo de instrucciones Múltiples flujos de instrucciones.. SISD Único flujo de datos Monoprocesadores MISD No se usa MIMD SIMD Múltiples flujos de datos... procesadores con ex- tensiones SIMD: SSE,... Multiprocesador de una GU - roc. Multicore - Multiprocs. NUMA - Clusters de ordenadores 3

1.2. rocesadores Gráficos (GUs) DEVICE HOST CU GU CI-E Multiprocesador Multiprocesador Registros Multiprocesador Memoria compartida Multiprocesador Memoria compartida Registros Memoria compartida DRAM DRAM 4

1.2. rocesadores Gráficos (GUs) Grandes prestaciones en computaciones paralelas de datos restaciones muy superiores a CU en cálculos intensivos. Su uso se ha extendido más allá del mundo de los gráficos 3D. 5

rocesadores Gráficos (GUs) La GU contiene N multiprocesadores. Cada multiprocesador incluye: - M procesadores - Banco de registros - Memoria compartida: muy rápida, pequeña. - Cachés de ctes y de texturas (sólo lectura) La memoria global es 500 veces más lenta que la memoria compartida 6

rocesadores Gráficos (GUs) Fermi (GT400) 512 cores 16 multiprocs. Cada multiprocs. con 32 cores y 16 Unidades de doble precisión. 64 KB. de SRAM a repartir entre memoria compartida y Cache L1. 7

1.3. Multiprocesadores Espacio de direcciones único: espacio de direcciones compartido. rocesadores. interactúan modificando datos en Fácil programar con datos compartidos: Clasificación dependiendo de la localización de la memoria ppal: Multiproc. UMA (Uniform Memory Access) o SM (Symmetric Multirocessors) NUMA (NonUniform Memory Access) Difícil aumentar el no de procesadores: máx. 16. Ejemplos: Dual Cs, Quad Cs, multicore,.... Red de interconexión. Red de interconexión Módulos de memoria M.. M M M Memoria compartida Memoria Compartida 8

1.3.1. rocesadores multinúcleo (multicore) Arquitectura multicore: cada procesador contiene dos o más núcleos que pueden ejecutar instrucciones de forma simultánea. Multiprocesador en un solo chip: el sistema operativo percibe cada núcleo como procesador independiente. Teóricamente, paralelismo perfecto. rocesadores visibles al Sist. Operativo Ventajas: Menor consumo y mejor disipación calor. Thread 1 Mejor aprovechamiento multithreading. Thread 2 Thread 3 Ejemplos: Intel Core i7 (4/6), IBM Cell (8+1),... resente: Ordenadores basados en esta tecnología y adaptación software al nuevo hardware. Thread 4 roductividad + + 9

1.3. Multiprocesadores. rogramación rocesos/hebras comparten un espacio de memoria común donde leen y escriben asíncronamente. Sincronización y Comunicac. mediante variables. compartidas Mecanismos Sincronización: Secciones críticas, Sincronización de barrera,... Simplifica el desarrollo de programas MEMORIA rocesador Hebra maestra F O R K J O I N Región paralela rocesador rocesador Notación estándar: OpenM: - Conjunto de directivas de compilador y funciones para programación paralela multihebrada en multiprocesadores No es necesario especificar explícitamente la comunicación de datos Eficiente sólo en arquitecturas de memoria compartida. rocesador Hebra maestra F O R K J O I N Hebra maestra Región paralela 10

1.4. Clusters de Ordenadores Conexión de ordenadores mediante red de interconexión. Cada ordenador con su memoria local y su propio espacio de direcciones Red de interconexión: Red de Interconexión envío/recepción de mensajes. unto de vista del programador: Difícil programar con paso de mensajes. No se necesitan mecanismos de Exclusión mútua Aplicable a redes de ordenadores Mayor flexibilidad y adaptación a los avances tecnológicos 11

1.4. Clusters de Ordenadores. rogramación Modelo de programación basado en paso de Mensajes Gran difusión Válido para un amplio rango de arquitecturas (MIMD). Computación paralela = número fijo o variable de procesos concurrentes. roceso = rograma secuencial aumentado con paso de mensajes + memoria local Operaciones de paso de mensajes: Envío/Rec. a procesos nombrados SEND (valor, 0) RECEIVE (buffer, 1) Envíar mensaje Recibir mensaje asíncrono síncrono 12

1.4. Clusters de Ordenadores. rogramación Estilo de programación SMD (Single rogram Multiple Data) Cada proceso ejecuta mismo programa sobre diferentes datos ROC rank (rograma SMD para 2 procesos) {while (true){ If (rank=0) {roduce (&dato); send (&dato,1,1);} Else {receive(&buffer,1,0); Consume (&buffer);} } Notación estándar: MI (Message assing Interface) Funciones para paso de mensajes y operaciones complementarias. aso de mensajes portable y relativamente fácil de usar. Modelo de rogramación Computación Número fijado de procesos se comunican mediante llamadas a funciones de envío y recepción de mensajes. Modelo básico: SMD 13

1.4. Composición de lataformas 14