1 / 36

Algorítmica paralela

Algorítmica paralela. Modelos ideales de una implantación paralela PRAM De circuitos Redes Compleijidad de los algoritmos paralelos Métricas para determinar su desempeño. Modelos ideales de una implantación paralela. Se consideran a las computadoras sin restricción

ramya
Download Presentation

Algorítmica paralela

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algorítmica paralela • Modelos ideales de una implantación paralela • PRAM • De circuitos • Redes • Compleijidad de los algoritmos paralelos • Métricas para determinar su desempeño

  2. Modelos ideales de una implantación paralela • Se consideran a las computadoras sin restricción • En el número de procesadores • En el acceso físico a la memoria para leer o escribir datos

  3. Modelos ideales de una implantación paralela • Con los modelos se obtiene: • Las partes o segmentos que se pueden ejecutar en paralelo • La dependencia de los datos en el proceso de cálculo • El tiempo ideal de la ejecución paralela • El número de procesadores requeridos para alcanzar ese tiempo de ejecución ideal.

  4. Modelo PRAM(Parallel Random Access Machine) • Es una máquina ideal de p procesadores con una memoria global. • Cada procesador puede realizar en un ciclo: • una lectura • una escritura • una operación de cómputo.

  5. Modelo PRAM(Parallel Random Access Machine) • En el modelo de memoria global compartida se debe de especificar cómo se hacen las lecturas y escrituras concurrentes en la misma localidad. • Lectura exclusiva (ER) • Escritura exclusiva (EW) • Lectura concurrente (CR) • Escritura concurrente (CW)

  6. Modelo PRAM(Parallel Random Access Machine) • Los modelos PRAM se clasifican de acuerdo a las formas de actualización de la memoria, en: • EREW (Exclusive Read, Exclusive Write) • ERCW (Exclusive Read, Concurrent Write) • CREW (Concurrent Read, Exclusive Write) • CRCW (Concurrent Read, Concurrent Write)

  7. Modelo PRAM(Parallel Random Access Machine) • Modelo PRAM CRCW • Común: Todas las escrituras simultáneas almacenan el mismo valor en la localidad de memoria seleccionada. • Arbitraria: Cualquiera de los valores escritos permanece, aquí no se puede saber que procesador escribió de los que intentaron. • Prioritaria: El procesador de mayor prioridad será el que logrará escribir en la memoria.

  8. Modelo PRAM(Parallel Random Access Machine) • Encontrar el número mayor del arreglo A={5, 6, 9, 2, 9, 7, 8, 3} con PRAM-CRCW • Seudocódigo Pasos de ejecución • n = longitud de (A) (1) • en paralelo i = 0 ... n-1 hacer • m[i] = V (1) • en paralelo i, j = 0 ... n-1 hacer • sí A[i] < A[j] entonces m[i] = F (2) • en paralelo i = 0 ... n – 1 hacer • sí m[i] = V entonces (1) • max = A[i] (1)

  9. Modelo PRAM(Parallel Random Access Machine) • Comparación en cada procesador del algoritmo PRAM-CRCW • i\j 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

  10. 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.

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

  12. 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).

  13. 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.

  14. Modelo de circuitos

  15. 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:

  16. 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

  17. 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

  18. 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

  19. Modelo de redes

  20. Modelo de redes • (H(n)) = 3 procesadoress unidades • (T(n)) = 6 unidades (un período)

  21. 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

  22. 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

  23. Complejidad de los algoritmos paralelos

  24. 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)

  25. 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

  26. 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:

  27. 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:

  28. Métricas para determinar su desempeño

  29. 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:

  30. 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).

  31. 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):

  32. 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:

  33. 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.

  34. 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).

  35. 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.

  36. 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

More Related