Computación paralela y distribuida – ley de Amdahl, GPU y segmentación

InformáticaComputadoras y hardwareEdades 16–17

Usar con mi clase ✨ Personalizar con IA Informar de un problema

Divide un trabajo en tareas con una fracción paralela p y ejecútalo de forma secuencial en un núcleo, en paralelo en n núcleos o distribuido entre computadoras en red que primero deben recibir sus datos. Un diagrama de Gantt muestra qué hace cada núcleo, la gráfica de aceleración sigue la ley de Amdahl S = 1/((1 − p) + p/n) y su límite 1/(1 − p), y una tabla registra tus ejecuciones. La pestaña GPU aplica un filtro de imagen con unos pocos núcleos rápidos de CPU y muchos núcleos sencillos de GPU; la pestaña Segmentación muestra las etapas de búsqueda, decodificación y ejecución solapadas, con una parada causada por un riesgo de datos.

Lección: Computación paralela y distribuida: tareas secuenciales y paralelas, procesadores multinúcleo, ley de Amdahl, aceleración y eficiencia, coste de comunicación, GPU, segmentación y riesgos de datos

Qué muestra

La computación paralela ejecuta a la vez partes de un programa en varios núcleos; la distribuida reparte el trabajo entre computadoras de una red, que deben enviarse datos. Solo la fracción paralela p de un trabajo se puede repartir, así que la ley de Amdahl da la aceleración S = 1/((1 − p) + p/n), que nunca supera 1/(1 − p). En los sistemas distribuidos, el tiempo de comunicación crece con el número de computadoras y puede hacer que añadir más vuelva el trabajo más lento. Una GPU tiene miles de núcleos sencillos, adecuados para la misma operación sobre muchos datos. La segmentación solapa las etapas de búsqueda, decodificación y ejecución de instrucciones sucesivas.

Cómo usarla

En la pestaña Paralela y distribuida, elige el Modo, ajusta la Fracción paralela p, el Número de núcleos n, las Tareas y, en modo distribuido, Enviar datos por equipo; pulsa Ejecutar para animar el diagrama de Gantt y Añadir a la tabla para guardar el resultado. En la pestaña CPU y GPU, elige la Tarea y el número de núcleos de GPU y pulsa Ejecutar. En la pestaña Segmentación, elige un Programa, activa o desactiva Segmentación y usa Paso o Reproducir.

Parámetros que puedes cambiar

  • Pestaña inicial Paralela y distribuida, CPU y GPU, Segmentación
  • Modo Secuencial (1 núcleo), Paralelo (n núcleos), Distribuido (n computadoras en red)
  • Fracción paralela p 0–100 %
  • Número de núcleos o computadoras n 1–32
  • Número de tareas paralelas 4–48
  • Tiempo para enviar datos a cada computadora 0–5 s
  • Número de núcleos de GPU 32, 64, 128, 256, 512
  • Tarea en la pestaña GPU Filtro blanco y negro (cada píxel independiente), Desenfoque encadenado (cada píxel necesita el anterior)
  • Segmentación activada
  • Programa en la pestaña Segmentación Sin dependencias, Con riesgo de datos, Riesgo, instrucciones reordenadas

Preguntas para explorar

  1. ¿Por qué, con p = 80 %, pasar de 16 a 32 núcleos casi no acelera el trabajo?
  2. ¿Por qué, en modo distribuido, añadir más computadoras puede hacer el trabajo más lento?
  3. ¿Por qué la GPU gana con el filtro blanco y negro pero pierde con el desenfoque encadenado frente a la CPU?