Habilitar paralelización en QEMU para plataformas virtuales de co-simulación hardware/software
Autores: Díaz, Edel; Mateos, Raúl; Bueno, Emilio J.; Nieto, Rubén
Idioma: Inglés
Editor: MDPI
Año: 2021
Acceso abierto
Artículo científico
2021
Habilitar paralelización en QEMU para plataformas virtuales de co-simulación hardware/software
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Número de núcleos
Verificación
Sistemas en un Chip Multi-Procesador
Plataformas Virtuales
Mecanismo de sincronización
Emulador de software
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 31
Citaciones: Sin citaciones
Actualmente, la tendencia es aumentar el número de núcleos por chip. Este crecimiento se aprecia en los Sistemas-en-Chip Multiprocesador (MPSoC), compuestos por más núcleos en arquitecturas heterogéneas y homogéneas en los últimos años. Por lo tanto, la dificultad de verificación de este tipo de sistema ha sido grande. Las Plataformas Virtuales de Co-simulación hardware/software (VP) se presentan como una solución perfecta para abordar esta complejidad, permitiendo la verificación mediante simulación/emulación de software y hardware en el mismo entorno. Algunos trabajos han paralelizado el emulador de software para reducir los tiempos de verificación. Un ejemplo de esta paralelización es la herramienta QEMU (Quick EMUlator). Sin embargo, no existe una solución para sincronizar QEMU con el simulador de hardware en este nuevo modo paralelo. Este trabajo analiza los emuladores de software actuales y presenta un nuevo método para permitir una sincronización externa de QEMU en su modo paralelizado. Se tienen en cuenta los detalles temporales de los núcleos. Además, se presenta un análisis de rendimiento del emulador de software con el nuevo mecanismo de sincronización, utilizando: (1) un arranque de Linux para MPSoC Zynq-7000 (ARM Cortex-A9 de doble núcleo) (Xilinx, San José, CA, EE. UU.); (2) una co-simulación FPGA-Linux de un sistema de monitoreo de red eléctrica que posteriormente se implementa en una aplicación industrial. Los resultados muestran que el novedoso mecanismo de sincronización no añade ninguna carga computacional apreciable y permite el uso de QEMU paralelizado en plataformas virtuales de co-simulación hardware/software.
Descripción
Actualmente, la tendencia es aumentar el número de núcleos por chip. Este crecimiento se aprecia en los Sistemas-en-Chip Multiprocesador (MPSoC), compuestos por más núcleos en arquitecturas heterogéneas y homogéneas en los últimos años. Por lo tanto, la dificultad de verificación de este tipo de sistema ha sido grande. Las Plataformas Virtuales de Co-simulación hardware/software (VP) se presentan como una solución perfecta para abordar esta complejidad, permitiendo la verificación mediante simulación/emulación de software y hardware en el mismo entorno. Algunos trabajos han paralelizado el emulador de software para reducir los tiempos de verificación. Un ejemplo de esta paralelización es la herramienta QEMU (Quick EMUlator). Sin embargo, no existe una solución para sincronizar QEMU con el simulador de hardware en este nuevo modo paralelo. Este trabajo analiza los emuladores de software actuales y presenta un nuevo método para permitir una sincronización externa de QEMU en su modo paralelizado. Se tienen en cuenta los detalles temporales de los núcleos. Además, se presenta un análisis de rendimiento del emulador de software con el nuevo mecanismo de sincronización, utilizando: (1) un arranque de Linux para MPSoC Zynq-7000 (ARM Cortex-A9 de doble núcleo) (Xilinx, San José, CA, EE. UU.); (2) una co-simulación FPGA-Linux de un sistema de monitoreo de red eléctrica que posteriormente se implementa en una aplicación industrial. Los resultados muestran que el novedoso mecanismo de sincronización no añade ninguna carga computacional apreciable y permite el uso de QEMU paralelizado en plataformas virtuales de co-simulación hardware/software.