Professional Documents
Culture Documents
UTEM
CLASS: PARALLEL COMPUTING PERIOD : I - 2008 STUDY : - Civil Engineering on Computer Science Mmidterm Exam : N1 (P1), 09- Jul-2008 Professor : - Oscar Magna NAME: __________________________________________________R.U.T: _____________________
PAUTA
Problema N 1. (15%)
Se desea comparar dos versiones de compilador GCC. Una de ellas se encuentra optimizada y la otra no. Considere los siguientes parmetros de performance (en CPIs).
Operacin ALU :1 Cargas/almacenamiento :3 Saltos :5 Millones de Instrucciones Ejecutadas
GCC optimizado GCC no optimizado
26 53 69
28 70 81
Problema N 2. (20%)
Ha aparecido en el mercado una versin nueva de un procesador, en la que la nica novedad con respecto a la versin anterior es una unidad de coma flotante, que permite reducir el tiempo de las instrucciones de coma flotante a tres cuartas partes del tiempo que consuman antes. Suponga que los programas que constituyen su carga de trabajo habitual tienen un promedio de 13% de instrucciones de coma flotante.
Se pide:
a. Cul es la mxima ganancia de velocidad que se puede esperar en sus programas si sustituye su procesador por la nueva versin del mismo? b. Cul es la mxima ganancia de velocidad que puede esperar para sus programas debido a mejoras en la velocidad de las operaciones en coma flotante? c. Cul debera ser el porcentaje de clculos con datos en coma flotante en sus programas para esperar una ganancia mxima de al menos 4? d. En este ltimo caso, cunto debera reducirse el tiempo de las operaciones en coma flotante con respecto a la situacin inicial para que la ganancia mxima sea 2?
Se pide:
a) Calcula el CPI para las versiones optimizada y no optimizada de GCC b) Cuntas veces es ms rpido el programa optimizado que el no optimizado?
SOLUCIN
SOLUCIN
OM
-1-
OM
-2-
UTEM
conversin de entero a punto flotante : 6.006 comparacin : 4.710 TOTAL : 195.578
UTEM
El benchmark se ejecut en el antiguo procesador Motorola 68020 que corra a 16.67MHz, e incluye un coprocesador de punto flotante (suponer que el coprocesador no incluye arco tangente, seno, coseno, raz cuadrada, exponencial y logaritmo como instrucciones). El compilador utilizado permite que el punto flotante se calcule con el coprocesador o utilizando rutinas software dependiendo de los parmetros del compilador. Una iteracin del benchmark necesita 1.08 segundos utilizando el coprocesador, y 13.6 utilizando el software. Suponer que al medir el CPI utilizando el coprocesador se obtuvo una medida de 10, mientras que utilizando el software la medida fue de 6.
Problema N 3. (15%)
El benchmark Whetstone contiene 79.550 operaciones en punto flotante, sin incluir las operaciones en punto flotante realizadas en cada llamada a las siguientes funciones: arco tangente : invocado 640 veces seno: : invocado 640 veces coseno : invocado 1920 veces raz cuadrada : invocada 930 veces exponencial : invocada 930 veces logaritmo : invocada 930 veces Las operaciones bsicas para una iteracin (sin incluir operaciones en punto flotante para realizar las funciones anteriores) se descomponen como sigue: suma : 37.530 resta : 3.520 multiplicacin : 22.900 divisin : 11.400 conversin de entero a punto flotante : 4.200 TOTAL :79.550 El nmero total de operaciones en punto flotante para una operacin tambin puede calcularse incluyendo las operaciones en punto flotantes necesarias para realizar las funciones arco tangente, seno, coseno, raz cuadrada, exponencial y logaritmo: suma : 82.014 resta : 8.229 multiplicacin : 73.220 divisin : 21.399
Se pide:
a. Cul es la estimacin en MIPS (nativos) para ambas ejecuciones? b. Cul es el nmero total de instrucciones ejecutadas en ambas ejecuciones? c. En promedio, cuntas instrucciones enteras se necesitan para realizar cada operacin de punto flotante en software? d. Cules seran los resultados obtenidos del Benchmark en un notebook con las siguientes caractersticas: i. Procesador Core Duo T8100, con cach L2 de 3 Mb, con una velocidad de reloj de 2,1 GHz y bus frontal de 800 MHz. ii. CPI de 45 para el coprocesador y 30 para el software. iii. Una iteracin del benchmark es ms eficiente en un 25% utilizando el coprocesador y en un 40% utilizando el software. e. Comente.
SOLUCIN
OM
-3-
OM
-4-
UTEM
UTEM
(a)
(b)
2 fase comunicacional.
(c)
(d)
(e)
Se sabe que:
El tiempo secuencial es Ts = (n) y la aceleracin es S = ( n / log n) El esquema operacional general puede representarse por las siguientes fases operacionales:
OM
-5-
OM
-6-
UTEM
Se pide: a) el tiempo de cmputo (Tcomp) para cada paso b) el tiempo de comunicacin (Tcomm) c) el tiempo total de la aplicacin paralela (Tp) d) la aceleracin o Speedup e) la eficiencia
UTEM
SOLUCIN
a)
b)
el tiempo de comunicacin (Tcomm) Cada tarea intercambia 2NZ puntos con dos vecinos, por lo tanto cada tarea enva dos mensajes con 2NZ puntos por mensaje. El tiempo de comunicacin puede expresarse como:
c)
d)
la aceleracin o Speedup
e)
la eficiencia
OM
-7-
OM
-8-
UTEM
Problema N 5. (15%)
Una tarea puede ser descompuesta en m subtareas. La primera subtarea toma 1 unidad de tiempo y la i-sima suibtarea toma i unidades de tiempo. a. Cunto tiempo toma realizar n tareas usando pipelilne? b. Cunto es el tiempo si se utlizan k pipes, con k < n?
a)
1 Tare a: Tiempo = m (m + 1) 2 2 Tarea: Tiempo = m 3 Tarea Tiempo = m ..................... m Tarea: Tiempo = m Tiempo total = m (m + 1) + m (n - 1) 2 m : (n-1) Tareas Tiempo = m ( n-1)
i = m (m + 1) i=1 2 Si se tiene k pipeline voy a realizar k tareas en paralelo, y cada vez que termine una subtarea podr iniciar paralelamente k tareas, por lo tanto, el resto de tareas que me quedarn despus de llenar las k pipeline, son (n/k - 1), de aqu se deduce que:
Tiempo total = m (m + 1) + m ( n - 1)
2 k
OM
-9-