Logo 34 años
Logo Info UNLP Logo CIC

11/F024 – Computación de Alto Desempeño: Arquitecturas, Algoritmos, Métricas de rendimiento y Aplicaciones en HPC, Big Data, Robótica, Señales y Tiempo Real

Director: Dr. Marcelo Naiouf

Codirector: Ing. Armando E. De Giusti 

Objetivos generales:

  • Estudiar aspectos de arquitecturas y algoritmos en computación de alto desempeño.
  • Caracterizar las arquitecturas multiprocesador para HPC, homogéneas e híbridas, analizando técnicas para el desarrollo de código eficiente sobre las mismas.
  • Estudiar, desarrollar y aplicar algoritmos paralelos y distribuidos en HPC (incluyendo herramientas para la transformación de código heredado), evaluando la performance de la paralelización de aplicaciones sobre grandes volúmenes de datos (big data) y cómputo intensivo.
  • Analizar las métricas de performance para las arquitecturas multiprocesador, considerando escalabilidad, rendimiento computacional y energético, y tolerancia a fallos.
  • Tratar aplicaciones de cómputo multiprocesador distribuido, en el área de los Sistemas de Tiempo Real y la robótica.
  • Analizar y proponer soluciones en el área de Cloud Robotics.
  • Analizar y proponer metodologías y productos en el campo de los Sistemas de Tiempo Real y Robótica.
  • Analizar y proponer modelos matemáticos que permitan caracterizar fenómenos y sistemas particulares, proponiendo soluciones numéricas viables para resolver estos modelos.
  • Aplicar la investigación de base a problemas concretos, buscando optimizar las soluciones paralelas.
  • Formar recursos humanos a nivel de grado y postgrado en los temas del proyecto.

Cabe hacer notar que el proyecto planteado actúa de manera coordinada con otros dos proyectos presentados a esta convocatoria por el III-LIDI, en temas de Ingeniería de Software y Sistemas Inteligentes.

A continuación, se detallan los objetivos y productos finales esperados, por subproyecto.


SubProyecto CAD-1. Arquitecturas Multiprocesador en Computación de Alto Desempeño.

Director: Ing. Armando De Giusti

Codirectores: Esp. Franco Chichizola e Ing. Horacio Villagarcía Wanza 

Objetivo 

  • Caracterizar las arquitecturas multiprocesador orientadas a computación de alto desempeño, analizando técnicas para el desarrollo de código eficiente sobre las mismas.
  • Analizar métricas de performance para diferentes arquitecturas multiprocesador, considerando rendimiento computacional y energético.
  • Estudiar la conformación de clusters y clouds a partir de configuraciones homogéneas e híbridas de multiprocesadores. Analizar la performance de aplicaciones sobre los mismos, considerando eficiencia computacional/energética y escalabilidad, así como la tolerancia a fallos.

Líneas de Investigación y desarrollo

  • Estudio y caracterización de arquitecturas multicore y many-core (procesadores MIC y GPU). Métricas de rendimiento y análisis de técnicas para desarrollar código optimizado sobre ellas.
  • Estudio y caracterización de arquitecturas FPGA. Métricas de rendimiento y análisis de técnicas para desarrollar código optimizado sobre ellas.
  • Estudio y caracterización de arquitecturas multiprocesador asimétricas. Métricas de rendimiento y técnicas para optimizar código en ellas.
  • Arquitecturas híbridas (diferentes combinaciones de clusters, multicores, manycores y FPGAs). Diseño de algoritmos paralelos sobre las mismas.
  • Arquitecturas paralelas configuradas como Clusters y Clouds. Software de base y Aplicaciones.
  • Desarrollo de algoritmos de planificación de procesos orientado a procesadores asimétricos para optimizar el rendimiento general. Análisis en los diferentes niveles: sistema operativo, compiladores, técnicas de programación.
  • Consumo energético en diferentes arquitecturas multiprocesador. Integración de métricas de rendimiento computacional y energético. Predicción de performance de aplicaciones paralelas.
  • Investigación de técnicas de tolerancia a fallas en Arquitecturas de Cluster y Cloud.
  • Desarrollo de aplicaciones concretas (numéricas y no numéricas) sobre diferentes máquinas paralelas utilizando técnicas de optimización adecuadas a cada arquitectura.
  • Cloud Computing. Sistemas inteligentes distribuidos de tiempo real aprovechando la potencia de cómputo del Cloud (Cloud Robotics). 

Productos y/o Resultados finales esperados 

  • Investigación aplicada orientada a la optimización del uso de arquitecturas multiprocesador para computación de alto desempeño, considerando las nuevas tendencias tecnológicas y la importancia creciente del tema consumo energético y tolerancia a fallas.
  • Formar recursos humanos en los temas de Computación de Alto Desempeño, incluyendo Tesis de Postgrado.

SubProyecto CAD-2. Algoritmos paralelos en computación de alto desempeño. Fundamentos, construcción y evaluación de aplicaciones.

Director: Dr. Marcelo Naiouf

Codirector: Dra. Laura De Giusti

Objetivo

Investigar en temas de cómputo paralelo y distribuido de alto desempeño, tanto en lo referido a los fundamentos como a la construcción y evaluación de las aplicaciones. Esto incluye los problemas de software asociados con el uso de arquitecturas multiprocesador.

Interesa la construcción, evaluación y optimización de soluciones utilizando algoritmos concurrentes, paralelos y distribuidos sobre diferentes plataformas de software y arquitecturas con múltiples procesadores (multicore, clusters, GPU, FPGA, entornos cloud), los lenguajes y paradigmas de programación paralela (puros e híbridos a distintos niveles), los modelos y paradigmas paralelos, la asignación de procesos a procesadores, el balance de la carga de procesamiento, y las métricas de evaluación de complejidad y rendimiento (speedup, eficiencia, escalabilidad, consumo energético, costo de programación).

Se propone aplicar los conceptos en problemas numéricos y no numéricos de cómputo intensivo y/o sobre grandes volúmenes de datos (aplicaciones científicas, búsquedas, simulaciones, imágenes, bioinformática, big data, etc).

Líneas de Estudio/Investigación y Desarrollo

  • Paralelización de algoritmos secuenciales. Diseño y optimización de algoritmos.
  • Comparación de lenguajes y bibliotecas para procesamiento paralelo y distribuido.
  • Estudio de complejidad de algoritmos paralelos, considerando multicore y heterogeneidad.
  • Modelos y paradigmas de computación paralela. Modelo MapReduce.
  • Predicción de performance de algoritmos paralelos.
  • Métricas del paralelismo.
  • Arquitecturas multicore y many-core. Arquitecturas FPGA. Arquitecturas de bajo costo.
  • Arquitecturas híbridas (combinaciones de multicores y GPUs) y Arquitecturas heterogéneas.
  • Técnicas de programación sobre modelos híbridos
  • Técnicas de programación sobre arquitecturas many-core (GPU y Xeon Phi) y FPGA
  • Técnicas para soluciones de HPC en cloud.
  • Lenguajes y Estructuras de Datos para nuevas arquitecturas de cómputo paralelo.
  • Exploración de nuevos lenguajes y modelos de programación para HPC.
  • Mapeo de procesos. Balance de carga estático y dinámico. Técnicas.
  • Desarrollo de soluciones paralelas a problemas de cómputo intensivo y/o con grandes volúmenes de datos (aplicaciones científicas, búsquedas, simulaciones, imágenes, realidad virtual y aumentada, bioinformática, big data). sobre diferentes modelos de arquitectura homogéneas y heterogéneas (multicores, clusters, GPU, MIC, FPGA y cloud). Ajuste del modelo de software al modelo de hardware a fin de optimizar el sistema paralelo.
  • Evaluación de rendimiento prestacional (speedup, eficiencia, escalabilidad), eficiencia energética y costo de programación de las diferentes soluciones implementadas teniendo en cuenta las arquitecturas y las herramientas de programación utilizadas.
  • Ambientes para la enseñanza de programación concurrente.

Productos y/o Resultados finales esperados

  • Realizar investigación aplicada en algoritmos paralelos para computación de alto desempeño sobre diferentes arquitecturas de soporte actuales, tanto homogénea como heterogénea, evaluando diferentes métricas de rendimiento.
  • Formar recursos humanos en los temas de Computación de Alto Desempeño, incluyendo Tesis de Postgrado a nivel de Maestría y Doctorado y Trabajos de Especialización.

SubProyecto CAD-3. Procesamiento para problemas de Tiempo Real / Robótica

Director:       Dr. Fernando Tinetti

Codirector:   Mg. Fernando Romero

 Objetivo 

Investigar y desarrollar metodología de cómputo destinada a Sistemas de Tiempo Real (sistemas en los cuales las restricciones temporales en los plazos son estrictas), atendiendo en especial los aspectos relacionados con planificación de tareas y comunicaciones, realizando implementaciones de robots y en general, sistemas de adquisición y control.

Líneas de Estudio/Investigación y Desarrollo 

  • Optimización de cómputo, utilización de recursos y planificación de procesos para sistemas de tiempo real.
  • Verificación y validación de diferentes plataformas de hardware, a fin de encontrar los más adecuados, como así también plantear mejoras en el mismo, utilizando simulaciones y sistemas reales a los cuales se les medirá rendimiento tanto en lo temporal como en el consumo de energía.
  • Estudio y construcción de redes de sensores, utilizando como plataforma microcontroladores interactuando con una PC, utilizando tanto comunicaciones cableadas en los protocolos de comunicaciones MODBUS y CANBUS como inalámbricas, sea utilizando RF, Bluetooh o WiFi.
  • Diseño y construcción de vehículos, no tripulados, estudiando sistemas de navegación y odometría.

Metas/ Productos y/o Resultados finales esperados

  • Benchmark y verificación de rendimiento tanto de plataformas de hardware (microcontroladores, dispositivos de comunicación, actuadores y sensores) como de software (Sistemas Operativos de Tiempo Real y lenguajes – compiladores). La verificación de rendimiento implica desarrollo de metodología y artefactos para la medición de consumo y tiempos de latencia, en particular del cómputo y entrada/salida.
  • Vehículos no tripulados con sistemas de navegación que le permiten seguir trayectorias, reconocer ambiente, evitar obstáculos.
  • Red de sensores con dispositivos heterogéneos, a diferentes niveles: local y remoto.

SubProyecto CAD-4. Modelos y métodos computacionales. Procesamiento de señales y reconocimiento de patrones.

Directores:    MSc. Oscar Bria  Mg. Javier Giacomantone 

Objetivo 

Analizar y proponer modelos matemáticos que permitan caracterizar fenómenos y sistemas particulares. Estudiar y proponer soluciones numéricas viables para resolver estos modelos. Según la línea de investigación y el tema particular abordado será necesario estudiar distintos tipos de modelos: descriptivo o predictivo, determinístico o probabilístico, dinámico o estático y eventualmente lineal o no lineal.

Los resultados obtenidos podrán ser de aplicación en problemas de diversas áreas tales como big data, análisis de imágenes o reconocimiento de patrones.

 Líneas de Estudio e Investigación

  • Modelos en reconocimiento estadístico de patrones.
  • Modelos en análisis de señales e imágenes en particular.
  • Modelos que permitan evaluar el desempeño e integridad de sistemas.

Resultados finales esperados

  • Métodos alternativos para detección de valores atípicos (outliers).
  • Métodos de segmentación espectral en imágenes de rango.
  • Métodos de análisis y generación de descriptores.
  • Segmentación adaptiva. Modelos deformables.
  • Evaluación de la integridad en el sistema GBAS (Ground Based Augmentation System), que provee corrección diferencial en tierra.
  • Evaluación de la disponibilidad del sistema GBAS.
  • Modelos y métodos basados en núcleos dispersos.
  • Métodos basados en máquinas de soporte vectorial.
  • Análisis de datos GNSS (Global Navigation Satellite System) en busca de anomalías.
  • Métodos de selección de características en SVM (Support Vector Machines).

Modelos multidimensionales basados en filtros anisotrópicos.