Control 2

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Pregunta 1:

ILP se refiere a cuando paralelizamos distintas partes de un programa (operaciones diferentes),


mientras que data paralelism se refiere a cuando realizamos una misma operación pero que se le
aplica a distintos trozos de información.

Es muy relevante entender cual de estos tipos de paralelismo nos conviene más en un programa,
pues eso nos permitirá decidir si utilizamos algún tipo de hardware (como gpu para DP) o forma de
programar especifica para poder maximizar el rendimiento.

Pregunta 2:

Podemos verlo por ejemplo desde el punto de vista de la ley de amdahl. Si yo tengo una sección
critica y otra paralelizable tendremos que el tiempo es de la forma T_c + T_p/n

Siendo T_c tiempo critico y lo otro el paralelo y n los procesadores. El speed up sería (T_c +
T_p)(T_c + T_p / n) como tendremos que Tc + T_p / n > (T_c + T_p) / n. podemos depejar y vemos
que el sped up es menor (o igual) a n.

Podemos tener que por ejemplo el tener todo el programa corriendo en 1 procesador sea más
ineficiente que en 2. Digamos por ejemplo un procesador tiene una cierta precisión y debe hacer
ajustes extra para poder calcular lo que se le pide, luego si agregamos otro procesador o unidad de
cómputo que si permite realizar estas operaciones de forma correcta, puede que tengamos un
speed up mayor a 2, pues el proceso se aceleró mucho gracias a la nueva unidad.

Pregunta 3:

La ley de Amdahl empieza con un programa fijo y asume que solo se ejecuta de una forma
especifica que luego se paraleliza. Gustaffson considera que uno tiene un programa que puede ser
paralelizable y su fracción paralelizable puede depender del tamaño, por lo mismo esto hace que
las pérdidas de eficiencia no sean tan duras como se plantea en la ley de amdahl.

En la escalabilidad fuerte tenemos que se aumenta el numero de procesadores pero


eventualemente no mejora el speed up (debido a que el problema es de tamaño constante) y esto
se ve reafirmado por la ley de amdahl, mientras que en la escalabilidad débil tenemos que los
procesadores aumentan, pero también el tamaño del problema y por lo mismo se llega a una
eficiencia más bien constante, pues ya no tendremos la perdida de procesadores, pues ahora los
nuevos se les asignaran ya sea nuevas operaciones o nuevos datos.

Pregunta 4:

El camino critico es un conjunto de operaciones que puede no ser único de operaciones que
tienen dependencias entre ellas y por ende no se pueden paralelizar (por dependencia). Y por
ende este camino critico acota el tiempo mínimo que puede tomar un programa.
En el caso de la figura 3, tenemos el camino critico

- A1 + A2
- (A1 + A2) + (A3 + A4)
- (A1 + A2) + (A3 + A4) + (A5 + A6) + (A7 + A8)

Este es el caso específico para un vector de largo 8, pero en el general, sería que en el paso n
sumamos desde A1 hasta A2n Hasta que ya hayamos sumado todo el vector.

Pregunta 5:

Para la eficiencia no es bueno que el speed se mantenga constante, pues tenemos que la eficiencia
es (Ef = SU / n), siendo n el numero de unidades de cómputo. Como el SU es constante tendremos
que al aumentar las unidades la eficiencia baja. Esto es porque si el speed Up es constante
tendremos que el tiempo de ejecución es constante. (SU_n = T1/Tn).

Luego tendremos que agregamos nuevas unidades de cómputo, pero el tiempo de operación no
mejora lo que se traduce en un desperdicio, pues esas unidades en realizar otras operaciones de
otros procesos o simplemente no usarlas y ahorramos energía.

Pregunta 6:

La affinity se refiere a que tan bien están posicionados los datos dentro las distintas memorias
(cada procesador o conjunto tiene/n su memoria por NUMA) para que los procesadores que van a
usar esos datos puedan accederlos.

Esto es importante, pues si un procesador tiene en su memoria próxima toda la información


entonces no tendrá que acceder a otras memorias y esto es muy positivo para la velocidad. Si en
cambio tenemos que los procesadores están constantemente buscando sus datos en otras
memorias tendremos una gran perdida de velocidad, pues este proceso toma tiempo.

Por eso las máquinas NUMA se benefician de una buena affinity.

You might also like