You are on page 1of 5

UTEM

UNIVERSIDAD TECNOLOGICA METROPOLITANA FACULTAD DE INGENIERA DEPTO. COMPUTACIN E INFORMTICA

UNIVERSIDAD TECNOLOGICA METROPOLITANA FACULTAD DE INGENIERA DEPTO. COMPUTACIN E INFORMTICA

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

Saltos Cargas/almacenamient o Operaciones de la ALU

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.

Frecuencia del Tipo de Operacin


GCC optimizado Saltos Cargas/almacenamient o Operaciones de la ALU 18% 36% 46% GCC no optimizado 16% 39% 45%

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

CP 2008-I Midterm Exam N1 (P1)

-1-

OM

CP 2008-I Midterm Exam N1 (P1)

-2-

UNIVERSIDAD TECNOLOGICA METROPOLITANA FACULTAD DE INGENIERA DEPTO. COMPUTACIN E INFORMTICA

UNIVERSIDAD TECNOLOGICA METROPOLITANA FACULTAD DE INGENIERA DEPTO. COMPUTACIN E INFORMTICA

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

CP 2008-I Midterm Exam N1 (P1)

-3-

OM

CP 2008-I Midterm Exam N1 (P1)

-4-

UNIVERSIDAD TECNOLOGICA METROPOLITANA FACULTAD DE INGENIERA DEPTO. COMPUTACIN E INFORMTICA

UNIVERSIDAD TECNOLOGICA METROPOLITANA FACULTAD DE INGENIERA DEPTO. COMPUTACIN E INFORMTICA

UTEM

UTEM

(a)

Distribucin de datos iniciales y 1er. fase comunicacional.

(b)

2 fase comunicacional.

(c)

3er. fase comunicacional.

(d)

4o. fase comunicacional.

(e)

Acumulacin de la sumatoria en el el elemento de procesamiento 0 antes de la comunicacin final.

Considerando el esquema algortmico anterior


Problema N 4. (35%)
Considere el problema de sumar n nmeros usando n elementos de procesamiento. Si n es potencia de dos, se puede realizar esta operacin en log n pasos propagando sumas parciales a lo largo de un rbol lgico de procesadores. En la figura se muestran los pasos necesarios. ij denota la suma de los nmeros etiquetados desde i hasta j. Si una adicin toma un tiempo constante de tc y comunicar una palabra cuesta ts + tw, se tiene entonces que el tiempo paralelo y, adems: cada tarea lleva a cabo el mismo cmputo sobre cada punto asignado en cada paso de iteracin del algoritmo. Dado lo anterior y la necesidad de implementar el algoritmo en una malla de N x N x Z, considerando que la malla se descompone en la dimensin horizontal como se muestra en la siguiente figura y en la que cada tarea trabaja sobre una submalla con N x N/P x Z puntos.

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

CP 2008-I Midterm Exam N1 (P1)

-5-

OM

CP 2008-I Midterm Exam N1 (P1)

-6-

UNIVERSIDAD TECNOLOGICA METROPOLITANA FACULTAD DE INGENIERA DEPTO. COMPUTACIN E INFORMTICA

UNIVERSIDAD TECNOLOGICA METROPOLITANA FACULTAD DE INGENIERA DEPTO. COMPUTACIN E INFORMTICA

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)

el tiempo de cmputo (Tcomp) para cada paso

Sea tc es el tiempo medio de cmputo por punto, entonces:

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)

el tiempo total de la aplicacin paralela (Tp)

d)

la aceleracin o Speedup

e)

la eficiencia

OM

CP 2008-I Midterm Exam N1 (P1)

-7-

OM

CP 2008-I Midterm Exam N1 (P1)

-8-

UNIVERSIDAD TECNOLOGICA METROPOLITANA FACULTAD DE INGENIERA DEPTO. COMPUTACIN E INFORMTICA

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)

Para llenar el pipeline: i = m (m + 1) i=1 2


Para n tareas se tiene, que cuando se llene el Pipeline con la 1 tarea, a la 2 tarea slo le faltar m unidades de tiempo para terminar, cuando termine la 2 tarea a la 3 tarea le faltar tambin m unidades de tiempo y as sucesivamente.

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)

b) Para llenar cada pipeline (k):

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

CP 2008-I Midterm Exam N1 (P1)

-9-

You might also like