LogoLidi Logo30años
LogoUNLP

11/F018- Arquitecturas multiprocesador en HPC: software de base, métricas y aplicaciones

Director: De Giusti, Armando Eduardo

Codirector: Tinetti, Fernando Gustavo

Caracterizar las arquitecturas multiprocesador distribuidas enfocadas especialmente a cluster y cloud computing, con énfasis en las que utilizan procesadores de múltiples núcleos (multicores y gpus), para modelizarlas,

Estudiar su escalabilidad, analizar y predecir performance de aplicaciones paralelas y desarrollar esquemas de tolerancia a fallas en las mismas.

Profundizar el estudio de arquitecturas basadas en gpus y su comparación con multicores, así como el empleo combinado de gpus y multicores en computadoras de alta perfomance (clusters híbridos).

Analizar la eficiencia energética en estas arquitecturas paralelas, considerando el impacto de la arquitectura, el sistema operativo, el modelo de programación y el algoritmo específico. Analizar y desarrollar software de base para clusters de multicores y gpus, tratando de optimizar el rendimiento.

Desarrollar herramientas para la transformación de código heredado, buscando su optimización paralela sobre arquitecturas multiprocesador. Tratar aplicaciones de cómputo multiprocesador distribuido, en el área de los sistemas de tiempo real.


SubProyecto AM P1: Arquitecturas Multiprocesador en HPC: Algoritmos, Métricas de rendimiento y Aplicaciones

Director: Ing. Armando De Giusti
Co-Director: Lic. Franco Chichizola

Objetivo:
Caracterizar las arquitecturas multiprocesador distribuidas, en particular las basadas en procesadores de múltiples núcleos, tales como Clusters, Multiclusters y Cloud con el objetivo de modelizarlas, estudiar su
escalabilidad, analizar y predecir perfomance de aplicaciones paralelas y estudiar esquemas de tolerancia a fallas en las mismas. Desarrollar / utilizar herramientas de simulación de arquitecturas y sistemas
multiprocesador para el análisis de comportamiento.
Desarrollar software de base para clusters y clouds (que utilicen multicores, GPUs e híbridos), tratando de optimizar perfomance y rendimiento energético de las arquitecturas, suponiendo diferentes modelos de programación paralela y diferentes paradigmas de resolución de aplicaciones.
Estudiar la optimización de aplicaciones paralelas sobre arquitecturas multiprocesador distribuidas.

Temas de Estudio e Investigación:
- Arquitecturas multicore y many-core. Arquitecturas híbridas.
- Modelos y paradigmas de computación paralela.
- Estudio de complejidad y rendimiento energético de algoritmos paralelos, multicores, GPUs y heterogeneidad.
- Programación híbrida. (combinando mensajes y memoria compartida) en arquitecturas multiprocesador.
- Mapping y scheduling de aplicaciones paralelas sobre clusters y clouds.
- Análisis de los problemas de migración dinámica de datos y procesos.
- Balance de carga estático y dinámico. Técnicas.
- Evaluación de performance. Speedup, eficiencia, escalabilidad,consumo.
- Implementación de soluciones sobre diferentes modelos de arquitecturas homogéneas y heterogéneas.
- Virtualización y perfomance en Cloud. Comparación con clusters dedicados en HPC.
- Modelos y predicción de perfomance en arquitecturas de cluster y cloud utilicando programas sintéticos y ”firmas”.
- Detección y tolerancia a fallos en entornos de cómputo paralelo (Clusters y Clouds).
- Paralelización de servicios WEB, en particular los relacionados con “big data”.
- Integración de redes de sensores con arquitecturas de procesamiento paralelo.

Investigación experimental:
- Desarrollo y prueba de clusters basados en multicores y GPUs (homogéneos o híbridos).
- Análisis experimental de los modelos de predicción de perfomance prestacional y energética para clusters y clouds.
- Solución de casos complejos de algoritmos paralelos utilizando arquitecturas de cluster, multicluster y cloud.
- Técnicas de virtualización (estática y dinámica) para arquitecturas de cluster y grid.

- Estudios de detección y tolerancia a fallos en arquitecturas multiprocesador tipo cluster y cloud.

Productos y/o resultados finales esperados:
- Investigación aplicada orientada a la optimización del uso de arquitecturas multiprocesador distribuidas
(Clusters, Clouds, Redes de sensores inteligentes), en particular en HPC.
- Formar recursos humanos en los temas de Sistemas Distribuidos y Paralelos, incluyendo Tesis de Postgrado.


SubProyecto AM P2: Arquitecturas Multiprocesador en HPC: Transformación y Optimización de Código

Directores: Dr. Fernando G. Tinetti – Ing. Armando De Giusti

Objetivo:
Investigar temas específicos sobre procesamiento paralelo, enfocados a la optimización de algoritmos, en particular en aplicaciones de HPC.
Estos temas abarcan el desarrollo de patrones de resolución de clases de algoritmos paralelos, la transformación y optimización de código heredado en aplicaciones científicas, la utilización de herramientas de monitorización en tiempo real de la ejecución de código paralelo y la transformación/optimización de algoritmos paralelos sobre clusters, considerando la tecnología de procesadores de múltiples núcleos (multicores y GPUs) que se utiliza actualmente.

Líneas de estudio/investigación y desarrollo:
- Análisis de las características más complejas de los programas científicos. Se han analizado y se considera importante seguir analizando la estructura general y los detalles específicos del software que deben de tratarse para la optimización y mantenimiento al menor costo posible.
- Transformación de código. Una vez identificadas las características del software científico actualmente en producción, se deben proveer metodologías y herramientas automáticas orientadas a la optimización de rendimiento.
- Estudio de casos significativos de 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, de modo de mejorar el código y optimizar el rendimiento.
- En el nivel más bajo de abstracción del software se continúa con el estudio y el desarrollo de optimizaciones específicas 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.
- 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.
- Investigación en la utilización de la información directamente proveniente del hardware no solamente en cuanto a tiempo, sino en cuanto a eventos específicos que suceden en ejecución y que el propio hardware es capaz de monitorizar e informar para optimización (contadores de hardware).

Productos y/o resultados finales esperados:
- Investigar patrones de resolución de clases de problemas en cómputo paralelo.
- Desarrollar una metodología y herramientas automáticas para la transformación de código heredado, de modo de optimizar los algoritmos paralelos en el área de HPC.
- Mantener y optimizar la biblioteca de álgebra lineal en paralelo optimizada para cómputo en clusters que se dispone, adecuando las funciones a los clusters de multicores y/o GPUs.

- Formar recursos humanos en los temas de Sistemas Distribuidos y Paralelos, incluyendo Tesis de Postgrado.


SubProyecto AM P3: Arquitecturas Multiprocesador en Sistemas de Tiempo Real
Directores: Ing. Armando De Giusti – Ing. Horacio Villagarcía Wanza

Objetivo:
Investigar temas de sistemas distribuidos de tiempo real, en los que el procesamiento paralelo es altamente requerido.
Estos temas abarcan aspectos tales como las redes de sensores, la integración de datos de múltiples fuentes para tratamiento de modelos en tiempo real, el estudio de software de base y protocolos de comunicación para
sistemas distribuidos de tiempo real y el estudio de la eficiencia de prestaciones y energética en esta clase de sistemas.
Por otra parte interesa profundizar el manejo de los simuladores orientados a sistemas paralelos, en particular orientados a arquitecturas multiprocesador basadas en multicores/GPUs.

Líneas de estudio/investigación y desarrollo:
- Redes de sensores y redes de instrumentos comunicados en tiempo real con un server (cluster, multicluster, cloud) en el que se ejecuta un algoritmo paralelo aplicado a monitorear/controlar un sistema de tiempo real.
- Sistemas Operativos y Protocolos orientados a Tiempo Real. Planificación basada en restricciones de tiempo real duro, considerando el subsistema de comunicaciones.
- Aplicaciones en el área de robótica y de computación móvil.
- Aplicaciones en el área de modelos de sistemas complejos que controlan la toma de decisiones en tiempo real (Ej. emergencias hídricas).
- Simulación paralela. Modelos y Lenguajes orientados a la simulación de arquitecturas y sistemas complejos distribuidos.
- Análisis, detección y corrección de fallos físicos y lógicos en arquitecturas

Productos y/o resultados finales esperados:
- Investigación y desarrollo de conocimiento en tecnologías asociadas con sensores inteligentes (tipo RFID) y su aplicación en ambientes distribuidos.
- Investigación y desarrollo de conocimiento y aplicaciones en el área de Sistemas Operativos de Tiempo Real.
- Investigación y desarrollo de metodologías/herramientas (en coordinación con otro de los proyectos del III-LIDI) para aplicaciones de computación móvil aplicada a problemas de tiempo real.
- Aplicaciones de Simulación de modelos paramétricos en paralelo.
- Aplicaciones tolerantes a fallos en sistemas de tiempo real crítico.
- Formar recursos humanos en los temas de Sistemas Distribuidos y Paralelos, incluyendo Tesis de Postgrado.