Descargar

Algorítmica paralela (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

Modelo PRAM (Parallel Random Access Machine) Comparación en cada procesador del algoritmo PRAM-CRCW ij 5 6 9 2 9 7 8 3 m 5 F V V F V V V F F 6 F F V F V V V F F 9 F F F F F F F F V 2 V V V F V V V V F 9 F F F F F F F F V 7 F F V F V F V F F 8 F F V F V F F F F 3 V V V F V V V F F

edu.red

Modelo PRAM (Parallel Random Access Machine) El algoritmo paralelo requiere de 6 pasos para concluir. Sí n es el número de datos a comparar Su complejidad asintótica temporal es T?(n) = 6 = O(1). Se requieren n2 procesadores para ejecutarlo, por lo que su complejidad de hardware es H(n) = n2.

edu.red

Modelo PRAM (Parallel Random Access Machine) Encontrar el número mayor del arreglo A, se analiza en una computadora PRAM-EREW.

edu.red

Modelo PRAM (Parallel Random Access Machine) El algoritmo paralelo requiere de 3 pasos para su ejecución, esto es log28. Por tanto, el tiempo paralelo será T?(n) = 3 = log28 = O(log2n). Con respecto al hardware, se requerirán n/2 procesadores, por lo que H(n) = O(n).

edu.red

Modelo de circuitos n nodos de entrada con grado de entrada cero, los cuales contienen los datos de inicio x1, x2, …, xn Nodos de operación con grado de entrada dos, etiquetados con alguno de los operadores aritméticos o booleanos. m nodos de salida con grado de salida cero.

edu.red

Modelo de circuitos

edu.red

Modelo de circuitos La profundidad d(n) de un circuito es la longitud del camino mas largo, en función del número de operaciones, de cualquier entrada a una salida de C(n). El ancho w(n) es el máximo número de operaciones realizadas en paralelo en cualquier paso:

edu.red

Modelo de circuitos El tamaño de un circuito s(n) es el número total de operaciones en los nodos:

H(n) ? w(n)= 2 T?(n)? d(n) = 2

edu.red

Modelo de redes El algoritmo del problema queda definido mediante Galg = {Nt, Ti, Cij, Zij}. Nt son las tareas concurrentes y se representan por círculos Ti tiempo de ejecución de la tarea i Cij volumen de comunicación de la tarea i a la j Zij es el retraso y representa por una D en el grafo

edu.red

Modelo de redes a(n) = 45b(n-1) + 10c(n) + u(n) b(n) = 10a(n) + c(n) c(n) = a(n-1) + c(n-1) Donde: u(n) es una entrada los datos son de 4 bytes

edu.red

Modelo de redes

edu.red

Modelo de redes

(H(n)) = 3 procesadoress unidades (T?(n)) = 6 unidades (un período)

edu.red

Complejidad de los algoritmos paralelos Secuencial Tamaño de la entrada (n) La complejidad temporal del algoritmo O La calidad del código generado La velocidad de la máquina Clasificación Polinomiales (P) NP

edu.red

Complejidad de los algoritmos paralelos En los algoritmos paralelos, clase NC: Tiempo de ejecución polinomial en función del logaritmo del tamaño de la entrada (log n)k Número de procesadores polinomial (nk). A estos algoritmos se les llama algoritmos eficientemente paralelizables Los problemas NC están dentro de P

edu.red

Complejidad de los algoritmos paralelos

edu.red

Métricas para determinar su desempeño Ejecuciones paralelas (tiempo requerido) Trabajo Aceleración, asintótica: S(?) y S(p) Eficiencia E(p) Redundancia R(p) Utilización del sistema U(p) Calidad Q(p)

edu.red

Métricas para determinar su desempeño Tiempo de ejecución (Secuencial) Se mide en segundos o en el número de operaciones requeridos por el proceso de cálculo An para una entrada de datos n.

Donde: m: grado de paralelismo (número de tareas que se ejecutan en un instante dado) ti: tiempo total en que hay exactamente i procesadores trabajando en paralelo

edu.red

Métricas para determinar su desempeño Tiempo de ejecución en paralelo obtenido de los modelos descritos. No se tiene un límite en el número de procesadores; a éste se le denomina “tiempo asintótico” y se determina por:

edu.red

Métricas para determinar su desempeño Trabajo Se define como el número de operaciones que se ejecutan durante el proceso de cálculo y se determina por:

edu.red

Métricas para determinar su desempeño

edu.red

Métricas para determinar su desempeño Paradigma de trabajo-tiempo de Brent Cuando se tiene disponible un número de procesadores igual al requerido por los modelos descritos, Tp(An) = T?(An). Pero cuando el número de procesadores es menor, el trabajo que se realiza se debe repartir entre los procesadores disponibles. El tiempo de ejecución se incrementa entonces, y está acotado por la relación siguiente:

edu.red

Métricas para determinar su desempeño Aceleraciones S(?) y S(p) La aceleración asintótica S(?), es la relación entre el tiempo necesario para resolver un problema dado usando el mejor algoritmo secuencial conocido T1(An) y el tiempo necesario para resolver el mismo problema por un algoritmo paralelo usando el número de procesadores determinadas por el modelo ideal T?(An).

edu.red

Métricas para determinar su desempeño La aceleración S(p), es la relación entre el tiempo secuencial T1(An) y el tiempo necesario para resolver el mismo problema por un algoritmo paralelo usando p procesadores Tp(An):

edu.red

Métricas para determinar su desempeño Las operaciones que se deben de ejecutar secuencialmente limitan la aceleración de un algoritmo paralelo Sea (?) la fracción secuencial, entre 0???1 (1- ?) la fracción paralela Se le conoce como la ley de Amdhal:

edu.red

Métricas para determinar su desempeño Eficiencia E(p) La eficiencia se define como la relación entre la aceleración S(p) y el número de procesadores p. Este factor indica qué tan bien son utilizados los procesadores.

edu.red

Métricas para determinar su desempeño Redundancia R(p) La redundancia se define como la relación entre el número total de operaciones realizadas usando p procesadores O(p), y el número de operaciones realizadas usando un procesador O(1).

edu.red

Métricas para determinar su desempeño Utilización del sistema U(p) Esta es una medida de desempeño directamente proporcional a la eficiencia y a la redundancia. Indica el porcentaje de los recursos que estuvieron ocupados durante la ejecución del programa paralelo.

edu.red

Métricas para determinar su desempeño Calidad Q(p) Medida de desempeño directamente proporcional a la eficiencia y a la aceleración e inversamente proporcional a la redundancia. Evalúa el mérito de una aplicación paralela en un sistema de computadoras

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