Diseño de Algoritmos Paralelos
Que son los
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.
El diseño de algoritmos paralelos involucra cuatro
etapas principalmente:
Particionamiento: Aquí 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 las tareas
Agrupamiento: Se evalúa la eficiencia de los dos pasos anteriores y de ser
necesario se agrupan algunas tareas pequeñas en tareas mas grandes.
Asignación: Cada tarea es asignada a un procesador tratando de aprovechar los
recursos y reducir el costos de la comunicación.
Gráficamente
Computación de
alto rendimiento
Los algoritmos paralelos son claves para 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.
Gracias a este trabajo se llevo a cabo el desarrollo de una biblioteca numérica,
Portable, Extensible Toolkit for Scientific Computation (PETSc), que Gropp
desarrolló en colaboración con Barry Smith. PETSc se ha utilizado en una variedad
de aplicaciones, que incluyen nanosimulaciones, biología, fusión, geociencias,
modelado ambiental, dinámica de fluidos e ingeniería de software, entre otras.
Cabe destacar que gracias a esto William D. Gropp fue galardonado como receptor
del Premio Ken Kennedy de la Sociedad de Computación ACM / IEEE 2016 por sus
contribuciones altamente influyentes a la programabilidad de computadoras
distribuidas y paralelas de alto rendimiento.
Algoritmos paralelos: el problema de emparejamiento y
el problema del viajante de comercio.
Jakub Tarnawski investigador en Microsoft Research trabajó
con algoritmos paraleles para lograr un progreso algorítmico
revolucionario en dos de los problemas mas centrales en la
optimización combinatoria: el problema de emparejamiento y
el problema del viajante de comercio.
Tarnawski trabajó en algoritmos paralelos deterministas para el problema de
emparejamiento está motivado por uno de los misterios sin solucionar en la
informática:
¿ayuda la aleatoriedad a precipitar los algoritmos?
La disertación de Tarnawski consigue un incremento relevante en esta cuestión
al desaleatorizar casi por completo un algoritmo de emparejamiento paralelo
aleatorio de 3 décadas de Ketan Mulmuley, Umesh Vaziriani y Vijay Vazirani.
El segundo resultado importante de la disertación de Tarnawski se relaciona con el problema del
viajante de comercio:
Encontrar el recorrido más corto de n ciudades determinadas.
Ya en 1956, George Dantzig 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 cuestión de forma asintótica y proporciona el primer
algoritmo de aproximación de factor constante para el problema asimétrico del viajante de
comercio.
Jakub Tarnawski ganó el premio de tesis doctoral
ACM donde demostró que el problema de
emparejamiento está en quasi-NC, es decir, que un
algoritmo paralelo determinista que se ejecuta en
tiempo O (log3 n) en n O (log2 n) procesadores.
El resultado se obtiene mediante una
desaleatorización del Lema de aislamiento para
emparejamientos perfectos, que fue introducido
en el artículo clásico por Mulmuley, Vazirani y
Vazirani [MVV87] para obtener un algoritmo RNC.
Referencias
https://www.acm.org/binaries/content/a
ssets/press-
releases/2016/october/kennedy-award-
2016.pdf
https://awards.acm.org/about/2019-
doctoral-dissertation
http://webdelprofesor.ula.ve/ingenieria/g
ilberto/paralela/08_DisenoDeAlgoritmosP
aralelos.pdf
https://infoscience.epfl.ch/record/267500
?ln=en

Diseño de algoritmos paralelos

  • 1.
  • 2.
    Que son los algoritmos paralelos? Esun 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.
  • 3.
    El diseño dealgoritmos paralelos involucra cuatro etapas principalmente: Particionamiento: Aquí 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 las tareas Agrupamiento: Se evalúa la eficiencia de los dos pasos anteriores y de ser necesario se agrupan algunas tareas pequeñas en tareas mas grandes. Asignación: Cada tarea es asignada a un procesador tratando de aprovechar los recursos y reducir el costos de la comunicación.
  • 4.
  • 5.
    Computación de alto rendimiento Losalgoritmos paralelos son claves para 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.
  • 6.
    Gracias a estetrabajo se llevo a cabo el desarrollo de una biblioteca numérica, Portable, Extensible Toolkit for Scientific Computation (PETSc), que Gropp desarrolló en colaboración con Barry Smith. PETSc se ha utilizado en una variedad de aplicaciones, que incluyen nanosimulaciones, biología, fusión, geociencias, modelado ambiental, dinámica de fluidos e ingeniería de software, entre otras. Cabe destacar que gracias a esto William D. Gropp fue galardonado como receptor del Premio Ken Kennedy de la Sociedad de Computación ACM / IEEE 2016 por sus contribuciones altamente influyentes a la programabilidad de computadoras distribuidas y paralelas de alto rendimiento.
  • 7.
    Algoritmos paralelos: elproblema de emparejamiento y el problema del viajante de comercio. Jakub Tarnawski investigador en Microsoft Research trabajó con algoritmos paraleles para lograr un progreso algorítmico revolucionario en dos de los problemas mas centrales en la optimización combinatoria: el problema de emparejamiento y el problema del viajante de comercio.
  • 8.
    Tarnawski trabajó enalgoritmos paralelos deterministas para el problema de emparejamiento está motivado por uno de los misterios sin solucionar en la informática: ¿ayuda la aleatoriedad a precipitar los algoritmos? La disertación de Tarnawski consigue un incremento relevante en esta cuestión al desaleatorizar casi por completo un algoritmo de emparejamiento paralelo aleatorio de 3 décadas de Ketan Mulmuley, Umesh Vaziriani y Vijay Vazirani.
  • 9.
    El segundo resultadoimportante de la disertación de Tarnawski se relaciona con el problema del viajante de comercio: Encontrar el recorrido más corto de n ciudades determinadas. Ya en 1956, George Dantzig 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 cuestión de forma asintótica y proporciona el primer algoritmo de aproximación de factor constante para el problema asimétrico del viajante de comercio.
  • 10.
    Jakub Tarnawski ganóel premio de tesis doctoral ACM donde demostró que el problema de emparejamiento está en quasi-NC, es decir, que un algoritmo paralelo determinista que se ejecuta en tiempo O (log3 n) en n O (log2 n) procesadores. El resultado se obtiene mediante una desaleatorización del Lema de aislamiento para emparejamientos perfectos, que fue introducido en el artículo clásico por Mulmuley, Vazirani y Vazirani [MVV87] para obtener un algoritmo RNC.
  • 11.