Integration of a CGRA Accelerator with a CVA6 RISC-V Core for the Cloud-edge Continuum

The computing continuum is a new paradigm that views the cloud, edge, and fog layers of the Internet of Things as part of a single space where computing tasks can be scheduled on various devices [1]. In this context, edge devices could benefit from application-class processors and reconfigurable accelerators to provide further adaptability and local processing capabilities.
This master’s thesis has been elaborated at the Center for Industrial Electronics (CEI) of the Universidad Politécnica de Madrid (UPM). It targets the development of adaptable edge nodes for the cloud-edge continuum, applying technologies related to Coarse-Grain Reconfigurable Arrays (CGRAs) and RISC-V processors. This work has been carried out in the context of the MYRTUS project [2], funded by the European Union with grant number 101135183.
More specifically, this master’s thesis aims to integrate a CGRA accelerator previously developed at CEI [3] with an application-class RISC-V processor on a System on Chip (SoC) and evaluate its performance when accelerating a set of tasks. The resulting system will then serve as a starting point for developing an edge node for the cloud-edge continuum.
To do so, a state-of-the-art SoC platform with an application-grade RISC-V processor has been selected. An FPGA emulation of this platform is started on a development board available at CEI, and the hardware needed to integrate the CGRA is developed.
A kernel module is written so that the CGRA accelerator may be used from within a Linux user process. This allows to take advantage of the application-class processor, by running Linux, and of the hardware acceleration provided by the CGRA.
Finally, accelerator performance is evaluated both in bare-metal and Linux contexts, including a comparison with purely software solutions (i.e., without hardware acceleration).
—————————————————————————————————————————–
El continuo cloud-edge es un nuevo paradigma que engloba las capas del Internet de las cosas: cloud, edge y fog en un único espacio, donde es posible distribuir tareas de cómputo entre los dispositivos disponibles [1]. En este ámbito resulta ventajoso dotar a los dispositivos del edge de procesadores de aplicaciones y de aceleradores reconfigurables, aumentando su capacidad de proceso y adaptación.
Este trabajo de fin de máster ha sido elaborado en el Centro de Electrónica Industrial (CEI) de la Universidad Politécnica de Madrid (UPM). Su objetivo es el desarrollo de nodos adaptables para el continuo cloud-edge, empleando tecnologías relacionadas con los dispositivos reconfigurables de grano grueso (CGRA por sus siglas en inglés) y procesadores RISC-V. El trabajo se ha desarrollado en el contexto del proyecto MYRTUS [2], financiado por la Unión Europea, con número de subvención 101135183.
El presente trabajo aspira integrar un acelerador de tipo CGRA desarrollado previamente en el CEI [3] junto con un procesador de aplicaciones RISC-V, en un sistema en chip (System on Chip, SoC), y evaluar la aceleración proporcionada por el CGRA en una serie de tareas. El sistema resultante constituirá un punto de partida para el desarrollo de un nodo edge para el continuo cloud-edge.
Para llevar a cabo lo anterior, se selecciona de entre el estado del arte una plataforma para el desarrollo de SoCs portando un procesador de aplicaciones RISC-V. Una emulación en FPGA de esta plataforma se pone en marcha en una placa de desarrollo disponible en el CEI, y se realizan los desarrollos hardware necesarios para la integración del CGRA en dicha plataforma.
Además, se escribe un módulo para el núcleo de Linux que permite el uso del CGRA desde un proceso de usuario. Esto hace posible sacar partido al procesador de aplicaciones, capaz de correr Linux, y a la aceleración hardware proporcionada por el CGRA.
Por último, el rendimiento del acelerador se evalúa en un contexto sin sistema operativo (bare-metal) y en Linux. Los resultados se comparan con una solución puramente software, sin aceleración hardware.

​The computing continuum is a new paradigm that views the cloud, edge, and fog layers of the Internet of Things as part of a single space where computing tasks can be scheduled on various devices [1]. In this context, edge devices could benefit from application-class processors and reconfigurable accelerators to provide further adaptability and local processing capabilities.
This master’s thesis has been elaborated at the Center for Industrial Electronics (CEI) of the Universidad Politécnica de Madrid (UPM). It targets the development of adaptable edge nodes for the cloud-edge continuum, applying technologies related to Coarse-Grain Reconfigurable Arrays (CGRAs) and RISC-V processors. This work has been carried out in the context of the MYRTUS project [2], funded by the European Union with grant number 101135183.
More specifically, this master’s thesis aims to integrate a CGRA accelerator previously developed at CEI [3] with an application-class RISC-V processor on a System on Chip (SoC) and evaluate its performance when accelerating a set of tasks. The resulting system will then serve as a starting point for developing an edge node for the cloud-edge continuum.
To do so, a state-of-the-art SoC platform with an application-grade RISC-V processor has been selected. An FPGA emulation of this platform is started on a development board available at CEI, and the hardware needed to integrate the CGRA is developed.
A kernel module is written so that the CGRA accelerator may be used from within a Linux user process. This allows to take advantage of the application-class processor, by running Linux, and of the hardware acceleration provided by the CGRA.
Finally, accelerator performance is evaluated both in bare-metal and Linux contexts, including a comparison with purely software solutions (i.e., without hardware acceleration).
—————————————————————————————————————————–
El continuo cloud-edge es un nuevo paradigma que engloba las capas del Internet de las cosas: cloud, edge y fog en un único espacio, donde es posible distribuir tareas de cómputo entre los dispositivos disponibles [1]. En este ámbito resulta ventajoso dotar a los dispositivos del edge de procesadores de aplicaciones y de aceleradores reconfigurables, aumentando su capacidad de proceso y adaptación.
Este trabajo de fin de máster ha sido elaborado en el Centro de Electrónica Industrial (CEI) de la Universidad Politécnica de Madrid (UPM). Su objetivo es el desarrollo de nodos adaptables para el continuo cloud-edge, empleando tecnologías relacionadas con los dispositivos reconfigurables de grano grueso (CGRA por sus siglas en inglés) y procesadores RISC-V. El trabajo se ha desarrollado en el contexto del proyecto MYRTUS [2], financiado por la Unión Europea, con número de subvención 101135183.
El presente trabajo aspira integrar un acelerador de tipo CGRA desarrollado previamente en el CEI [3] junto con un procesador de aplicaciones RISC-V, en un sistema en chip (System on Chip, SoC), y evaluar la aceleración proporcionada por el CGRA en una serie de tareas. El sistema resultante constituirá un punto de partida para el desarrollo de un nodo edge para el continuo cloud-edge.
Para llevar a cabo lo anterior, se selecciona de entre el estado del arte una plataforma para el desarrollo de SoCs portando un procesador de aplicaciones RISC-V. Una emulación en FPGA de esta plataforma se pone en marcha en una placa de desarrollo disponible en el CEI, y se realizan los desarrollos hardware necesarios para la integración del CGRA en dicha plataforma.
Además, se escribe un módulo para el núcleo de Linux que permite el uso del CGRA desde un proceso de usuario. Esto hace posible sacar partido al procesador de aplicaciones, capaz de correr Linux, y a la aceleración hardware proporcionada por el CGRA.
Por último, el rendimiento del acelerador se evalúa en un contexto sin sistema operativo (bare-metal) y en Linux. Los resultados se comparan con una solución puramente software, sin aceleración hardware. Read More