SlideShare una empresa de Scribd logo
1 de 9
A C T I V I D A D
1 4 : D I S E Ñ O
D E
A L G O R I T M O S
P A R A L E L O S
P O R : J H O A N J . D E
L O S S A N TO S P 2 2 -
1 0 0 5
Diseño de
algoritmos paralelos
• Diseñar algoritmos
paralelos no es tarea fácil y
es un proceso altamente
creativo.
• Inicialmente se deben
explorar los aspectos
independientes de la
máquina.
• Los aspectos específicos a
la máquina deben ser
dejados para más tarde.
Qué son Algoritmos
Paralelos?
• Es un Algoritmo que podría
ser ejecutado por piezas en el
mismo momento de tiempo
por numerosas unidades de
procesamiento, para al final
juntar cada una de las piezas
y obtener el resultado
adecuado.
Etapas Del Diseño
de Algoritmos
Paralelos El diseño
• Particionamiento: Los datos que se
desean operar se descomponen en
tareas.
• Comunicación: A través de estructuras y
algoritmos de comunicación se determina
de el tipo de comunicación requerida para
coordinar tarea.
• Agrupamiento: Se evalúa la eficiencia de
los dos pasos anteriores y de ser
necesario se agrupan algunas tareas
pequeñas en tareas más grandes.
• Asignación: Cada tarea es asignada a un
procesador tratando de aprovechar los
recursos y reducir el costo de la
comunicación.
Alto Rendimiento de los algoritmos
Los Algoritmos paralelos son claves en la computación de alto
rendimiento debido a que implica usar la potencia de cálculo
para resolver problemas complejos en ciencia, ingeniería y
gestión.
William D. Gropp un profesor de ciencias de la computación en
la universidad de Illinois en Urbana-Champaign aprovechó esto
desarrollando y analizando algoritmos paralelos escalables clave
para métodos de descomposición de dominios y refinamiento de
mallas adaptativas, que ahora se utilizan ampliamente en
Modelos de programación paralela
Existen varios modelos de programación paralela que se utilizan para
diseñar algoritmos paralelos y aprovechar los recursos de hardware
disponibles. A continuación, se describen algunos de ellos junto con
ejemplos:
• Modelo de memoria compartida: En este modelo, los procesos
pueden acceder a un espacio de memoria compartido. Ejemplos de
este modelo son OpenMP y Pthreads. Por ejemplo, en OpenMP se
pueden utilizar directivas de compilación para especificar secciones
de código que deben ser ejecutadas en paralelo.
• Modelo de paso de mensajes: En este modelo, los procesos se
comunican entre sí mediante el intercambio de mensajes. Ejemplos
de este modelo son MPI (Message Passing Interface) y UPC
(Unified Parallel C). Por ejemplo, en MPI se puede utilizar la función
MPI_Send para enviar mensajes de un proceso a otro.
• Modelo de flujo de datos: En este modelo,
los procesos se comunican mediante el
intercambio de datos. Ejemplos de este
modelo son Dataflow y Stream. Por
ejemplo, en Dataflow se puede especificar
un grafo de datos que define cómo los
datos fluyen entre los procesos.
• Modelo de procesamiento en lotes: En
este modelo, los procesos se agrupan en
lotes y se procesan en paralelo. Ejemplos
de este modelo son MapReduce y Spark.
Por ejemplo, en MapReduce se pueden
procesar grandes conjuntos de datos
distribuidos en clústeres de servidores.
• Modelo de procesamiento de eventos: En este
modelo, los procesos se ejecutan en respuesta
a eventos, como entradas de usuario o
interrupciones de hardware. Ejemplos de este
modelo son ReactiveX y Node.js. Por ejemplo,
en ReactiveX se pueden escribir programas
reactivos que respondan a flujos de datos
asincrónicos.
• Modelo de programación de GPU: En este
modelo, los procesos se ejecutan en unidades
de procesamiento gráfico (GPU) en lugar de en
la CPU. Ejemplos de este modelo son CUDA y
OpenCL. Por ejemplo, en CUDA se pueden
diseñar algoritmos que aprovechen las
capacidades de procesamiento masivo de la
GPU.
Referencias
• https://core.ac.uk/download/pdf/13319
155.pdf
• http://dis.um.es/~domingo/apuntes/Alg
ProPar/1819/analisis.pdf Diseño de
Algoritmos para Plataformas
Paralelas.
• http://sedici.unlp.edu.ar/bitstream/han
dle/10915/27273/Documento_complet
o .pdf?sequence=1 Principios de
diseño de algoritmos
paralelos. https://gc.scalahed.com/rec
ursos/files/r161r/w25474w/DisenoDeAl
goritmosP aralelos.pdf

Más contenido relacionado

Similar a Actividad 14. Diseño de Algoritmos Paralelos - Jhoan De Los Santos (22-1005).pptx

Diseño de algoritmos paralelos
Diseño de algoritmos paralelosDiseño de algoritmos paralelos
Diseño de algoritmos paralelos
jm113
 
Gaby (algoritmo y diagrama de flujo) iupsm.
Gaby (algoritmo y diagrama de flujo) iupsm.Gaby (algoritmo y diagrama de flujo) iupsm.
Gaby (algoritmo y diagrama de flujo) iupsm.
gabyfr19
 

Similar a Actividad 14. Diseño de Algoritmos Paralelos - Jhoan De Los Santos (22-1005).pptx (20)

Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
 
Actividad#13_Diseño de Algoritmos Paralelos.pptx
Actividad#13_Diseño de Algoritmos Paralelos.pptxActividad#13_Diseño de Algoritmos Paralelos.pptx
Actividad#13_Diseño de Algoritmos Paralelos.pptx
 
Actividad 14 Diseño de Algoritmos Paralelos.pptx
Actividad 14 Diseño de Algoritmos Paralelos.pptxActividad 14 Diseño de Algoritmos Paralelos.pptx
Actividad 14 Diseño de Algoritmos Paralelos.pptx
 
Diseño de algoritmos paralelos
Diseño de algoritmos paralelosDiseño de algoritmos paralelos
Diseño de algoritmos paralelos
 
Algoritmos Paralelos
Algoritmos ParalelosAlgoritmos Paralelos
Algoritmos Paralelos
 
Algoritmos Paralelos
Algoritmos ParalelosAlgoritmos Paralelos
Algoritmos Paralelos
 
DISEÑO DE ALGORITMOS PARALELOS
DISEÑO DE ALGORITMOS PARALELOSDISEÑO DE ALGORITMOS PARALELOS
DISEÑO DE ALGORITMOS PARALELOS
 
Gaby (algoritmo y diagrama de flujo) iupsm.
Gaby (algoritmo y diagrama de flujo) iupsm.Gaby (algoritmo y diagrama de flujo) iupsm.
Gaby (algoritmo y diagrama de flujo) iupsm.
 
computación paralela
computación paralelacomputación paralela
computación paralela
 
Act 14_Analis de algoritmos.pdf
Act 14_Analis de algoritmos.pdfAct 14_Analis de algoritmos.pdf
Act 14_Analis de algoritmos.pdf
 
Manual estructura de_datos_2010___h._caselli_g
Manual estructura de_datos_2010___h._caselli_gManual estructura de_datos_2010___h._caselli_g
Manual estructura de_datos_2010___h._caselli_g
 
Presentación1.pptx
Presentación1.pptxPresentación1.pptx
Presentación1.pptx
 
Diseño de Algoritmos Paralelos.pptx
Diseño de Algoritmos Paralelos.pptxDiseño de Algoritmos Paralelos.pptx
Diseño de Algoritmos Paralelos.pptx
 
Incremento en el desempeño de la multiplicación Matriz-Vector
Incremento en el desempeño de la multiplicación Matriz-VectorIncremento en el desempeño de la multiplicación Matriz-Vector
Incremento en el desempeño de la multiplicación Matriz-Vector
 
Diseño de Algoritmos Paralelos con la maestra Rina
Diseño de Algoritmos Paralelos con la maestra RinaDiseño de Algoritmos Paralelos con la maestra Rina
Diseño de Algoritmos Paralelos con la maestra Rina
 
Diseño de Algoritmos Paralelos Roderick Beriguete .pptx
Diseño de Algoritmos Paralelos Roderick Beriguete .pptxDiseño de Algoritmos Paralelos Roderick Beriguete .pptx
Diseño de Algoritmos Paralelos Roderick Beriguete .pptx
 
Algoritmos Paralelos.pptx
Algoritmos Paralelos.pptxAlgoritmos Paralelos.pptx
Algoritmos Paralelos.pptx
 
Análisis y diseños de algoritmos Hiram Arnaud 19-0628.pptx
Análisis y diseños de algoritmos Hiram Arnaud 19-0628.pptxAnálisis y diseños de algoritmos Hiram Arnaud 19-0628.pptx
Análisis y diseños de algoritmos Hiram Arnaud 19-0628.pptx
 
Presentacion Algoritmos Paralelos (2).pptx
Presentacion Algoritmos Paralelos (2).pptxPresentacion Algoritmos Paralelos (2).pptx
Presentacion Algoritmos Paralelos (2).pptx
 
Manual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosManual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datos
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (10)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

Actividad 14. Diseño de Algoritmos Paralelos - Jhoan De Los Santos (22-1005).pptx

  • 1. A C T I V I D A D 1 4 : D I S E Ñ O D E A L G O R I T M O S P A R A L E L O S P O R : J H O A N J . D E L O S S A N TO S P 2 2 - 1 0 0 5
  • 2. Diseño de algoritmos paralelos • Diseñar algoritmos paralelos no es tarea fácil y es un proceso altamente creativo. • Inicialmente se deben explorar los aspectos independientes de la máquina. • Los aspectos específicos a la máquina deben ser dejados para más tarde.
  • 3. Qué son Algoritmos Paralelos? • Es un Algoritmo que podría ser ejecutado por piezas en el mismo momento de tiempo por numerosas unidades de procesamiento, para al final juntar cada una de las piezas y obtener el resultado adecuado.
  • 4. Etapas Del Diseño de Algoritmos Paralelos El diseño • Particionamiento: Los datos que se desean operar se descomponen en tareas. • Comunicación: A través de estructuras y algoritmos de comunicación se determina de el tipo de comunicación requerida para coordinar tarea. • Agrupamiento: Se evalúa la eficiencia de los dos pasos anteriores y de ser necesario se agrupan algunas tareas pequeñas en tareas más grandes. • Asignación: Cada tarea es asignada a un procesador tratando de aprovechar los recursos y reducir el costo de la comunicación.
  • 5. Alto Rendimiento de los algoritmos Los Algoritmos paralelos son claves en la computación de alto rendimiento debido a que implica usar la potencia de cálculo para resolver problemas complejos en ciencia, ingeniería y gestión. William D. Gropp un profesor de ciencias de la computación en la universidad de Illinois en Urbana-Champaign aprovechó esto desarrollando y analizando algoritmos paralelos escalables clave para métodos de descomposición de dominios y refinamiento de mallas adaptativas, que ahora se utilizan ampliamente en
  • 6. Modelos de programación paralela Existen varios modelos de programación paralela que se utilizan para diseñar algoritmos paralelos y aprovechar los recursos de hardware disponibles. A continuación, se describen algunos de ellos junto con ejemplos: • Modelo de memoria compartida: En este modelo, los procesos pueden acceder a un espacio de memoria compartido. Ejemplos de este modelo son OpenMP y Pthreads. Por ejemplo, en OpenMP se pueden utilizar directivas de compilación para especificar secciones de código que deben ser ejecutadas en paralelo. • Modelo de paso de mensajes: En este modelo, los procesos se comunican entre sí mediante el intercambio de mensajes. Ejemplos de este modelo son MPI (Message Passing Interface) y UPC (Unified Parallel C). Por ejemplo, en MPI se puede utilizar la función MPI_Send para enviar mensajes de un proceso a otro.
  • 7. • Modelo de flujo de datos: En este modelo, los procesos se comunican mediante el intercambio de datos. Ejemplos de este modelo son Dataflow y Stream. Por ejemplo, en Dataflow se puede especificar un grafo de datos que define cómo los datos fluyen entre los procesos. • Modelo de procesamiento en lotes: En este modelo, los procesos se agrupan en lotes y se procesan en paralelo. Ejemplos de este modelo son MapReduce y Spark. Por ejemplo, en MapReduce se pueden procesar grandes conjuntos de datos distribuidos en clústeres de servidores.
  • 8. • Modelo de procesamiento de eventos: En este modelo, los procesos se ejecutan en respuesta a eventos, como entradas de usuario o interrupciones de hardware. Ejemplos de este modelo son ReactiveX y Node.js. Por ejemplo, en ReactiveX se pueden escribir programas reactivos que respondan a flujos de datos asincrónicos. • Modelo de programación de GPU: En este modelo, los procesos se ejecutan en unidades de procesamiento gráfico (GPU) en lugar de en la CPU. Ejemplos de este modelo son CUDA y OpenCL. Por ejemplo, en CUDA se pueden diseñar algoritmos que aprovechen las capacidades de procesamiento masivo de la GPU.
  • 9. Referencias • https://core.ac.uk/download/pdf/13319 155.pdf • http://dis.um.es/~domingo/apuntes/Alg ProPar/1819/analisis.pdf Diseño de Algoritmos para Plataformas Paralelas. • http://sedici.unlp.edu.ar/bitstream/han dle/10915/27273/Documento_complet o .pdf?sequence=1 Principios de diseño de algoritmos paralelos. https://gc.scalahed.com/rec ursos/files/r161r/w25474w/DisenoDeAl goritmosP aralelos.pdf