Metodología y Framework para el Desarrollo de Aplicaciones Científicas en Entornos HPC
Javier Corral García, CénitS-COMPUTAEX. Diploma de Estudios Avanzados, Universidad de Extremadura.
Se trata de un proyecto ambicioso de complejidad muy notable, con una propuesta trabajada desde un marco teórico y publicada en diversos artículos en congresos de ámbito internacional. Dicha propuesta pretende cubrir las necesidades detectadas y aportar nuevas soluciones sobre los desafíos abiertos en la computación de alto rendimiento, mediante la creación de una metodología y un framework basados en componentes y orientados a aspectos, para el desarrollo de aplicaciones científicas en entornos de computación de alto rendimiento, HPC (High-Performance Computing). El objetivo es permitir a investigadores y usuarios generar sus programas de manera más eficiente, con mayor confianza en su funcionalidad y alcanzando destacables reducciones de tiempo, esfuero y coste, mediante la reutilización de componentes con códigos paralelos ya desarrollados y probados previamente.
Numerosas investigaciones de diversa índole se enfrentan continuamente a desafíos realmente críticos que requieren un especial protagonismo por parte de la computación de alto rendimiento. Actualmente, la paralelización de sus códigos suele ser el primer problema que afrontan los usuarios a la hora de compenzar a uitlizar HPC. En algunos casos, la propia tarea de crear los códigos secuenciales ya es complicada para expertos de determinadas ramas de la ciencia que poco o nada tienen que ver con la programación informática. Cuando además estos usuarios se ven obligados a hacer uso de la potencia que ofrece la computación de alto rendimiento, la curva de aprendizaje se endurece, aumentando las dificultades para conseguir dar solución a los problemas planteados. Uno de los retos más importantes a los que se enfrentan la creación de aplicaciones científicas y el desarrollo en HPC es, precisamente, la carencia de entornos de programación que permitan generar código de forma eficiente.
La experiencia ha demostrado que sería muy útil para investigadores y usuarios de computación de alto rendimiento, seguir una metodología concreta y un framework que facilitasen el desarrollo de sus códigos y aplicaciones. Sin embargo, existe una patente falta de enfoques que presenten metodologías específicas o entornos de trabajo óptimos, obligándoles a afrontar los desafíos que supone la utilización de estos computadores. En un amplio número de casos, estos usuarios no tienen la formación previa y las habilidades necesarias para hacerlo o únicamente desean compilar sus códigos y ejecutarlos lo antes posbile. En ocasiones, esto acaba siendo contraproducente en términos de eficiencia, dado que acaban teniendo que esperar más tiempo para obtener el resultado final, debido a la elección de un modelo incorrecto de programación o incluso a una arquitectura software errónea, por no hablar de errores en la propia paralelización de códigos inicialmente secuenciales.
Este trabajo de investigación fue realizado por Javier Corral García y dirigido por José Luis González Sánchez para la obtención del Diploma de Estudios Avanzados en la Universidad de Extremadura.
- Javier Corral García. Metodología y Framework para el Desarrollo de Aplicaciones Científicas en Entornos HPC. Diploma de Estudios Avanzados, Universidad de Extremadura. Diciembre de 2012.