Preguntas y respuestas sobre la computación de alto rendimiento


Preguntas sobre Speed-up y Escalabilidad

Pregunta 1

Sea una máquina con un millón de cores con un código que consume un 1% del tiempo en entrada/salida y un 1% del tiempo en un algoritmo secuencial no paralelizable. Si aplicamos el speed-up de Gustafson creciendo la parte paralelizable linealmente con el número de cores, ¿qué speed-up (ganancia) obtendríamos? El máximo speed-up es 1000000.

Pregunta 2

¿Cuál es el speed-up (ganancia) máximo que se puede obtener con un código que consume un 3% del tiempo en entrada/salida y un 22% del tiempo en un algoritmo secuencial no paralelizable? El máximo speed-up es 4.

Pregunta 3

¿Cuál es el máximo speed-up (ganancia) que se obtendría sobre una máquina con un millón de cores con un código que consume un 1% del tiempo en entrada/salida y un 1% del tiempo en un algoritmo secuencial no paralelizable? El máximo speed-up es 50.

Pregunta 4

Si en el caso anterior aplicamos el speed-up de Gustafson creciendo la parte paralelizable linealmente con el número de cores, ¿qué speed-up (ganancia) obtendríamos? El máximo speed-up es 1.000.000.

Preguntas de Selección Múltiple

Pregunta 5

Marque cuáles de las siguientes afirmaciones sobre tipos de aplicaciones son correctas:

  • Las aplicaciones de alta productividad no requieren el uso de un modelo de programación paralela.
  • El modelo de alta productividad es compatible con el de alto rendimiento ya que cada tarea puede requerir el uso simultáneo de varios procesadores.
  • Los flujos de trabajo (workflows) son un ejemplo de aplicación de alta productividad.
  • Las aplicaciones de alta productividad no requieren redes de altas prestaciones.

Pregunta 6

En relación al análisis de código previo a la paralelización, marque cuáles de las siguientes afirmaciones son correctas:

  • Cuanto más lineal sea la complejidad numérica del algoritmo más escalable será su ejecución al crecer el número de procesadores.
  • La Ley de Amdahl no aplica cuando aumentamos el tamaño del problema al aumentar el tamaño de la máquina.
  • El grano o granularidad de un código mide de forma relativa la cantidad de operaciones en relación a las comunicaciones.
  • Los códigos suelen concentrar la mayor parte del tiempo de ejecución en zonas concretas.

Pregunta 7

Marque cuáles de las siguientes afirmaciones sobre el análisis de código previo a la paralelización son correctas:

  • Cuanto más lineal es la complejidad numérica del algoritmo mayor es su escalabilidad.
  • Cuanto más grueso es el grano del código menos sobrecargas por sincronización y comunicación mostrará.
  • La Ley de Gustafson tiene efecto cuando crece el tamaño del problema con el número de procesadores.
  • El Speedup de una aplicación con 95% de código paralelizable nunca será superior a 20.

Pregunta 8

Marque cuáles de las siguientes afirmaciones sobre las arquitecturas paralelas existentes son correctas:

  • La arquitectura más potente del mundo ofrece un rendimiento del orden de decenas de Petaflops.
  • Para las aplicaciones de alto rendimiento acopladas se requiere una red de interconexión de baja latencia y alto ancho de banda.
  • La arquitectura más común en el Top500 es la memoria distribuida.

Pregunta 9

En relación al modelo de memoria compartida, marque cuáles de las siguientes afirmaciones son correctas:

  • El programador es siempre responsable de gestionar la sincronización.

Pregunta 10

En relación a la planificación de iteraciones de bucles sobre threads en los modelos de programación basados en directivas, marque cuáles de las siguientes afirmaciones son correctas:

  • Las políticas de planificación pueden ser estáticas y dinámicas.
  • Las políticas factorizada y auto-planificación guiada son ejemplos de políticas dinámicas.
  • Si el programador no define una política de planificación, el compilador asigna una por defecto.

Pregunta 11

¿Qué es el problema de la compartición falsa?

Competencia entre CPUs por la misma línea de caché cuando acceden a diferentes variables. Genera un uso ineficiente de la memoria caché del sistema que aparece más frecuentemente cuanto mayor es el tamaño de línea de caché.

Pregunta 12

En relación al modelo de memoria distribuida basado en paso de mensajes, marque cuáles de las siguientes afirmaciones son correctas.

  • Además de rutinas para la comunicación punto a punto, las librerías suelen proporcionar rutinas para entrada/salida distribuida.

Pregunta 13

En relación al modelo de memoria distribuida, marque cuáles de las siguientes afirmaciones son correctas:

  • La frecuencia y tamaño de las comunicaciones definen las prestaciones que deberá tener la red de interconexión.
  • Existen 4 tipos de rutinas send.

Pregunta 14

En relación al modelo de memoria distribuida basado en paso de mensajes, marque cuáles de las siguientes afirmaciones son correctas.

  • Debemos realizar un código diferente para cada nodo de la máquina.
  • Existen paralelizadores automáticos.
  • Permite realizar un paralelismo a nivel de bucle y fragmento de código.

Pregunta 15

En relación al modelo de memoria compartida, marque cuáles de las siguientes afirmaciones son correctas.

  • El programador es siempre responsable de gestionar la sincronización.

Pregunta 16

En relación a las herramientas de gestión de recursos, marque cuáles de las siguientes afirmaciones son correctas:

  • Actúan de planificadores asignando los trabajos pendientes a los recursos en función de ciertas políticas de administración.
  • No tienen nada que ver con los modelos de programación.

Pregunta 17

En relación a las herramientas de gestión de recursos, marque cuáles de las siguientes afirmaciones son correctas.

  • Maui es un planificador que se puede usar con cualquier herramienta de gestión de recursos.
  • Para crear un Grid de computación se usa Globus.
  • Para desplegar clusters de computación en el Cloud se usa StarCluster.
  • OpenCCS es la única herramienta con gestión de reservas que hemos visto en el curso.

Pregunta 18

En relación a las plataformas de computación de altas prestaciones, marque cuáles de las siguientes afirmaciones son correctas:

  • Los sistemas de memoria compartida tipo NUMA requieren protocolos de coherencia cache.
  • Infiniband es una red de menor latencia que Gigabit Ethernet.

Pregunta 19

En relación a las plataformas de computación de altas prestaciones, marque cuáles de las siguientes afirmaciones son correctas.

  • Los sistemas de memoria compartida tipo UMA requieren protocolos de coherencia cache.
  • Los sistemas de memoria compartida tipo NUMA requieren protocolos de coherencia cache.

Pregunta 20

En relación a los inhibidores de paralelización en el modelo de memoria compartida basado en directivas, marque cuáles de las siguientes afirmaciones son correctas.

  • La “Dependencia Serie” se puede resolver muy fácilmente.
  • La “Recurrencia Hacia Atrás” no se puede resolver, es necesario emplear técnicas de reducción cíclica.
  • La “Reducción” la resuelve el compilador.
  • El “Direccionamiento Indirecto” inhibe la paralelización.

Dejar un Comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *