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.

Entradas relacionadas: