Diseño de un banco de pruebas para un sistema multiprocesador heterogéneo ARM/RISC-V

Bookmark (0)
Please login to bookmark Close

El proyecto titulado “Diseño de un banco de pruebas para un sistema multiprocesador heterogéneo ARM/RISC-V” viene impulsado por la situación global actual donde vivimos en un mundo cada vez más digitalizado, la capacidad para procesar y analizar grandes volúmenes de datos se ha convertido en un desafío crítico. Las tecnologías emergentes, como el IoT (Internet of Things) o las novedosas AI (Artificial Intelligence) generan cantidades masivas de datos que requieren soluciones eficientes y rápidas para su tratamiento.
Para lograr estos objetivos, se han adoptado arquitecturas multiprocesador heterogéneas, que combinan procesadores de propósito general y procesadores especializados los cuales permiten manejar grandes volúmenes de datos de manera eficiente. Dentro de este campo una solución destacada es PULP (Parallel Ultra-Low-Power), una arquitectura desarrollada por ETH Zurich y la Universidad de Bolonia, basada en la ISA (Instruction Set Architecture) RISC-V y enfocada en hardware y software libre. Inicialmente orientada al IoT, PULP también es adecuada para aplicaciones de alto rendimiento gracias a su flexibilidad. Dentro del ecosistema PULP, la plataforma HERO (Heterogeneous Research Platform) ha surgido como una solución orientada específicamente a sistemas de altas prestaciones, combinando procesadores y aceleradores especializados e incluyendo herramientas de programación basadas en el estándar OpenMP, facilitando el desarrollo y la optimizando aplicaciones paralelas complejas.
Este proyecto se ha llevado a cabo en GDEM (Grupo de Diseño Electrónico y Microelectrónico) que forma parte del CITSEM (Centro de Investigación en Tecnologías Software y Sistemas Multimedia para la Sostenibilidad), centrándose en prototipar el sistema HERO en la tarjeta de desarrollo ZCU102, la cual cuenta con un chip XCZU9EG de la familia Zynq UltraScale+ de Xilinx, que forma parte de la arquitectura MPSoC. Posteriormente se han diseñado un conjunto de pruebas software que ejecutadas nos han servido para averiguar la relación en el intercambio de datos entre el procesador host y la lógica programable que contiene el chip antes mencionado.
Tras la realización de este proyecto, que incluye la implementación de la plataforma HERO en la tarjeta de desarrollo, así como el diseño y la ejecución de programas específicos para medir tanto el rendimiento como los tiempos de ejecución, se han llevado a cabo estudios exhaustivos que han permitido caracterizar el procesamiento y el intercambio de datos entre las arquitecturas ARM del host y el acelerador RISC-V. Los resultados obtenidos han revelado tanto las capacidades como las limitaciones de la comunicación entre ambas arquitecturas, proporcionando una base sólida para el diseño de soluciones futuras basadas en plataformas heterogéneas. Además, estos resultados han aportado valiosos conocimientos sobre las mejores prácticas en programación e implementación de técnicas de paralelización, con el fin de mejorar el rendimiento en aplicaciones intensivas.

​El proyecto titulado “Diseño de un banco de pruebas para un sistema multiprocesador heterogéneo ARM/RISC-V” viene impulsado por la situación global actual donde vivimos en un mundo cada vez más digitalizado, la capacidad para procesar y analizar grandes volúmenes de datos se ha convertido en un desafío crítico. Las tecnologías emergentes, como el IoT (Internet of Things) o las novedosas AI (Artificial Intelligence) generan cantidades masivas de datos que requieren soluciones eficientes y rápidas para su tratamiento.
Para lograr estos objetivos, se han adoptado arquitecturas multiprocesador heterogéneas, que combinan procesadores de propósito general y procesadores especializados los cuales permiten manejar grandes volúmenes de datos de manera eficiente. Dentro de este campo una solución destacada es PULP (Parallel Ultra-Low-Power), una arquitectura desarrollada por ETH Zurich y la Universidad de Bolonia, basada en la ISA (Instruction Set Architecture) RISC-V y enfocada en hardware y software libre. Inicialmente orientada al IoT, PULP también es adecuada para aplicaciones de alto rendimiento gracias a su flexibilidad. Dentro del ecosistema PULP, la plataforma HERO (Heterogeneous Research Platform) ha surgido como una solución orientada específicamente a sistemas de altas prestaciones, combinando procesadores y aceleradores especializados e incluyendo herramientas de programación basadas en el estándar OpenMP, facilitando el desarrollo y la optimizando aplicaciones paralelas complejas.
Este proyecto se ha llevado a cabo en GDEM (Grupo de Diseño Electrónico y Microelectrónico) que forma parte del CITSEM (Centro de Investigación en Tecnologías Software y Sistemas Multimedia para la Sostenibilidad), centrándose en prototipar el sistema HERO en la tarjeta de desarrollo ZCU102, la cual cuenta con un chip XCZU9EG de la familia Zynq UltraScale+ de Xilinx, que forma parte de la arquitectura MPSoC. Posteriormente se han diseñado un conjunto de pruebas software que ejecutadas nos han servido para averiguar la relación en el intercambio de datos entre el procesador host y la lógica programable que contiene el chip antes mencionado.
Tras la realización de este proyecto, que incluye la implementación de la plataforma HERO en la tarjeta de desarrollo, así como el diseño y la ejecución de programas específicos para medir tanto el rendimiento como los tiempos de ejecución, se han llevado a cabo estudios exhaustivos que han permitido caracterizar el procesamiento y el intercambio de datos entre las arquitecturas ARM del host y el acelerador RISC-V. Los resultados obtenidos han revelado tanto las capacidades como las limitaciones de la comunicación entre ambas arquitecturas, proporcionando una base sólida para el diseño de soluciones futuras basadas en plataformas heterogéneas. Además, estos resultados han aportado valiosos conocimientos sobre las mejores prácticas en programación e implementación de técnicas de paralelización, con el fin de mejorar el rendimiento en aplicaciones intensivas. Read More