Informe de investigador

Informe científico de investigador: Tinetti, Fernando Gustavo (2012-2013)

Resumen

El trabajo durante el período informado se ha continuado en la dirección de atacar la problemática alrededor de Cómputo de Alto Rendimiento (o HPC, de su sigla en inglés: High Performance Computing), incluyendo varios puntos de vista. Estos puntos de vista incluyen desde el problema de las aplicaciones heredadas hasta la optimización y paralelización en las arquitecturas de procesamiento actuales. El objetivo del trabajo realizado y a continuar es analizar y resolver varios aspectos que normalmente imponen restricciones y/o penalizaciones para lograr el máximo rendimiento posible de las aplicaciones que normalmente tienen mayores requerimientos de procesamiento. Estos aspectos de pueden analizar en varios contextos y es lo que se ha venido realizando desde hace varios años y durante el período informado en particular: 1) Desde la perspectiva de las aplicaciones ya desarrolladas y/o incluidas las aplicaciones heredadas (o legacy, tal su término técnico usual en inglés). En este sentido, se ha avanzado en varias direcciones específicas: 1.1) Análisis de las características más problemáticas de los programas científicos. Se han analizado y se considera importante seguir analizando por un lado la estructura general/amplia de un proyecto de software en producción y por el otro detalles específicos del software que son particularmente complejos de tratar en cuanto a su optimización y mantenimiento al menor costo posible. Al menos parte de varias de las publicaciones realizadas en el período tratan esta problemática, junto con la que se describe a continuación 1.2) Transformación de código. Una vez identificadas las características del software científco actualmente en producción (y en algunos casos, el que se está produciendo), se deben proveer formas al menos metodológicas para cambiar/mejorar aquellas que atentan contra la optimización de rendimiento. 1.3) Tratamiento integral de optimización y paralelización. Se propone y en parte se ha implementado un método completo de manejo de software que incluye la transformación tanto para optimización como específicamente para paralelización de procesamiento. En todos los casos, el estudio se hace utilizando programas/software heredado que es ampliamente aceptado en el ambiente de HPC/científico, como los asociados a modelos climáticos y de ingeniería mecánica, por ejemplo. 2) En el nivel más bajo de abstracción del software se continúa con el estudio y el desarrollo de optimizaciones específicas tanto para procesamiento secuencial como paralelo en multiprocesadores, ambientes híbridos incluyendo GPU (Graphic Processing Units), como multicomputadoras en general homogéneas y heterogéneas. En todos los casos el estudio utilizando BLAS (Basic Linear Algebra Subprograms) provee un contexto acotado para el estudio caso por caso. 3) Análisis de rendimiento: se ha avanzado en el contexto de evaluación en base a un sistema de relojes sincronizados que a su vez se puede tratar de manera similar o considerar en relación con un sistema de tiempo real. Por otro lado, y también relacionado con esta problemática se está considerando aprovechar la información directamente proveniente del hardware no solamente en cuanto a tiempo (algo que se está haciendo) sino en cuanto a eventos específicos que se suceden en el hardware de procesamiento actual y que el propio harware es capaz de monitorizar e informar para optimización.

Palabras clave
aplicaciones heredadas
optimización
paralelización
rendimiento
http://creativecommons.org/licenses/by/4.0/

Esta obra se publica con la licencia Creative Commons Attribution 4.0 International (BY 4.0)

item.page.license
Imagen en miniatura