Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1) En función
o A nivel instancia
▪ Procesadores segmentados
▪ VLIW
▪ Procesadores superescalares
o A nivel hilo
▪ Multihilo
o A nivel proceso (MIMD)
▪ De memoria distribuida → Multicomputadores
▪ De memoria compartida → Multiprocesadores
Grado → Número de unidades de proceso para las que se tiene trabo durante un intervalo de
tiempo
Grano → Tamaño medio de las acciones ejecutadas en paralelo por unidad de proceso
• Aceleración (speedup): Cuántas veces más rápido al contar con n CPUS en vez de con
una(absoluta)
Ley de Gustafson
Función Isoeficiencia
• Indica cómo debe creer el tamaño del problema P conforme se incrementa n para
mantener constante la eficiencia
• Tiene en cuenta el tiempo de sobrecarga (Tº u overhead), que incluye:
o Tiempo de comunicación/sincronización entre procesos
o Tiempo para crear/terminar los procesos
o Tiempo de ejecución de operaciones añadidas en la versión paralela no
presentes en la secuencial
• Sustituyendo por k:
NUMA
• Acceso no uniforme a memoria → El acceso a memoria remota es más lento que el
acceso a memoria local
COMA
• Acceso solo a memoria caché→ Submodelo de NUMA, donde la memoria principal de
cada procesador se trata como una caché
• Coherencia → Escritura en una dirección se hacen visibles para todos los procesadores
Consistencia
• Consistencia → ¿Cuándo se tiene que ver la actualización de un dato realizada por
otro procesador?
• Consistencia estricta → Todas las escrituras son visibles al instante
• M → Modified
• S → Shared
• I → Invalid
• PrRd → Lectura
• PrWr → Escritura
• BusRd → Lectura
• BusRdX→ Lectura para escribir
• BusWB → Pos-Escritura
Protocolo MESI
Tiene cuatro estados:
• M → Modified
• E → Exclusive
• S → Shared
• I → Invalid
Protocolo DRAGON
Tiene cuatro estados:
• PrRdMiss
• PrWrMiss
• BusUpd: Difunde una única palabra escrita en el bus, actualiza las cachés implicadas
Protocolos de coherencia caché basados en directorio
Arquitectura
Definiciones
• Nodo hogar → Nodo que aloja el bloque en su MP
• Nodo local (solicitante) → Contiene el procesador que realiza la petición para el
bloque
• Bloques locales → Bloques cuyo hogar es local al procesador que realiza la petición
• Nodo propietario → Mantiene la copia válida del bloque y debe proporcionar los datos
cuando se necesiten. Puede ser el nodo hogar o el modificado
• Nodo modificado → Tiene en su caché una copia del bloque en el estado modificado
(puede ser el nodo hogar)
Introducción a OpenMP
OpenMP → Interfaz d programación de aplicaciones para programar aplicaciones paralelas en
multiprocesadores y procesadores multinúcleo. Para C++ y Fortran
Compuesta por
Modelo de ejecución
Fork/Join
Directivas OpenMP
• Formato →
• Construcción parallel →
Todas incluyen una barrera final para esperar a las demás, a no ser que tengan un nowait
• For: Región donde las iteraciones del bucle deben ejecutarse entre los hilos que
lleguen a él
• Sections: Construcción no iterativa formada por regiones divididas entre los hilos
Construcciones de tareas
• Task: Tarea explícita que se ejecuta por alguno de los hilos (inmediatamente o definir
la ejecución)
• Flush: Asegura que los hilos tienen una visión actualizada de datos
• Threadprivate: Lista de variables privadas para cada hilo, pero visibles en regiones
paralelas
• Firstprivate: Valor private, pero ese dato es inicializado según su valor antes de entrar
en el bloque
• Copyin: Asigna el mismo valor del hilo maestro a las variables threadprivate
• Copyprivate: Asigna un mismo valor de cierto hilo a las variables private para cada hilo
de una región paralela
Paquete → La unidad de transferencia entre interfaces de red. La menor unidad que contiene
información de encaminamiento
Phit → es la unidad física de información que se transfiere por un enlace en un ciclo de red
Canal
• Características
o Unidad física de transferencia por ciclo → Phit
o Unidad de control de flujo → Flit
o Velocidad de señal → f
o Ancho del canal físico → w
o Ancho de banda → B
▪ Depende del ciclo del reloj de la red
• Capacidad: Velocidad máxima a la que se pueden transmitir los bits de forma segura
por el canal
o Depende del consumo de potencia, la distancia, el ruido…
Topología
Estructura de la interconexión física de la red
Conmutación
Cómo atraviesan su ruta los datos de un mensaje
Encaminamiento
Que rutas pueden seguir los mensajes a través del grafo de la red
Redes Directas
Topología ideal
Topología ortogonal
Los enlaces se pueden poner de modo que produzcan desplazamiento en una única dimensión
Array Lineal
Anillo
Árbol Binario
Estrella
Mallas 2D y 3D
Toroides 2D y 3D
Hipercubo
• Grado nodos:
• Grado red:
• Diámetro:
• Escalable: Si, pero a costa de
Demasiado grado
Tipo:
• Conmutación de paquetes
• Conmutación de circuitos
• Conmutación vermiforme
• Conmutación de camino virtual
• Conmutación cartero loco
• Realiza la elección de caminos cuando hay varias posibilidades y gestiona los conflictos
que surgen entre los mensajes que quieren tomar el mismo camino
• Se suele buscar un algoritmo de encaminamiento óptimo (los mensajes vayan por el
camino más corto)
• Este algoritmo depende de la topología de la red
• Comportamiento deseado: simple y rápido
Adaptativo