Mejoras En La Perfomance De Un Programa Paralelo De Fisicoquímica Hidrodiná Mica Computacional En Un Cluster Beowulf Heterogéneo.
Abstract
En este trabajo se presenta una mejora en la performance de un programa paralelo
de fisicoquímica hidrodinámica computacional en un cluster Beowulf heterogéneo bajo el
sistema operativo Linux y la biblioteca de pasaje de mensajes (MPI ). El programa paralelo resuelve
las ecuaciones de Nernst-Planck para el transporte iónico, la ecuación de Poisson para
el campo eléctrico y las ecuaciones de Navier-Stokes para el fluido en el espacio de tres dimensiones
y el tiempo, mediante la utilización de un esquema de diferencias finitas fuertemente
implícito, métodos de relajación standard y técnicas de descomposición por subdominios. Las
mejoras en el código paralelo se obtuvieron mediante: i) balance de carga semi-dinámico, que
no requiere un conocimiento a priori de las características del cluster, ii) reordenamiento del
proceso iterativo, con el fin de soportar el solapamiento del tiempo de cómputo con el de comunicación, y iii) uso de directivas de comunicación no-bloqueantes, diferentes tamaños de buffer
y diversas implementaciones código-abierto de MPI . Por medio de estas estrategias, se ha logrado
una mejora de aproximadamente un 40% en relación a la versión paralela sin optimizar.
En algunos casos, se alcanzó una escalabilidad con eficiencia cercana a la unidad. La versión
paralela del programa ha sido utilizada en el estudio de problemas complejos tridimensionales
en escalas que no se habían logrado alcanzar con versiones anteriores.
de fisicoquímica hidrodinámica computacional en un cluster Beowulf heterogéneo bajo el
sistema operativo Linux y la biblioteca de pasaje de mensajes (MPI ). El programa paralelo resuelve
las ecuaciones de Nernst-Planck para el transporte iónico, la ecuación de Poisson para
el campo eléctrico y las ecuaciones de Navier-Stokes para el fluido en el espacio de tres dimensiones
y el tiempo, mediante la utilización de un esquema de diferencias finitas fuertemente
implícito, métodos de relajación standard y técnicas de descomposición por subdominios. Las
mejoras en el código paralelo se obtuvieron mediante: i) balance de carga semi-dinámico, que
no requiere un conocimiento a priori de las características del cluster, ii) reordenamiento del
proceso iterativo, con el fin de soportar el solapamiento del tiempo de cómputo con el de comunicación, y iii) uso de directivas de comunicación no-bloqueantes, diferentes tamaños de buffer
y diversas implementaciones código-abierto de MPI . Por medio de estas estrategias, se ha logrado
una mejora de aproximadamente un 40% en relación a la versión paralela sin optimizar.
En algunos casos, se alcanzó una escalabilidad con eficiencia cercana a la unidad. La versión
paralela del programa ha sido utilizada en el estudio de problemas complejos tridimensionales
en escalas que no se habían logrado alcanzar con versiones anteriores.
Full Text:
PDFAsociación Argentina de Mecánica Computacional
Güemes 3450
S3000GLN Santa Fe, Argentina
Phone: 54-342-4511594 / 4511595 Int. 1006
Fax: 54-342-4511169
E-mail: amca(at)santafe-conicet.gov.ar
ISSN 2591-3522