SlideShare una empresa de Scribd logo
1 de 24
Algoritmos
Paralelos
Universidad Iberoamericana | UNIBE
Diseño y Análisis de Algoritmos | TI3-212
Kelvin Sánchez Rosario | 22-0908
¡Hola!
En la actualidad, los algoritmos paralelos se están
convirtiendo en una herramienta esencial para acelerar el
procesamiento de datos. Los algoritmos paralelos son
capaces de dividir un problema en partes más pequeñas y
resolverlas simultáneamente, aprovechando la potencia de
múltiples procesadores
2
1.
Conceptos básicos
3
“
Los algoritmos paralelos dividen el
problema en partes más pequeñas
que se resuelven de forma
simultánea en distintos
procesadores.
4
¿Qué son los Algoritmos
Paralelos?
Un algoritmo paralelo es un conjunto de
instrucciones que se ejecutan
simultáneamente en varios procesadores
para resolver un problema en menos
tiempo que si se utilizara un único
procesador. A diferencia de los algoritmos
secuenciales, en los cuales las
instrucciones se ejecutan en orden
secuencial, los algoritmos paralelos
dividen el problema en partes más
pequeñas que se resuelven de forma
simultánea en distintos procesadores.
5
Supongamos que queremos ordenar una
lista de 100 números de forma
ascendente. En un algoritmo secuencial,
primero se compara el primer número
con los 99 restantes, se intercambian los
valores si es necesario, luego se compara
el segundo número con los 98 restantes,
y así sucesivamente, hasta haber
comparado todos los números y
haberlos ordenado.
Por ejemplo
En cambio, en un algoritmo paralelo, se
divide la lista en partes más pequeñas y
se asigna a diferentes procesadores la
tarea de ordenar cada una de esas partes
de forma simultánea. Luego, se
combinan las partes ya ordenadas para
obtener la lista completa ordenada. Este
enfoque paralelo puede acelerar
significativamente el proceso de
ordenamiento en comparación con el
enfoque secuencial.
6
2.
Ventajas de los
Algoritmos Paralelos
7
Mayor velocidad
Los algoritmos paralelos pueden
resolver problemas en menos
tiempo que los algoritmos
secuenciales, ya que pueden
dividir un problema en partes
más pequeñas y resolverlas
simultáneamente en diferentes
procesadores.
Ventajas de los Algoritmos Paralelos
Mayor escalabilidad
Los algoritmos paralelos pueden
ser escalados fácilmente a
medida que se incrementa el
número de procesadores, lo que
les permite manejar grandes
conjuntos de datos y problemas
complejos de manera más
eficiente.
8
Ventajas de los Algoritmos Paralelos
Mayor precisión
En algunos casos, los
algoritmos paralelos
pueden ser más
precisos que los
algoritmos
secuenciales, ya que
pueden realizar
cálculos más
complejos y utilizar
técnicas avanzadas de
análisis de datos
Eficiencia energética
Los algoritmos
paralelos pueden ser
más eficientes
energéticamente que
los algoritmos
secuenciales, ya que
distribuyen la carga de
trabajo entre múltiples
procesadores y
reducen el tiempo de
procesamiento global.
Reducción de costos
Los algoritmos
paralelos pueden
reducir los costos de
procesamiento y
almacenamiento de
datos, ya que pueden
manejar grandes
conjuntos de datos de
manera más eficiente y
en menos tiempo.
9
3.
Tipos de Algoritmos
Paralelos
10
Algoritmos de División y Conquista
En este tipo de algoritmos, el
problema se divide en partes más
pequeñas que se resuelven
simultáneamente en diferentes
procesadores. Luego, los resultados
se combinan para obtener la
solución del problema completo.
Ejemplos de este tipo de algoritmos
son el merge sort y el quicksort.
11
Algoritmos de Granja de Procesadores
En este tipo de algoritmos, el
problema se divide en tareas más
pequeñas que se asignan a
diferentes procesadores de una
granja o conjunto de procesadores.
Cada procesador trabaja en su tarea
y envía los resultados al procesador
principal, que los combina para
obtener la solución final. Este tipo
de algoritmo se utiliza con
frecuencia en aplicaciones de
procesamiento de imágenes y
video.
12
Algoritmos de Pipeline
En este tipo de algoritmos, el
problema se divide en etapas o
fases que se resuelven en diferentes
procesadores. Cada procesador
recibe los datos de entrada de la
etapa anterior, los procesa y los
envía a la siguiente etapa para su
procesamiento. Este tipo de
algoritmo se utiliza con frecuencia
en aplicaciones de procesamiento
de señales y telecomunicaciones.
13
Algoritmos de Mapeo
En este tipo de algoritmos, el
problema se divide en partes que se
asignan a diferentes procesadores
de una red de procesadores
interconectados. Cada procesador
trabaja en su parte del problema y
se comunica con otros
procesadores para compartir
resultados y coordinar el
procesamiento. Este tipo de
algoritmo se utiliza con frecuencia
en aplicaciones de computación
distribuida y paralela.
14
4.
Desafíos de los
Algoritmos Paralelos
15
Comunicación
En los algoritmos paralelos, es
necesario coordinar el trabajo
de múltiples procesadores para
obtener la solución correcta del
problema. Esto requiere una
sincronización precisa y
eficiente entre los procesadores,
lo que puede ser difícil de lograr
en algunos casos.
Desafíos de los Algoritmos Paralelos
Sincronización
Los procesadores deben
comunicarse entre sí para
compartir datos y resultados.
Esto puede ser un cuello de
botella si la comunicación no se
realiza de manera eficiente, ya
que puede limitar el
rendimiento del algoritmo.
16
Desafíos de los Algoritmos Paralelos
Granularidad
La granularidad se refiere al tamaño de
las tareas que se asignan a los
procesadores. Si las tareas son
demasiado pequeñas, puede haber una
sobrecarga de comunicación y
coordinación, lo que puede reducir el
rendimiento. Si las tareas son
demasiado grandes, algunos
procesadores pueden estar ociosos
mientras otros trabajan, lo que también
puede reducir el rendimiento.
Balance de carga
es importante equilibrar la carga de
trabajo entre los procesadores para
evitar que algunos procesadores estén
ociosos mientras otros están
sobrecargados. Esto puede ser difícil
de lograr en algunos casos,
especialmente si el tamaño del
problema no es conocido de
antemano.
17
Costos
Los algoritmos paralelos pueden requerir
hardware especializado, como procesadores
múltiples y redes de interconexión, lo que
puede aumentar los costos. Además, la
programación y el mantenimiento de los
algoritmos paralelos pueden ser más
complejos que los algoritmos secuenciales,
lo que puede aumentar los costos de
desarrollo y mantenimiento.
Desafíos de los Algoritmos Paralelos
18
5.
Ejemplos de
Aplicación
19
Procesamiento de imágenes
Los algoritmos paralelos se utilizan
en aplicaciones de procesamiento
de imágenes, como la detección de
bordes, la segmentación y el
reconocimiento de patrones. La
capacidad de procesar grandes
cantidades de datos de manera
simultánea permite la detección y
análisis de patrones complejos en
imágenes
Ejemplos de aplicación
Simulación
Los algoritmos paralelos se
utilizan en simulaciones de
modelos matemáticos y físicos.
Esto incluye simulaciones de
clima, terremotos, fluidos y
estructuras. Los algoritmos
paralelos permiten la realización
de simulaciones más precisas y
rápidas.
20
Ejemplos de aplicación
Minería de Datos
Se utilizan en la
minería de datos para
identificar patrones y
relaciones en grandes
conjuntos de datos.
Esto se aplica a una
variedad de campos,
como la investigación
de mercados, la
biología, la medicina y
la seguridad.
Big Data
Los algoritmos
paralelos se utilizan en
el procesamiento de
grandes conjuntos de
datos de redes sociales
para identificar
patrones de
comportamiento y
tendencias.
Redes Neuronales
Son esenciales para la
implementación de
redes neuronales. Los
algoritmos paralelos
permiten el
procesamiento
simultáneo de
múltiples entradas y el
ajuste simultáneo de
múltiples parámetros.
21
6.
Conclusiones
22
Conclusiones
Ventajas
Los algoritmos paralelos pueden
ser una solución eficaz para
manejar grandes conjuntos de
datos y problemas complejos de
manera más rápida, precisa,
escalable y eficiente.
Tipos
Pueden ser clasificados en varios
tipos según la forma en que se
dividen y resuelven los problemas.
Cada tipo de algoritmo tiene sus
propias ventajas y desventajas y es
adecuado para diferentes tipos de
aplicaciones y problemas.
Desafíos
Presentan varios desafíos que
deben ser abordados para obtener
un rendimiento óptimo. Estos
desafíos incluyen la
sincronización, la comunicación, la
granularidad, el balance de carga y
los costos. Al abordar estos
desafíos de manera efectiva, se
puede lograr un rendimiento
óptimo de los algoritmos
paralelos.
Ejemplos de aplicación
Tienen muchas aplicaciones en diferentes campos, incluyendo el
procesamiento de imágenes, la simulación, el análisis de Big Data, la
minería de datos y las redes neuronales. En cada uno de estos campos, los
algoritmos paralelos permiten el procesamiento simultáneo de múltiples
entradas y la aceleración de los cálculos, lo que resulta en una mayor
eficiencia y precisión en el procesamiento de datos.
23
¡Gracias!
¿Alguna pregunta?
Puedes encontrarme en:
ksanchez8@est.unibe.edu.do
24

Más contenido relacionado

Similar a Diseño de Algoritmos Paralelos

Machine Learning Algorithm for Business Strategy.pdf
Machine Learning Algorithm for Business Strategy.pdfMachine Learning Algorithm for Business Strategy.pdf
Machine Learning Algorithm for Business Strategy.pdfPhD Assistance
 
Taking r to its limits. 70+ tips
Taking r to its limits. 70+ tipsTaking r to its limits. 70+ tips
Taking r to its limits. 70+ tipsIlya Shutov
 
Trivento summercamp masterclass 9/9/2016
Trivento summercamp masterclass 9/9/2016Trivento summercamp masterclass 9/9/2016
Trivento summercamp masterclass 9/9/2016Stavros Kontopoulos
 
Solution Patterns for Parallel Programming
Solution Patterns for Parallel ProgrammingSolution Patterns for Parallel Programming
Solution Patterns for Parallel ProgrammingDilum Bandara
 
paradigms cloud.pptx
paradigms cloud.pptxparadigms cloud.pptx
paradigms cloud.pptxgunvinit931
 
Complier design
Complier design Complier design
Complier design shreeuva
 
Operation's research models
Operation's research modelsOperation's research models
Operation's research modelsAbhinav Kp
 
The Impact of Cloud Computing on Predictive Analytics 7-29-09 v5
The Impact of Cloud Computing on Predictive Analytics 7-29-09 v5The Impact of Cloud Computing on Predictive Analytics 7-29-09 v5
The Impact of Cloud Computing on Predictive Analytics 7-29-09 v5Robert Grossman
 
Data Structures in the Multicore Age : Notes
Data Structures in the Multicore Age : NotesData Structures in the Multicore Age : Notes
Data Structures in the Multicore Age : NotesSubhajit Sahu
 
Your data is in Prometheus, now what? (CurrencyFair Engineering Meetup, 2016)
Your data is in Prometheus, now what? (CurrencyFair Engineering Meetup, 2016)Your data is in Prometheus, now what? (CurrencyFair Engineering Meetup, 2016)
Your data is in Prometheus, now what? (CurrencyFair Engineering Meetup, 2016)Brian Brazil
 
ICS 2410.Parallel.Sytsems.Lecture.Week 3.week5.pptx
ICS 2410.Parallel.Sytsems.Lecture.Week 3.week5.pptxICS 2410.Parallel.Sytsems.Lecture.Week 3.week5.pptx
ICS 2410.Parallel.Sytsems.Lecture.Week 3.week5.pptxjohnsmith96441
 
Prometheus - Open Source Forum Japan
Prometheus  - Open Source Forum JapanPrometheus  - Open Source Forum Japan
Prometheus - Open Source Forum JapanBrian Brazil
 
Data Structures and Algorithms Unit 01
Data Structures and Algorithms Unit 01Data Structures and Algorithms Unit 01
Data Structures and Algorithms Unit 01Prashanth Shivakumar
 
Parallel Processing Presentation2
Parallel Processing Presentation2Parallel Processing Presentation2
Parallel Processing Presentation2daniyalqureshi712
 
A Parallel Computing-a Paradigm to achieve High Performance
A Parallel Computing-a Paradigm to achieve High PerformanceA Parallel Computing-a Paradigm to achieve High Performance
A Parallel Computing-a Paradigm to achieve High PerformanceAM Publications
 

Similar a Diseño de Algoritmos Paralelos (20)

Machine Learning Algorithm for Business Strategy.pdf
Machine Learning Algorithm for Business Strategy.pdfMachine Learning Algorithm for Business Strategy.pdf
Machine Learning Algorithm for Business Strategy.pdf
 
Taking r to its limits. 70+ tips
Taking r to its limits. 70+ tipsTaking r to its limits. 70+ tips
Taking r to its limits. 70+ tips
 
Trivento summercamp masterclass 9/9/2016
Trivento summercamp masterclass 9/9/2016Trivento summercamp masterclass 9/9/2016
Trivento summercamp masterclass 9/9/2016
 
Solution Patterns for Parallel Programming
Solution Patterns for Parallel ProgrammingSolution Patterns for Parallel Programming
Solution Patterns for Parallel Programming
 
Chapter 10
Chapter 10Chapter 10
Chapter 10
 
Module 2.pdf
Module 2.pdfModule 2.pdf
Module 2.pdf
 
paradigms cloud.pptx
paradigms cloud.pptxparadigms cloud.pptx
paradigms cloud.pptx
 
Complier design
Complier design Complier design
Complier design
 
Actian Matrix Whitepaper
 Actian Matrix Whitepaper Actian Matrix Whitepaper
Actian Matrix Whitepaper
 
Operation's research models
Operation's research modelsOperation's research models
Operation's research models
 
The Impact of Cloud Computing on Predictive Analytics 7-29-09 v5
The Impact of Cloud Computing on Predictive Analytics 7-29-09 v5The Impact of Cloud Computing on Predictive Analytics 7-29-09 v5
The Impact of Cloud Computing on Predictive Analytics 7-29-09 v5
 
Data Structures in the Multicore Age : Notes
Data Structures in the Multicore Age : NotesData Structures in the Multicore Age : Notes
Data Structures in the Multicore Age : Notes
 
Your data is in Prometheus, now what? (CurrencyFair Engineering Meetup, 2016)
Your data is in Prometheus, now what? (CurrencyFair Engineering Meetup, 2016)Your data is in Prometheus, now what? (CurrencyFair Engineering Meetup, 2016)
Your data is in Prometheus, now what? (CurrencyFair Engineering Meetup, 2016)
 
Parallel Computing
Parallel ComputingParallel Computing
Parallel Computing
 
ICS 2410.Parallel.Sytsems.Lecture.Week 3.week5.pptx
ICS 2410.Parallel.Sytsems.Lecture.Week 3.week5.pptxICS 2410.Parallel.Sytsems.Lecture.Week 3.week5.pptx
ICS 2410.Parallel.Sytsems.Lecture.Week 3.week5.pptx
 
Prometheus - Open Source Forum Japan
Prometheus  - Open Source Forum JapanPrometheus  - Open Source Forum Japan
Prometheus - Open Source Forum Japan
 
Data Structures and Algorithms Unit 01
Data Structures and Algorithms Unit 01Data Structures and Algorithms Unit 01
Data Structures and Algorithms Unit 01
 
Matrix Multiplication Report
Matrix Multiplication ReportMatrix Multiplication Report
Matrix Multiplication Report
 
Parallel Processing Presentation2
Parallel Processing Presentation2Parallel Processing Presentation2
Parallel Processing Presentation2
 
A Parallel Computing-a Paradigm to achieve High Performance
A Parallel Computing-a Paradigm to achieve High PerformanceA Parallel Computing-a Paradigm to achieve High Performance
A Parallel Computing-a Paradigm to achieve High Performance
 

Último

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Último (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

Diseño de Algoritmos Paralelos

  • 1. Algoritmos Paralelos Universidad Iberoamericana | UNIBE Diseño y Análisis de Algoritmos | TI3-212 Kelvin Sánchez Rosario | 22-0908
  • 2. ¡Hola! En la actualidad, los algoritmos paralelos se están convirtiendo en una herramienta esencial para acelerar el procesamiento de datos. Los algoritmos paralelos son capaces de dividir un problema en partes más pequeñas y resolverlas simultáneamente, aprovechando la potencia de múltiples procesadores 2
  • 4. “ Los algoritmos paralelos dividen el problema en partes más pequeñas que se resuelven de forma simultánea en distintos procesadores. 4
  • 5. ¿Qué son los Algoritmos Paralelos? Un algoritmo paralelo es un conjunto de instrucciones que se ejecutan simultáneamente en varios procesadores para resolver un problema en menos tiempo que si se utilizara un único procesador. A diferencia de los algoritmos secuenciales, en los cuales las instrucciones se ejecutan en orden secuencial, los algoritmos paralelos dividen el problema en partes más pequeñas que se resuelven de forma simultánea en distintos procesadores. 5
  • 6. Supongamos que queremos ordenar una lista de 100 números de forma ascendente. En un algoritmo secuencial, primero se compara el primer número con los 99 restantes, se intercambian los valores si es necesario, luego se compara el segundo número con los 98 restantes, y así sucesivamente, hasta haber comparado todos los números y haberlos ordenado. Por ejemplo En cambio, en un algoritmo paralelo, se divide la lista en partes más pequeñas y se asigna a diferentes procesadores la tarea de ordenar cada una de esas partes de forma simultánea. Luego, se combinan las partes ya ordenadas para obtener la lista completa ordenada. Este enfoque paralelo puede acelerar significativamente el proceso de ordenamiento en comparación con el enfoque secuencial. 6
  • 8. Mayor velocidad Los algoritmos paralelos pueden resolver problemas en menos tiempo que los algoritmos secuenciales, ya que pueden dividir un problema en partes más pequeñas y resolverlas simultáneamente en diferentes procesadores. Ventajas de los Algoritmos Paralelos Mayor escalabilidad Los algoritmos paralelos pueden ser escalados fácilmente a medida que se incrementa el número de procesadores, lo que les permite manejar grandes conjuntos de datos y problemas complejos de manera más eficiente. 8
  • 9. Ventajas de los Algoritmos Paralelos Mayor precisión En algunos casos, los algoritmos paralelos pueden ser más precisos que los algoritmos secuenciales, ya que pueden realizar cálculos más complejos y utilizar técnicas avanzadas de análisis de datos Eficiencia energética Los algoritmos paralelos pueden ser más eficientes energéticamente que los algoritmos secuenciales, ya que distribuyen la carga de trabajo entre múltiples procesadores y reducen el tiempo de procesamiento global. Reducción de costos Los algoritmos paralelos pueden reducir los costos de procesamiento y almacenamiento de datos, ya que pueden manejar grandes conjuntos de datos de manera más eficiente y en menos tiempo. 9
  • 11. Algoritmos de División y Conquista En este tipo de algoritmos, el problema se divide en partes más pequeñas que se resuelven simultáneamente en diferentes procesadores. Luego, los resultados se combinan para obtener la solución del problema completo. Ejemplos de este tipo de algoritmos son el merge sort y el quicksort. 11
  • 12. Algoritmos de Granja de Procesadores En este tipo de algoritmos, el problema se divide en tareas más pequeñas que se asignan a diferentes procesadores de una granja o conjunto de procesadores. Cada procesador trabaja en su tarea y envía los resultados al procesador principal, que los combina para obtener la solución final. Este tipo de algoritmo se utiliza con frecuencia en aplicaciones de procesamiento de imágenes y video. 12
  • 13. Algoritmos de Pipeline En este tipo de algoritmos, el problema se divide en etapas o fases que se resuelven en diferentes procesadores. Cada procesador recibe los datos de entrada de la etapa anterior, los procesa y los envía a la siguiente etapa para su procesamiento. Este tipo de algoritmo se utiliza con frecuencia en aplicaciones de procesamiento de señales y telecomunicaciones. 13
  • 14. Algoritmos de Mapeo En este tipo de algoritmos, el problema se divide en partes que se asignan a diferentes procesadores de una red de procesadores interconectados. Cada procesador trabaja en su parte del problema y se comunica con otros procesadores para compartir resultados y coordinar el procesamiento. Este tipo de algoritmo se utiliza con frecuencia en aplicaciones de computación distribuida y paralela. 14
  • 16. Comunicación En los algoritmos paralelos, es necesario coordinar el trabajo de múltiples procesadores para obtener la solución correcta del problema. Esto requiere una sincronización precisa y eficiente entre los procesadores, lo que puede ser difícil de lograr en algunos casos. Desafíos de los Algoritmos Paralelos Sincronización Los procesadores deben comunicarse entre sí para compartir datos y resultados. Esto puede ser un cuello de botella si la comunicación no se realiza de manera eficiente, ya que puede limitar el rendimiento del algoritmo. 16
  • 17. Desafíos de los Algoritmos Paralelos Granularidad La granularidad se refiere al tamaño de las tareas que se asignan a los procesadores. Si las tareas son demasiado pequeñas, puede haber una sobrecarga de comunicación y coordinación, lo que puede reducir el rendimiento. Si las tareas son demasiado grandes, algunos procesadores pueden estar ociosos mientras otros trabajan, lo que también puede reducir el rendimiento. Balance de carga es importante equilibrar la carga de trabajo entre los procesadores para evitar que algunos procesadores estén ociosos mientras otros están sobrecargados. Esto puede ser difícil de lograr en algunos casos, especialmente si el tamaño del problema no es conocido de antemano. 17
  • 18. Costos Los algoritmos paralelos pueden requerir hardware especializado, como procesadores múltiples y redes de interconexión, lo que puede aumentar los costos. Además, la programación y el mantenimiento de los algoritmos paralelos pueden ser más complejos que los algoritmos secuenciales, lo que puede aumentar los costos de desarrollo y mantenimiento. Desafíos de los Algoritmos Paralelos 18
  • 20. Procesamiento de imágenes Los algoritmos paralelos se utilizan en aplicaciones de procesamiento de imágenes, como la detección de bordes, la segmentación y el reconocimiento de patrones. La capacidad de procesar grandes cantidades de datos de manera simultánea permite la detección y análisis de patrones complejos en imágenes Ejemplos de aplicación Simulación Los algoritmos paralelos se utilizan en simulaciones de modelos matemáticos y físicos. Esto incluye simulaciones de clima, terremotos, fluidos y estructuras. Los algoritmos paralelos permiten la realización de simulaciones más precisas y rápidas. 20
  • 21. Ejemplos de aplicación Minería de Datos Se utilizan en la minería de datos para identificar patrones y relaciones en grandes conjuntos de datos. Esto se aplica a una variedad de campos, como la investigación de mercados, la biología, la medicina y la seguridad. Big Data Los algoritmos paralelos se utilizan en el procesamiento de grandes conjuntos de datos de redes sociales para identificar patrones de comportamiento y tendencias. Redes Neuronales Son esenciales para la implementación de redes neuronales. Los algoritmos paralelos permiten el procesamiento simultáneo de múltiples entradas y el ajuste simultáneo de múltiples parámetros. 21
  • 23. Conclusiones Ventajas Los algoritmos paralelos pueden ser una solución eficaz para manejar grandes conjuntos de datos y problemas complejos de manera más rápida, precisa, escalable y eficiente. Tipos Pueden ser clasificados en varios tipos según la forma en que se dividen y resuelven los problemas. Cada tipo de algoritmo tiene sus propias ventajas y desventajas y es adecuado para diferentes tipos de aplicaciones y problemas. Desafíos Presentan varios desafíos que deben ser abordados para obtener un rendimiento óptimo. Estos desafíos incluyen la sincronización, la comunicación, la granularidad, el balance de carga y los costos. Al abordar estos desafíos de manera efectiva, se puede lograr un rendimiento óptimo de los algoritmos paralelos. Ejemplos de aplicación Tienen muchas aplicaciones en diferentes campos, incluyendo el procesamiento de imágenes, la simulación, el análisis de Big Data, la minería de datos y las redes neuronales. En cada uno de estos campos, los algoritmos paralelos permiten el procesamiento simultáneo de múltiples entradas y la aceleración de los cálculos, lo que resulta en una mayor eficiencia y precisión en el procesamiento de datos. 23
  • 24. ¡Gracias! ¿Alguna pregunta? Puedes encontrarme en: ksanchez8@est.unibe.edu.do 24