Descargar

Análisis de rendimiento (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

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,

edu.red

Otras Limitaciones Ignora ?(n,p) Sobre estima el speedup que se puede lograr

edu.red

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) Cuando n crece, ?(n)/p domina a ?(n,p) Cuando n crece, La proporción secuencial decrece Speedup crece

edu.red

Illustration of Amdahl Effect (Gp:) n = 100

(Gp:) n = 1,000

(Gp:) n = 10,000

Speedup Processors

edu.red

Resumen de la Ley de Amdahl Trata tamaño como constante 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.

edu.red

La Métrica Isoeficiencia 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 Un sistema escalable mantiene su eficiencia cuando se aumenta la cantidad de procesadores Isoeficiencia:Una manera para medir escalabilidad

edu.red

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

edu.red

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

edu.red

La Función de Escalabilidad 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 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

edu.red

El Significado de la Función de Escalabilidad 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 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

edu.red

Ejemplo : El Algoritmo de Floyd Complexidad Secuencial: ?(n3) Complexidad Paralela: ?(n3/p) Tiempo de comunicaciones: ?(n2log p) Gastos Paralelismo: T0(n,p) = ?(pn2log p)

edu.red

compute_shortest_paths void compute_shortest_paths (int id, int p, dtype **a, int n) { int i, j, k; int offset; /* Local index of broadcast row */ int root; /* Process controlling row to be bcast */ int *tmp; /* Holds the broadcast row */ tmp = (dtype *) malloc (n * sizeof(dtype)); for (k = 0; k < n; k++) { root = BLOCK_OWNER(k, p, n); if (root == id) { offset = k – BLOCK_LOW(id, p, n); for (j = 0; j < n; j++) tmp[j] = a[offset][j]; } MPI_Bcast (tmp, n, MPI_TYPE, root, MPI_COMM_WORLD); for (i = 0; i < BLOCK_SIZE(id, p, n); i++) for (j = 0; j < n; j++) a[i][j] = MIN(a[i][j], a[i][k] + tmp[j]); } free (tmp); }

edu.red

El Algoritmo de Floyd (cont) Relación de Isoeficiencian3 ? C(p n2 log p) ? n ? C p log p M(n) = n2

El sistema no tiene buena escabilidad

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente