La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Analisis de Rendimiento.

Presentaciones similares


Presentación del tema: "Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Analisis de Rendimiento."— Transcripción de la presentación:

1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Analisis de Rendimiento

2 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Metas Predecir el rendimiento de programas paralelos Predecir el rendimiento de programas paralelos Entender los obstáculos que impiden mejor rendimiento Entender los obstáculos que impiden mejor rendimiento

3 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Bosquejo Formula General para speedup Formula General para speedup La Ley de Amdahl La Ley de Amdahl La Ley de Gustafson-Barsis La Ley de Gustafson-Barsis La Métrica de Karp-Flatt La Métrica de Karp-Flatt La Métrica de Isoeficiencia La Métrica de Isoeficiencia

4 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Speedup Speedup = t s /t p donde t s es el tiempo que se requiere para ejecutar el programa secuencialmente y t p es el tiempo que se requiere para ejecutar el programa en paralelo Speedup = t s /t p donde t s es el tiempo que se requiere para ejecutar el programa secuencialmente y t p es el tiempo que se requiere para ejecutar el programa en paralelo Quinn denota speedup por ψ(n,p) donde n es el tamaño del problema y p es el número de procesos Quinn denota speedup por ψ(n,p) donde n es el tamaño del problema y p es el número de procesos

5 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Speedup (cont)  ψ(n,p)≤p  ψ(n,p)=p si el problema se particiona perfectamente en p procesos iguales y no hay ningun “overhead” debido a, por ejemplo, comunicaciones, coordenació de procesos, el costo de particionar, etc.

6 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Los Componentes de Tiempo de Ejecutación Computaciones que tienen que hacer secuencialmente:  (n) Computaciones que tienen que hacer secuencialmente:  (n) Computaciones que se pueden llevar a cabo en paralelo:  (n) Computaciones que se pueden llevar a cabo en paralelo:  (n) Operaciones de comunicaciones:  (n,p) Operaciones de comunicaciones:  (n,p)

7 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Expresión para Speedup t s =  (n) +  (n) t s =  (n) +  (n) t p =  (n) +  (n)/p +  (n,p) t p =  (n) +  (n)/p +  (n,p) Por lo tanto, Por lo tanto, ψ(n,p) ≤ (  (n) +  (n))/(  (n) +  (n)/p +  (n,p)) ψ(n,p) ≤ (  (n) +  (n))/(  (n) +  (n)/p +  (n,p))

8 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.  (n)/p Aumentar el número de procesadores reduce el tiempo computacional Aumentar el número de procesadores reduce el tiempo computacional  (n)/p

9 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.  (n,p) El tiempo de comunicaciones crece con la cantidad de procesadores El tiempo de comunicaciones crece con la cantidad de procesadores  (n,p)

10 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. En algun momento el tiempo de comunicaciones será mayor que el tiempo computacional En algun momento el tiempo de comunicaciones será mayor que el tiempo computacional  (n)/p +  (n,p)

11 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Speedup

12 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Eficiencia Eficiencia = t S / (p*t p ) donde p es el número de procesadores Eficiencia = t S / (p*t p ) donde p es el número de procesadores Ya que t p ≤ t S / p, tenemos que Ya que t p ≤ t S / p, tenemos que 0 ≤ Eficiencia ≤ 1 0 ≤ Eficiencia ≤ 1 Quinn denota eficiencia por  (n,p) Quinn denota eficiencia por  (n,p) Notemos que  (n,p)= ψ(n,p)/p Notemos que  (n,p)= ψ(n,p)/p

13 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. La Ley de Amdahl ψ(n,p) ≤ (  (n) +  (n))/(  (n) +  (n)/p +  (n,p)) ≤ (  (n) +  (n))/(  (n) +  (n)/p ) ≤ (  (n) +  (n))/(  (n) +  (n)/p ) Si f es la porción de la computación que es inherentemente secuencial, es decir que f=  (n)/(  (n) +  (n)), entonces ψ ≤ 1/(f+(1-f)/p) ψ ≤ 1/(f+(1-f)/p) Notemos que ψ ≤ 1/f

14 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Limitaciones de la Ley de Amdahl En el pasado se creia que fue un limite fatal al futuro de paralelismo. Sin embargo,  su demostración tiene que ver con los pasos de un algorítmo específico y no toma en consideración que otro algorítmo con mas paralelismo podria existir.  trata el tamaño de problema como una constante, pero en la práctica la proporción secuencial de un programa decrece con el tamaño,

15 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Otras Limitaciones Ignora  (n,p) Ignora  (n,p) Sobre estima el speedup que se puede lograr Sobre estima el speedup que se puede lograr

16 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. El Efecto Amdahl En la práctica, el tiempo de comunicación  (n,p) tiene complexidad menor que  (n)/p (i.e., el tiempo para la parte paralela) En la práctica, el tiempo de comunicación  (n,p) tiene complexidad menor que  (n)/p (i.e., el tiempo para la parte paralela) Cuando n crece,  (n)/p domina a  (n,p) Cuando n crece,  (n)/p domina a  (n,p) Cuando n crece, Cuando n crece,  La proporción secuencial decrece  Speedup crece

17 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Illustration of Amdahl Effect n = 100 n = 1,000 n = 10,000 Speedup Processors

18 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Resumen de la Ley de Amdahl Trata tamaño como constante Trata tamaño como constante Demuestra como el tiempo de ejecutación decrece cuando el número de procesadores crece Demuestra como el tiempo de ejecutación decrece cuando el número de procesadores crece Profesionales en computación paralela no creean que la ley de Amdahl limita el futuro de computación paralela, como originalmente creian. Profesionales en computación paralela no creean que la ley de Amdahl limita el futuro de computación paralela, como originalmente creian.

19 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. La Métrica Isoeficiencia Un sistema paralelo se define como un programa paralelo que se está ejecutando en una computadora paralela Un sistema paralelo se define como un programa paralelo que se está ejecutando en una computadora paralela La escalabilidad de un sistema paralelo es una medida de su habilidad para mejorar rendimiento cuando se aumenta el número de procesadores es La escalabilidad de un sistema paralelo es una medida de su habilidad para mejorar rendimiento cuando se aumenta el número de procesadores es Un sistema escalable mantiene su eficiencia cuando se aumenta la cantidad de procesadores Un sistema escalable mantiene su eficiencia cuando se aumenta la cantidad de procesadores Isoeficiencia:Una manera para medir escalabilidad Isoeficiencia:Una manera para medir escalabilidad

20 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Para Derivar la Relación de Isoeficiencia Determinar los gastos generales Substituir gastos generales en la ecuación de speedup Sustituir T(n,1) =  (n) +  (n). Presumir eficiencia constante. Relación de Isoeficiencia

21 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Para Derivar la Relación de Isoeficiencia (cont) Para mantener el mismo nivel de eficiencia cuando crece la cantidad de procesadores, hay que aumentar n para que se cumpla

22 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. La Función de Escalabilidad Supongamos que la relación de isoeficiencia es n  f(p) Supongamos que la relación de isoeficiencia es n  f(p) Sea M(n) la cantidad de memoria que se requiere para un problema de tamaño n Sea M(n) la cantidad de memoria que se requiere para un problema de tamaño n M(f(p))/p indica como el uso de memoria por procesador tiene que crecer para mantener la misma eficiencia M(f(p))/p indica como el uso de memoria por procesador tiene que crecer para mantener la misma eficiencia M(f(p))/p se llama la función de escalabilidad M(f(p))/p se llama la función de escalabilidad

23 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. El Significado de la Función de Escalabilidad Para mantener la eficiencia cuando crece p, tenemos que aumentar n Para mantener la eficiencia cuando crece p, tenemos que aumentar n El tamaño de problema máximo está limitado por la cantidad de memoria disponible, que es lineal en p El tamaño de problema máximo está limitado por la cantidad de memoria disponible, que es lineal en p La función de escalabilidad muestra como el uso de memoria por procesador tiene que crecer para mantener eficiencia La función de escalabilidad muestra como el uso de memoria por procesador tiene que crecer para mantener eficiencia Si la función de escalabilidad es constante, el sistema paralelo es perfectamente escalable Si la función de escalabilidad es constante, el sistema paralelo es perfectamente escalable

24 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Ejemplo : El Algoritmo de Floyd Complexidad Secuencial:  (n 3 ) Complexidad Secuencial:  (n 3 ) Complexidad Paralela:  (n 3 /p) Complexidad Paralela:  (n 3 /p) Tiempo de comunicaciones:  (n 2 log p) Tiempo de comunicaciones:  (n 2 log p) Gastos Paralelismo: T 0 (n,p) =  (pn 2 log p) Gastos Paralelismo: T 0 (n,p) =  (pn 2 log p)

25 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. compute_shortest_paths void compute_shortest_paths (int id, int p, dtype **a, int n) void compute_shortest_paths (int id, int p, dtype **a, int n) { inti, j, k; inti, j, k; intoffset;/* Local index of broadcast row */ intoffset;/* Local index of broadcast row */ introot;/* Process controlling row to be bcast */ introot;/* Process controlling row to be bcast */ int*tmp;/* Holds the broadcast row */ int*tmp;/* Holds the broadcast row */ tmp = (dtype *) malloc (n * sizeof(dtype)); tmp = (dtype *) malloc (n * sizeof(dtype)); for (k = 0; k < n; k++) for (k = 0; k < n; k++) { root = BLOCK_OWNER(k, p, n); { root = BLOCK_OWNER(k, p, n); if (root == id) if (root == id) { offset = k - BLOCK_LOW(id, p, n); { offset = k - BLOCK_LOW(id, p, n); for (j = 0; j < n; j++) for (j = 0; j < n; j++) tmp[j] = a[offset][j]; tmp[j] = a[offset][j]; } } MPI_Bcast (tmp, n, MPI_TYPE, root, MPI_COMM_WORLD); MPI_Bcast (tmp, n, MPI_TYPE, root, MPI_COMM_WORLD); for (i = 0; i < BLOCK_SIZE(id, p, n); i++) for (i = 0; i < BLOCK_SIZE(id, p, n); i++) for (j = 0; j < n; j++) for (j = 0; j < n; j++) a[i][j] = MIN(a[i][j], a[i][k] + tmp[j]); a[i][j] = MIN(a[i][j], a[i][k] + tmp[j]); } } free (tmp); free (tmp); }

26 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. El Algoritmo de Floyd (cont) Relación de Isoeficiencia n 3  C(p n 2 log p)  n  C p log p Relación de Isoeficiencia n 3  C(p n 2 log p)  n  C p log p M(n) = n 2 M(n) = n 2 El sistema no tiene buena escabilidad El sistema no tiene buena escabilidad


Descargar ppt "Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Analisis de Rendimiento."

Presentaciones similares


Anuncios Google