Conceptos Clave en Arquitectura de Computadores y Sistemas Paralelos
Clasificado en Informática
Escrito el en español con un tamaño de 4,14 KB
Modelos de Consistencia y Sincronización
- Modelo de consistencia de adquisición/liberación: Es más relajado que la consistencia u ordenamiento débil.
- Operación LL/SC: Una operación que se realiza en dos fases, de tal modo que la primera instrucción carga un dato de memoria a un registro y la segunda realiza un almacenamiento a memoria si dicho dato no ha cambiado.
- Barrera en la sincronización de procesos: Es usada para sincronizar fases de un programa, garantizando que ningún proceso la supera hasta que todos han llegado a ella.
- Test and Set en la sincronización de datos en memoria compartida: Es una secuencia atómica que transfiere el dato de una posición de memoria a un registro y escribe “1” en dicha posición de memoria.
- Los cerrojos: Pueden ser implementados para que respeten el orden de llegada.
- Espera activa en la sincronización de hilos: Es un mecanismo de sincronización en el que el proceso se queda bloqueado en una cola activa.
Arquitecturas y Sistemas de Memoria
- Arquitectura de tipo DSM: Se usan protocolos basados en directorio.
- DSM: Un tipo de multiprocesador con memoria compartida distribuida.
- Sistema de memoria coherente: Cualquier lectura de una posición devuelve el valor más reciente que se haya escrito en esa posición.
- SMP: Un tipo de multiprocesador con memoria compartida centralizada.
Paralelismo y Optimización
- Arquitecturas vectoriales y las GPU: Explotan el paralelismo de datos aplicando una instrucción a varios datos en paralelo.
- Procesador superescalar: Puede emitir más de una instrucción por ciclo.
- Paralelismo a nivel de instrucción: Oculta los detalles del paralelismo gracias al soporte del compilador.
Conceptos de Bajo Nivel
- Energía dinámica en tecnología CMOS: Depende exclusivamente del voltaje y la carga capacitiva.
- Riesgos estructurales en un pipeline: Son evitables pero se encarece el hardware.
- Pipeline de profundidad N: Multiplica por N el ancho de banda necesario de la versión sin Pipe.
Consistencia de Memoria
- Sistema con consistencia secuencial: Las operaciones de memoria parecen como si se ejecutaran atómicamente. Mantiene para cada procesador el orden de las operaciones.
- Modelo de consistencia de liberación: Es más relajado que la consistencia secuencial.
- Modelo relajado de consistencia de memoria (consistencia u ordenamiento débil): Asume que la reordenación de datos es posible.
Hilos y Condiciones de Carrera
- Objeto de la clase thread: Puede tener asociado uno o ningún hilo de ejecución.
- Condición de carrera: Existe una posible condición de carrera si dos hilos intentan escribir simultáneamente en la misma dirección de memoria.
Instrucciones Atómicas y Pragma Reduction
- Función compare_exchange_strong: Puede tener mejor rendimiento que compare_exchange_weak si sólo la función weak necesita un bucle para su correcta ejecución.
- Pragma reduction: No admite copias compartidas de la variable sobre la que ejecutar la reducción (afirmación falsa).
Optimización de Código
- Optimización de reordenación de procedimientos: Se realiza en tiempo de compilación.
- Desenrollamiento de bucles: Aumenta la longitud del bloque básico.
- Optimización de fusión de arrays: Transforma varios arrays del mismo tamaño en uno solo.
Eficiencia Energética
- Técnicas que NO contribuyen a la mejora de la eficiencia energética: Incremento del número de transistores conectados a una salida.