SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
DISEÑO DE ALGORITMOS
PARALELOS
Cris Vivenes 19-0722
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.
Cuatro Etapas Del Diseño de Algoritmos Paralelos
El diseño involucra cuatro etapas las cuales se presentan como secuenciales pero que
en la práctica no lo son.
● 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.
Gráfico
Alto Rendimiento
● 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 aplicaciones paralelas.
Artículo Algoritmo Paralelos
● Las menciones de honor para el premio de disertación doctoral ACM 2019 son para
Jakub Tarnawski, École polytechnique fédérale de Lausanne (EPFL) y JiaJun Wu, Instituto
de Tecnología de Massachusetts (MIT).
● La disertación de Jakub Tarnawski "Nuevos algoritmos gráficos a través de técnicas
poliédricas" hizo un progreso algorítmico innovador en dos de los problemas más
centrales en la optimización combinatoria: el problema de coincidencia y el problema del
viajante de comercio. El trabajo en algoritmos paralelos deterministas para el problema
de emparejamiento está motivado por uno de los misterios sin resolver de la informática:
¿ayuda la aleatoriedad a acelerar los algoritmos? La disertación de Tarnawski hace un
progreso significativo en esta pregunta al desautorizar casi por completo un algoritmo de
emparejamiento paralelo aleatorio de tres décadas de Ketan Mulmuley, Umesh Vaziriani y
Vijay Vazirani.
● El segundo resultado principal de la disertación de Tarnawski se relaciona con el problema
del viajante de comercio: encontrar el recorrido más corto de n ciudades dadas. Ya en 1956,
George Dantzig et al. usó un programa lineal para resolver una instancia especial del
problema. Desde entonces, la fuerza de su programa lineal se ha convertido en uno de los
principales problemas abiertos en la optimización combinatoria. La disertación de Tarnawski
resuelve esta pregunta asintóticamente y proporciona el primer algoritmo de aproximación
de factor constante para el problema asimétrico del viajante de comercio.
Práctica Principios Algoritmos Paralelos
En la práctica, existen varios principios en el diseño de algoritmos paralelos:
● El Principio de Programación del Brent: Este principio permite reducir el número de procesadores
utilizados en los algoritmos paralelos existentes, sin aumentar la tiempo total de ejecución.
● El principio de canalización: la canalización se puede utilizar en situaciones en las que desea
realizar varias operaciones en una secuencia {P1, ..., Pn}
● El principio divide y vencerás: este es el principio de dividir un problema en varios componentes
independientes pequeños y resolverlos en paralelo.
● El principio del gráfico de dependencia: creamos un gráfico dirigido en el que los nodos
representan bloques de operaciones independientes y los bordes representan situaciones en las
que un bloque de operación depende del resultado de realizar otros bloques.
● Principio de condición de carrera: si dos procesos intentan acceder al mismo datos, pueden
interferir entre sí.
Referencias
● https://link.springer.com/chapter/10.1007/978-1-4612-1220-%201_5#:~:text
=Algorithms%20in%20which%20several%20operations,to%20solve%20a%20g
iven%%2020problem
● https://awards.acm.org/about/2019-doctoral-dissertation
● http://webdelprofesor.ula.ve/ingenieria/gilberto/paralela/08_DisenoDeAlgorit
mosParalelos.pdf
● https://programmerclick.com/article/3569840796/

Más contenido relacionado

La actualidad más candente

Las 4 P en el desarrollo de software
Las 4 P en el desarrollo de softwareLas 4 P en el desarrollo de software
Las 4 P en el desarrollo de software
Sofylutqm
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
Fernando Camacho
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpu
Isaí Beto Matz Mijes
 

La actualidad más candente (20)

Normas y estándares para un sistema de cableado estructurado (SCE)
  Normas y estándares para un sistema de cableado estructurado (SCE)   Normas y estándares para un sistema de cableado estructurado (SCE)
Normas y estándares para un sistema de cableado estructurado (SCE)
 
Algoritmo divide y vencerás
Algoritmo divide y vencerásAlgoritmo divide y vencerás
Algoritmo divide y vencerás
 
Capas de la ingenieria de software
Capas de la ingenieria de softwareCapas de la ingenieria de software
Capas de la ingenieria de software
 
Estructura jerarquica de un sistema operativo
Estructura jerarquica de un sistema operativoEstructura jerarquica de un sistema operativo
Estructura jerarquica de un sistema operativo
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
 
CUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IP
CUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IPCUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IP
CUADRO COMPARATIVO ENTRE MODELO OSI Y TCP/IP
 
Tabla de símbolos
Tabla de símbolosTabla de símbolos
Tabla de símbolos
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajas
 
Algoritmos Paralelos
Algoritmos ParalelosAlgoritmos Paralelos
Algoritmos Paralelos
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
NAT|PAT
NAT|PATNAT|PAT
NAT|PAT
 
Buses
BusesBuses
Buses
 
Las 4 P en el desarrollo de software
Las 4 P en el desarrollo de softwareLas 4 P en el desarrollo de software
Las 4 P en el desarrollo de software
 
Unidad III procedimientos
Unidad III procedimientosUnidad III procedimientos
Unidad III procedimientos
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumann
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
Historia del modelo osi
Historia del modelo osiHistoria del modelo osi
Historia del modelo osi
 
Backtracking
BacktrackingBacktracking
Backtracking
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpu
 

Similar a DISEÑO DE ALGORITMOS PARALELOS

Similar a DISEÑO DE ALGORITMOS PARALELOS (20)

Diseño de Algoritmos Paralelos.pptx
Diseño de Algoritmos Paralelos.pptxDiseño de Algoritmos Paralelos.pptx
Diseño de Algoritmos Paralelos.pptx
 
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
 
Diseño de Algoritmos Paralelos. Mejorando la eficiencia computacional aprovec...
Diseño de Algoritmos Paralelos. Mejorando la eficiencia computacional aprovec...Diseño de Algoritmos Paralelos. Mejorando la eficiencia computacional aprovec...
Diseño de Algoritmos Paralelos. Mejorando la eficiencia computacional aprovec...
 
Diseño de algoritmos paralelos
Diseño de algoritmos paralelosDiseño de algoritmos paralelos
Diseño de algoritmos paralelos
 
Grupo #2 - Asignación sobre Algoritmos Paralelos
Grupo #2 - Asignación sobre Algoritmos ParalelosGrupo #2 - Asignación sobre Algoritmos Paralelos
Grupo #2 - Asignación sobre Algoritmos Paralelos
 
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
 
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
 
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
 
Algoritmos paralelos
 Algoritmos paralelos Algoritmos paralelos
Algoritmos paralelos
 
Algoritmos Paralelos
Algoritmos ParalelosAlgoritmos Paralelos
Algoritmos Paralelos
 
Manual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosManual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datos
 
Diseño de Algoritmos Paralelos.pptx
Diseño de Algoritmos Paralelos.pptxDiseño de Algoritmos Paralelos.pptx
Diseño de Algoritmos Paralelos.pptx
 
Presentacion Algoritmos Paralelos (2).pptx
Presentacion Algoritmos Paralelos (2).pptxPresentacion Algoritmos Paralelos (2).pptx
Presentacion Algoritmos Paralelos (2).pptx
 
Act 14_Analis de algoritmos.pdf
Act 14_Analis de algoritmos.pdfAct 14_Analis de algoritmos.pdf
Act 14_Analis de algoritmos.pdf
 
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
 
Los Algoritmos Paralelos.pptx
Los Algoritmos Paralelos.pptxLos Algoritmos Paralelos.pptx
Los Algoritmos Paralelos.pptx
 
Diseño de algoritmos paralelos.pptx
Diseño de algoritmos paralelos.pptxDiseño de algoritmos paralelos.pptx
Diseño de algoritmos paralelos.pptx
 
Mecatrónica clase01.pdf
Mecatrónica clase01.pdfMecatrónica clase01.pdf
Mecatrónica clase01.pdf
 
arquitectura del computador 1
arquitectura del computador 1arquitectura del computador 1
arquitectura del computador 1
 
arquitectura del computador
arquitectura del computador arquitectura del computador
arquitectura del computador
 

Ú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 (12)

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
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
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
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
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...
 
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
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
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
 
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.
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 

DISEÑO DE ALGORITMOS PARALELOS

  • 2. 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. Cuatro Etapas Del Diseño de Algoritmos Paralelos El diseño involucra cuatro etapas las cuales se presentan como secuenciales pero que en la práctica no lo son. ● 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.
  • 6. Alto Rendimiento ● 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 aplicaciones paralelas.
  • 7. Artículo Algoritmo Paralelos ● Las menciones de honor para el premio de disertación doctoral ACM 2019 son para Jakub Tarnawski, École polytechnique fédérale de Lausanne (EPFL) y JiaJun Wu, Instituto de Tecnología de Massachusetts (MIT). ● La disertación de Jakub Tarnawski "Nuevos algoritmos gráficos a través de técnicas poliédricas" hizo un progreso algorítmico innovador en dos de los problemas más centrales en la optimización combinatoria: el problema de coincidencia y el problema del viajante de comercio. El trabajo en algoritmos paralelos deterministas para el problema de emparejamiento está motivado por uno de los misterios sin resolver de la informática: ¿ayuda la aleatoriedad a acelerar los algoritmos? La disertación de Tarnawski hace un progreso significativo en esta pregunta al desautorizar casi por completo un algoritmo de emparejamiento paralelo aleatorio de tres décadas de Ketan Mulmuley, Umesh Vaziriani y Vijay Vazirani.
  • 8. ● El segundo resultado principal de la disertación de Tarnawski se relaciona con el problema del viajante de comercio: encontrar el recorrido más corto de n ciudades dadas. Ya en 1956, George Dantzig et al. usó un programa lineal para resolver una instancia especial del problema. Desde entonces, la fuerza de su programa lineal se ha convertido en uno de los principales problemas abiertos en la optimización combinatoria. La disertación de Tarnawski resuelve esta pregunta asintóticamente y proporciona el primer algoritmo de aproximación de factor constante para el problema asimétrico del viajante de comercio.
  • 9. Práctica Principios Algoritmos Paralelos En la práctica, existen varios principios en el diseño de algoritmos paralelos: ● El Principio de Programación del Brent: Este principio permite reducir el número de procesadores utilizados en los algoritmos paralelos existentes, sin aumentar la tiempo total de ejecución. ● El principio de canalización: la canalización se puede utilizar en situaciones en las que desea realizar varias operaciones en una secuencia {P1, ..., Pn} ● El principio divide y vencerás: este es el principio de dividir un problema en varios componentes independientes pequeños y resolverlos en paralelo. ● El principio del gráfico de dependencia: creamos un gráfico dirigido en el que los nodos representan bloques de operaciones independientes y los bordes representan situaciones en las que un bloque de operación depende del resultado de realizar otros bloques. ● Principio de condición de carrera: si dos procesos intentan acceder al mismo datos, pueden interferir entre sí.