Anúncio

ANÁLISIS Y DISEÑO DE ALGORITMOS_, Actividad 14.pdf

27 de Mar de 2023
Anúncio

Mais conteúdo relacionado

Anúncio

ANÁLISIS Y DISEÑO DE ALGORITMOS_, Actividad 14.pdf

  1. ANÁLISIS Y DISEÑO DE ALGORITMOS Prof. Rina Maria Familia Saul De La Cruz García (22-1000)
  2. Diseño de Algoritmos Paralelos En las ciencias de la computación, un algoritmo paralelo, en oposición a los algoritmos clásicos o algoritmos secuenciales, es un algoritmo que puede ser ejecutado por partes en el mismo instante de tiempo por varias unidades de procesamiento, para finalmente unir todas las partes y obtener el resultado correcto.
  3. Diseño de Algoritmos Paralelos Hoy en día muchos problemas necesitan procesar grandes cantidades de datos y hacer eficientes el tiempo de respuesta de cada una de estas aplicaciones. Para esto se cuenta con la eficiencia de un computador, el cual depende directamente del tiempo requerido para ejecutar una instrucción básica y del número de instrucciones que pueden ser ejecutadas al mismo tiempo (Ananth et al., 2003). La programación paralela es un área de la computación que permite aprovechar los recursos de hardware para mejorar el tiempo de ejecución de los algoritmos.
  4. EL DISEÑO El diseño involucra cuatro etapas las cuales se presentan como secuenciales pero que en la práctica no lo son. ❑Particionamiento ❑Comunicación ❑Agrupamiento ❑Asignación
  5. Particionamiento: El cómputo y los datos sobre los cuales se opera se descomponen en tareas. Se ignoran aspectos como el número de procesadores de la máquina a usar y se concentra la atención en explotar oportunidades de paralelismo. -Proceso de dividir el cálculo y los datos en la mayor cantidad de porciones. -Se trata de identificar las posibilidades de cálculo paralelo. -Puede tomar la forma de particionamiento de datos o de un particionamiento funcional. Ambos son complementarios. PARTICIONAMIENTO
  6. COMUNICACIÓN Se determina la comunicación requerida para coordinar las tareas. Se definen estructuras y algoritmos de comunicación. Comunicación local: entre dos procesadores pasando datos de uno a otro. Comunicación global: cuando muchos procesadores tienen que comunicar a uno o viceversa. (ej: suma de datos) La comunicación hace perder eficiencia paralela, hay que tratar de disminuir el tiempo de comunicaciones.
  7. En la programación paralela existen dos tipos de paralelismo (Foster, 2003): paralelismo de control (descomposición funcional) o paralelismo de datos (descomposición de dominio). La descomposición de dominio o paralelismo de datos, como también se le conoce, consiste en una secuencia de instrucciones aplicadas a distintos datos. Los datos son divididos en partes y las partes son asignadas a diferentes procesadores. Programación paralela
  8. AGRUPAMIENTO El resultado de las dos etapas anteriores es evaluado en términos de eficiencia y costos de implementación. De ser necesario, se agrupan tareas pequeñas en tareas más grandes.
  9. ASIGNACIÓN Cada tarea es asignada a un procesador tratando de maximizar la utilización de los procesadores y de reducir el costo de comunicación. La asignación puede ser estática (se establece antes de la ejecución del programa) o en tiempo de ejecución mediante algoritmos de balanceo de carga.
  10. La asignación de tareas puede ser realizada de las siguientes maneras: • Estática: una tarea es asignada a un procesador desde su inicio hasta su fin. • Dinámica: una tarea puede ser migrada durante su ejecución. Esto puede agregar un costo adicional.
  11. Referencias + https://gc.scalahed.com/recursos/files/r161r/w25474w/ DisenoDeAlgoritmosParalelos.pdf + https://www.slideshare.net/JesuelFerreirasAcost/diseo- de-algoritmos-paralelos-210336 + http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2 227-18992017000200009 + https://cimec.org.ar/cursos/moodledata/17/Transp_DBP P-1x2.pdf
Anúncio