El profesor David Bader A., en conjunto con Mehmet F. Su, Ihab El-Kady y Shawn-Yu Lin; han desarrollado una aplicación FDTD Con Paralelización híbrida OpenMP-MPI. Cuyo objetivo es modelar efectivamente las características ópticas de una nueva fuente de luz creada mediante la utilización de una nueva clase de materiales conocidos como cristales fotónicos.Los cristales fotónicos afectan el movimiento de los fotones como los semiconductores afectan el movimiento de los electrones. Tales cristales tienen numerosas aplicaciones en láseres, LEDs, antenas, paneles solares, etc.
FDTD es un método bien conocido de cálculo para el modelado de la electrodinámica. Sus principales ventajas son su simplicidad y facilidad de aplicación en el software. Pero la mayor desventaja es su exigencia de malla fina y pequeños pasos de tiempo, lo que resulta en el uso de memoria de alta y largos tiempos de solución. Esto lo hace un candidato perfecto para la paralelización a través de la computación distribuida. Aunque MPI ya se está utilizando para resolver tales problemas FDTD, la utilización de OpenMP con MPI puede mejorar aún más la eficiencia.
El método de la aplicación se basa en la solución de segundo orden discretizado las ecuaciones de Maxwell en el espacio y el tiempo. Este nuevo régimen de paralelización hibrida permite tomar ventaja de la nueva generación de maquinas paralelas que poseen conectados los nodos SMP. Mediante el empleo de cálculos en paralelo, son capaces de completar un cálculo sobre 24 procesadores en 24 horas, donde una versión serial se ha tomado más de tres semanas.
Los investigadores han utilizado OpenMP y MPI híbrido para implementar el algoritmo. El objetivo principal es optimizar la parte OpenMP del algoritmo desde MPI sólo la solución FDTD es un tema conocido. Con el fin de lograr un mejor rendimiento, ellos utilizaron varias herramientas de perfil y provistas por el sistema que han utilizado.
Los autores destacan que han diseñado, implementado y analizado una simulación FDTD para un problema de física que toma semanas para calcular sin cálculos en paralelo. Aunque el artículo se refiere a un cálculo realizado con 24 procesadores, que sólo da los resultados de carreras hecho con 8 procesadores. Estos resultados muestran dos diferentes implementaciones de OpenMP y sus comparaciones. En primer lugar se trata de una aplicación ingenua de OpenMP tal que casi depende exclusivamente de la optimización realizada por el compilador (v1). En segundo lugar la aplicación utiliza varias optimizaciones manuales utilizando herramientas disponibles para mejorar el uso de la caché y reducir la huella de memoria pie (v2). Dos figuras se proporcionan para comparar las optimizaciones manuales con las optimizaciones del compilador estándar automático. La figura 1 muestra la comparación del total de los tiempos de utilización y en la figura 2 se muestra la velocidad a la comparación entre los diferentes métodos de optimización.


Estos resultados muestran que OpenMP, incluso con la optimización del compilador estándar por sí solo, ofrece una buena aceleración. Reduce el tiempo de ejecución de más de 3 horas a menos de una hora con el aumento de velocidad en alrededor de 4.8 para 8 procesadores. Con optimizaciones manuales fue posible mejorar ligeramente la eficiencia.
En conclusión, el artículo trata de combinar los puntos fuertes de OpenMP y MPI, y reducir los tiempos de ejecución no es posible con un algoritmo de MPI.
Fuente:
Nenhum comentário:
Postar um comentário