vicente galiano ibarra - umh2005.edu.umh.es

54
Computación Paralela Curso 2012/2013 Vicente Galiano Ibarra

Upload: others

Post on 25-Oct-2021

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Vicente Galiano Ibarra - umh2005.edu.umh.es

Computación Paralela

Curso 2012/2013Vicente Galiano Ibarra

Page 2: Vicente Galiano Ibarra - umh2005.edu.umh.es

Introducción Arquitecturas Avanzadas

IntroducciónClasificación Sistemas ParalelosRendimiento Sistemas ParalelosProcesadores VectorialesProcesadores MatricialesRedes de InterconexiónMultiprocesadoresMulticomputadores

Page 3: Vicente Galiano Ibarra - umh2005.edu.umh.es

Introducción IProcesadores superescalares

Solapamiento de instrucciones (varios cauces):

Dependencia de datos verdadera (RAW)Dependencia relativas al procedimiento Conflictos en los recursosDependencias de salida (WAW)Antidependencia (WAR)

Políticas de emisión de instrucciones

Page 4: Vicente Galiano Ibarra - umh2005.edu.umh.es

Introducción IIEl paralelismo ya existe a nivel de procesador:

Segmentación y supersegmentaciónSe aumenta el número de etapas de cada

instrucción pipeline

Cuando más etapas mayor paralelismo, etapas más sencillas y mayor frecuencia de funcionamiento.

Page 5: Vicente Galiano Ibarra - umh2005.edu.umh.es

Introducción IIIProcesadores VLIW (paralelización realizada por

el compilador)

Estas son Arquitecturas Von Neumann: máquinas secuenciales procesando datos escalares

La frontera no está clara entre los procesadores superescalares y los vectoriales (los cauces implican hardware replicado)

Page 6: Vicente Galiano Ibarra - umh2005.edu.umh.es

Clasificación Sistemas Paralelos IClasificación Flynn

SISD (Single Instruction Single Data): Máquina Von Neumann clásicaMISD (Multiple Instruction Single Data): díficil implementación (procesadores vectoriales*)SIMD (Single Instruction Multiple Data): procesadores matricialesMIMD (Multiple Instruction Multiple Data): multiprocesador

Page 7: Vicente Galiano Ibarra - umh2005.edu.umh.es

Clasificación Sistemas Paralelos II

Page 8: Vicente Galiano Ibarra - umh2005.edu.umh.es

Clasificación Sistemas Paralelos IIIFuentes de paralelismo

Paralelismo de Control:Dependencia de control de secuenciaDependencia de control de comunicación

Paralelismo de DatosParalelismo de flujo

Page 9: Vicente Galiano Ibarra - umh2005.edu.umh.es

Rendimiento Sistemas Paralelos IEficiencia / Speed-upEscalabilidadRedundancia / UtilizaciónCalidad

Page 10: Vicente Galiano Ibarra - umh2005.edu.umh.es

Rendimiento Sistemas Paralelos IIGrado de paralelismoParalelismo medioSpeed-up asintótico

Para m procesosMedia aritmética del rendimiento Media geométrica del rendimientoRendimiento medio armónicoSpeed-up armónico medio

Page 11: Vicente Galiano Ibarra - umh2005.edu.umh.es

Rendimiento Sistemas Paralelos IIILey de Amhdal:

Sn=n/(1+(n-1)α) Donde α es la probabilidad de usar un modo secuencial puro.Sn 1/α

Independientemente del número de procesadores existe un límite superior del speed-up debido a la parte secuencial

Si α = 0 el speed-up es el ideal

Page 12: Vicente Galiano Ibarra - umh2005.edu.umh.es

12

Arquitecturas Vectoriales

Page 13: Vicente Galiano Ibarra - umh2005.edu.umh.es

13

Arq. De Memoria Compartida

Page 14: Vicente Galiano Ibarra - umh2005.edu.umh.es

14

Arq. de Memoria Distribuida

Clusters

Page 15: Vicente Galiano Ibarra - umh2005.edu.umh.es

15

Arq. Mem.Comp. y Mem.Dist.

Page 16: Vicente Galiano Ibarra - umh2005.edu.umh.es

16

Pasos en el Desarrollo de Aplicaciones Científicas

Page 17: Vicente Galiano Ibarra - umh2005.edu.umh.es

17

Paralelización de Programas

Page 18: Vicente Galiano Ibarra - umh2005.edu.umh.es

18

Medidas de Paralelismo

Speed-up

esprocesador en ejecución Tiempoprocesador 1en ejecucion Tiempo

pSp =

Eficiencia

pE pS=

Page 19: Vicente Galiano Ibarra - umh2005.edu.umh.es

Procesadores Vectoriales IComputación matricial (sin dependencia de datos)Replica unidades de cálculo pero no de controlInstrucciones vectoriales:

Sin dependencia de datosInstrucciones de alta carga computacionalPatrón de acceso a memoria conocidoSustituyen a bucles

Page 20: Vicente Galiano Ibarra - umh2005.edu.umh.es

Procesadores Vectoriales I

: Processor board of a CRAY YMP vector computer (operational ca. 1992-2000). The board was liquid cooled and is one vector processor

with shared memory (access to one central memory)

Page 21: Vicente Galiano Ibarra - umh2005.edu.umh.es

Procesadores Vectoriales IIArquitecturas Vectoriales

Máquina vectorial con registros (actuales)Máquina vectorial memoria-memoria

Componentes básicosRegistros VectorialesUnidades funcionales vectorialesUnidad de carga/almacenamiento vectoresRegistros escalares

Page 22: Vicente Galiano Ibarra - umh2005.edu.umh.es

Procesadores Vectoriales IIIInstrucciones vectoriales básicas

Vector-vectorVector-escalarVector-memoriaReducción de vectoresReunir y esparcirEnmascaramiento

Page 23: Vicente Galiano Ibarra - umh2005.edu.umh.es

Procesadores Vectoriales IIIFactores que afectan al rendimiento

Longitud de los vectores y velocidad de inicializaciónLos riesgos estructurales (control de flujo)Dependencia de datos

Page 24: Vicente Galiano Ibarra - umh2005.edu.umh.es

Procesadores Vectoriales IVLongitud de vectores

Longitud natural de los vectores diferente a la de la arquitecturaVLR (Vector Lenght Register)MVL (Maximum Vector Lenght)La gestión de los parámetros anteriores puede realizarla el compilador

Separación de vectores en memoria (carga y almacenamiento con separación)

Page 25: Vicente Galiano Ibarra - umh2005.edu.umh.es

Procesadores Vectoriales VMejora del rendimiento

Encadenamiento de operacionesSentencias if

Máscara vectorialMatrices Dispersas

Dispersión/agrupamiento (scatter/gather)

Page 26: Vicente Galiano Ibarra - umh2005.edu.umh.es

Procesadores Vectoriales VIMedidas del rendimiento

Rn: Velocidad en MFLOPS para un vector de longitud nR∞: Velocidad en MFLOPS para un vector de longitud infinitaN1/2: longitud necesaria para alcanzar R∞/2

Nv: longitud para la cual el modelo vectorial es preferible al escalar

*** NOTA: Los procesadores escalares actuales obtienen rendimientos muy similares a los vectoriales

Page 27: Vicente Galiano Ibarra - umh2005.edu.umh.es

Procesadores Matriciales I

Explota el paralelismo de datos más que el paralelismo de instrucciones

Page 28: Vicente Galiano Ibarra - umh2005.edu.umh.es

Procesadores Matriciales IIModelo basado en {N,C,I,M,R}

N: Número de elementos de proceso de la máquinaC: Conjunto de instrucciones nativas de la Unidad de ControlI: Conjunto de instrucciones que se envían a los EPsM: posibilidad de enmascaramientos de los EPsR: funciones de rutado para la comunicación entre EPs

Page 29: Vicente Galiano Ibarra - umh2005.edu.umh.es

Procesadores Matriciales III

Estructura básica de un EP

Page 30: Vicente Galiano Ibarra - umh2005.edu.umh.es

Procesadores Matriciales IVLos modelos matriciales se caracterizan:

Están destinados a aplicaciones específicas a las cuales extraen gran rendimientoSu programación no es sencilla por tener que programar con mucha dependencia del hardwarePrácticamente no existen en el mercado de supercomputadores comerciales

Page 31: Vicente Galiano Ibarra - umh2005.edu.umh.es

Redes de Interconexión IEs uno de los elementos fundamentales que modifican la propia arquitectura y el rendimientoLas redes se utilizan tanto en los computadores matriciales como en multiprocesadores y multicomputadores

Page 32: Vicente Galiano Ibarra - umh2005.edu.umh.es

Redes de Interconexión IIDefiniciones básicas:

Tamaño de la red (número de nodos)Grado del nodo (de entrada y salida) CosteDiámetro de la redAnchura de la bisecciónLongitud del cableSimetría

Page 33: Vicente Galiano Ibarra - umh2005.edu.umh.es

Redes de Interconexión IIIRendimiento:

FuncionalidadLatenciaAncho de bandaComplejidad HardwareEscalabilidadCapacidad de transmisión

Page 34: Vicente Galiano Ibarra - umh2005.edu.umh.es

Redes de Interconexión IVTopología:

Grafo de interconexiónParámetros:

Ancho de la bisecciónGrado del nodoDiámetro de la redLongitud SimetríaEstructura física

Page 35: Vicente Galiano Ibarra - umh2005.edu.umh.es

Redes de Interconexión VControl de flujo, regula el tráfico en la red asignando recursos (buffers y canales) a las unidades de información:

MensajePaqueteFlit

Debe solucionar el posible bloqueo de un paquete

Page 36: Vicente Galiano Ibarra - umh2005.edu.umh.es

Redes de Interconexión VIEncaminamiento, método para elegir un camino

Dada una posición actual y un destino existe un conjunto de canales posiblesEn cada paso se elige un canal de los posibles teniendo en cuenta información que puede ser constante, aleatoria o en función del tráfico

Page 37: Vicente Galiano Ibarra - umh2005.edu.umh.es

Redes de Interconexión VIIMétodos de Encaminamiento,

Deterministas: el camino depende unívocamente del nodo destino y del nodo origenInconscientes: la elección puede ser aleatoria, en función del tiempo o en función del contenidoAdaptativos: la función depende del tráfico es decir del estado de la red

Page 38: Vicente Galiano Ibarra - umh2005.edu.umh.es

Redes de Interconexión VIIIClasificación según topología:

Se pueden clasificar en síncronas y asíncronas y de control centralizado, descentralizado y distribuido. El mercado de redes de estaciones de trabajo están copados por redes asíncronas de control distribuido:

Redes de medio compartidoRedes DirectasRedes IndirectasRedes Híbridas

Page 39: Vicente Galiano Ibarra - umh2005.edu.umh.es

Redes de Interconexión IXRedes de medio compartido:

El medio de transmisión es compartido por todos los elementos de la red

Redes directas:Cada elemento está conectado de forma directa a un conjunto (reducido) de otros dispositivosEntre elementos no vecinos es necesario la transmisión a través de varios dispositivos intermedios

Redes indirectas:Se utilizan conmutadores para conectar los elementos de comunicaciónCualquier comunicación requiere el paso a través de conmutadores

Híbrido

Page 40: Vicente Galiano Ibarra - umh2005.edu.umh.es

Redes de Interconexión XRedes de medio compartido

Redes a área localBus de contención (Ethernet)Bus de tokens (Arcnet)Tokeng Ring (IBM)

Bus de sistema (monoprocesadores y multiprocesadores)

Son las redes más sencillas en las que sólo un elemento usa la red en un momento dado, siendo la red un elemento pasivo (no genera mensajes)

Estas redes se convierten en un cuello de botella al ampliar el número de procesadores de la red

Page 41: Vicente Galiano Ibarra - umh2005.edu.umh.es

Redes de Interconexión XIRedes directas

MallasToros Hipercubos

Estas redes escalan bien. Los nodos además de otras funciones realizan las funciones de router o encaminador (bien el propio procesador o routers dedicados)

Page 42: Vicente Galiano Ibarra - umh2005.edu.umh.es

Redes de Interconexión XII

Cada nodo dispone de canales internos y de canales externosDos nodos conectados directamente son nodos vecinos o adyacentes Lógicamente todos los nodos deben ser visibles

Page 43: Vicente Galiano Ibarra - umh2005.edu.umh.es

Redes de Interconexión XIIIEjemplos de redes directas

Page 44: Vicente Galiano Ibarra - umh2005.edu.umh.es

Redes de Interconexión XIVRedes Indirectas:

Basadas en conmutadoresConmutador dispone de puertosEl conmutador se conecta con el procesador y con otros conmutadoresUna característica importante es el número de conmutadores a atravesar

Page 45: Vicente Galiano Ibarra - umh2005.edu.umh.es

Redes de Interconexión XVRedes Híbridas:

Mezcla redes de medio compartido y de redes directas o indirectasEjemplos:

Redes multibusRedes jerárquicasRedes basadas en clusters

Page 46: Vicente Galiano Ibarra - umh2005.edu.umh.es

Multiprocesadores ISistema MIMDMemoria COMPARTIDAParámetros importantes:

Red de interconexiónConsistencia de memoriaCoherencia de cachéSincronización

Page 47: Vicente Galiano Ibarra - umh2005.edu.umh.es

Multiprocesadores IIRedes de interconexión:

Buses (medio compartido)Bajo coste, Mala escalabilidad, no admite muchos

procesadoresRedes indirectas

– Red de barras cruzadasUna sola etapa de conmutación, muy cara para

muchos elementos– Redes multietapa

Como se conectan las diferentes etapas definen las características de la red

Tipos: Bloqueante, No bloqueante, Reconfigurable

Page 48: Vicente Galiano Ibarra - umh2005.edu.umh.es

Multiprocesadores IIIConsistencia de memoria:

Debemos asegurar una coherencia realizando las tareas de una sincronizaciónPor software mediante flags (no practicable)Modelo de consistencia que especifica el orden de la realización de las operaciones en memoriaLa consistencia implica la coherenciaModelos:

– Consistencia secuencial estricta– Consistencia secuencial– Otros modelos

Page 49: Vicente Galiano Ibarra - umh2005.edu.umh.es

Multiprocesadores IVConsistencia secuencial estricta:

Cualquier lectura devuelve el valor almacenado más recienteNo es implementable

Consistencia secuencial:Objetivo: modelo multihilo obtenga los mismos resultados en 1 o varios procesadoresLas operaciones se hagan visibles en el orden del programaEl compilador no puede optimizar

Page 50: Vicente Galiano Ibarra - umh2005.edu.umh.es

Multiprocesadores VOtros modelos de consistencia:

Modelos relajados que afectan a:– R R– R W– W W– W R

Consistencia de procesador– Elimina la ordenación W R por la existencia de buffers

de escritura

Ordenación por almacenamiento parcial– Elimina W W para escrituras no conflictivas

Page 51: Vicente Galiano Ibarra - umh2005.edu.umh.es

Multiprocesadores VI

Consistencia débil elimina las cuatro ordenaciones– Es necesaria la implementación de sincronizaciones

Consistencia de liberación– Sincronizaciones para poder adquirir el acceso a una

variable compartida y sincronizaciones para liberar esa variable

Page 52: Vicente Galiano Ibarra - umh2005.edu.umh.es

Multiprocesadores VIICoherencia de caché:

Las vistas en las diferentes cachés de los diferentes procesadores pueden diferirUn sistema debe mantener la coherencia de la cachéEl programador en este punto no tiene mucho que decirEste concepto es importante en nuestros programas en memoria compartida

Page 53: Vicente Galiano Ibarra - umh2005.edu.umh.es

Multiprocesadores VIIISincronización:

Cerrojos BarrerasImplementados en hardware o software

Page 54: Vicente Galiano Ibarra - umh2005.edu.umh.es

MulticomputadoresMejoran las sincronizaciones, las contenciones de memoria y la escalabilidadSolo existe memoria local El intercambio de información se realiza por mensajesA nivel rendimiento mejoran a los multiprocesadores para gran número de nodosSon muy importantes las redes de interconexión y la granularidad de los algoritmos