Desarrollo, optimización y autooptimización de algoritmos paralelos para análisis cinemático de sistemas multicuerpo basado en ecuaciones de grupo

  1. Cano Lorente, Jose Carlos
Dirigida por:
  1. Antonio Javier Cuenca Muñoz Director/a
  2. Mariano Saura Director
  3. Domingo Giménez Cánovas Director/a

Universidad de defensa: Universidad de Murcia

Fecha de defensa: 23 de abril de 2021

Tribunal:
  1. Vicente Emilio Vidal Gimeno Presidente/a
  2. Juan Luis Aragón Alcaraz Secretario/a
  3. Francisco Javier González Varela Vocal

Tipo: Tesis

Resumen

El modelado es la disciplina que permite analizar y simular el comportamiento de un determinado sistema mediante una representación numérica de sus propiedades. Entre sus áreas de aplicación se encuentran el estudio de sistemas naturales, climáticos, poblacionales o mecánicos. Las técnicas de modelado disponibles en la actualidad permiten abordar el estudio de sistemas cada vez más complejos que requieren del uso eficiente de sistemas computacionales para su resolución en unos tiempos aceptables dentro de los límites de las asignaciones de recursos informáticos. Por este motivo, los científicos plantean los modelos con un enfoque que permite su traducción a algoritmos susceptibles de ser ejecutados por un ordenador. Por ejemplo, en el campo de la ingeniería que estudia los sistemas multicuerpo, una formulación topológica facilita el modelado automático de dichos sistemas y permite una resolución computacional eficiente de su análisis cinemático. La información obtenida de este proceso se puede aplicar al diseño de nuevos mecanismos, y engloba aspectos tales como el análisis de la posición de los elementos que componen el sistema o el rango de desplazamiento de las piezas móviles. Dado el interés por la implementación computacional de numerosos problemas de naturaleza científica, es posible acceder a paquetes de software elaborados por diversos grupos de investigación que resuelven determinados subproblemas y que se pueden reutilizar en la resolución de problemas de mayor complejidad. Un ejemplo de estos paquetes son las librerías de álgebra lineal, muy usadas habitualmente en este tipo de problemas científicos y que son objeto de estudio continuo para su adaptación a la incesante evolución del hardware. Las plataformas de hardware actuales incorporan más de una unidad de procesamiento, bien integrando varios procesadores en sus CPUs, bien añadiendo otras unidades de arquitectura masivamente paralela, como las GPUs, para conformar nodos de computación híbridos. La existencia de este tipo de hardware paralelo motiva el interés en explotar la ejecución simultánea de cálculos, con la consiguiente reducción de los tiempos de resolución de modelos complejos. Ahora bien, una aplicación óptima de técnicas paralelas requiere de un conocimiento profundo del hardware y de las librerías de cómputo disponibles, muchas de las cuales requieren un ajuste mediante parámetros para aprovechar todo su potencial. Por este motivo, no es frecuente que investigadores en áreas científicas concretas sean a la vez expertos conocedores de los diversos paradigmas de programación paralela existentes. Esta tesis investiga un enlace entre la disciplina de la ingeniería mecánica y la computación, ofreciendo a usuarios no expertos en paralelismo un software que incorpora el estudio y optimización de algoritmos mediante una adecuada selección de librerías y su configuración. Partiendo del modelo de un sistema multicuerpo expresado en forma de grafo acíclico de los cálculos (básicamente operaciones de álgebra matricial) y sus dependencias, el software permite a un usuario ajustar los parámetros de paralelismo y librerías, y realizar simulaciones del modelo para analizar la influencia que cada configuración tiene en los tiempos de resolución. Además, una ejecución autooptimizada recomienda al usuario la manera más eficiente de paralelizar los cálculos, la librería a usar y los ajustes teóricos óptimos que se recomiendan para los parámetros algorítmicos en cada etapa de resolución del algoritmo. Por último, esta metodología se puede aplicar a otras disciplinas ajenas a la ingeniería mecánica, en concreto a aquéllas donde los problemas se pueden plantear con un enfoque similar, es decir, como agrupaciones de cálculos que incluyan operaciones matriciales realizadas en una determinada secuencia. Un ejemplo de aplicación en este sentido lo encontramos en algunas rutinas básicas de álgebra lineal, como la multiplicación de matrices.