Modelo acelerador HAL-ASOS: elasticidad evolutiva por diseño
Autores: Silva, Vítor; Pinto, Paulo; Cardoso, Paulo; Cabral, Jorge; Tavares, Adriano
Idioma: Inglés
Editor: MDPI
Año: 2021
Acceso abierto
Artículo científico
2021
Modelo acelerador HAL-ASOS: elasticidad evolutiva por diseño
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Arquitectura de acelerador propuesta
Modelo de acelerador HAL-ASOS
Unidad de control de microcódigo
Matrices de compuertas programables en campo (FPGAs)
Integración del sistema operativo Linux
Tarea de Hardware.
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 41
Citaciones: Sin citaciones
Para abordar la integración de hilos de software y aceleradores de hardware en los modelos de programación del Sistema Operativo (SO) Linux, se propone una arquitectura de acelerador basada en llamadas al sistema de hardware micro-programables, que exporta completamente estos recursos al espacio de usuario del SO Linux a través de un sistema de archivos virtual específico de diseño. El modelo de acelerador HAL-ASOS propuesto se divide en una Tarea de Hardware definida por el usuario y un Kernel de Hardware parametrizable con tres canales de transferencia diferenciados, con el objetivo de explorar interfaces tecnológicas de BUS distintas y promover el acelerador a una unidad informática de primera clase. Este documento se centra en el Kernel de Hardware y principalmente en su unidad de control de microcódigo, que aprovechará la elasticidad para evolucionar naturalmente con el SO Linux a través de capacidades diferenciadoras clave de matrices de compuertas programables en campo (FPGAs) en comparación con el estado del arte. Para cumplir con la naturaleza evolutiva del SO Linux, o cualquier característica incremental de Tarea de Hardware, el modelo propuesto genera fallos de página que señalan errores en tiempo de ejecución que se manejan a nivel del kernel como parte del tiempo de ejecución del sistema de archivos virtual. Para evaluar la programabilidad del modelo de acelerador y su rendimiento, se implementó una aplicación del lado del cliente basada en el algoritmo AES de 128 bits. Los experimentos demuestran un enfoque de diseño flexible en términos de reconfiguración de hardware y software y aumentos significativos de rendimiento consistentes con las crecientes demandas de procesamiento o frecuencias de diseño de reloj.
Descripción
Para abordar la integración de hilos de software y aceleradores de hardware en los modelos de programación del Sistema Operativo (SO) Linux, se propone una arquitectura de acelerador basada en llamadas al sistema de hardware micro-programables, que exporta completamente estos recursos al espacio de usuario del SO Linux a través de un sistema de archivos virtual específico de diseño. El modelo de acelerador HAL-ASOS propuesto se divide en una Tarea de Hardware definida por el usuario y un Kernel de Hardware parametrizable con tres canales de transferencia diferenciados, con el objetivo de explorar interfaces tecnológicas de BUS distintas y promover el acelerador a una unidad informática de primera clase. Este documento se centra en el Kernel de Hardware y principalmente en su unidad de control de microcódigo, que aprovechará la elasticidad para evolucionar naturalmente con el SO Linux a través de capacidades diferenciadoras clave de matrices de compuertas programables en campo (FPGAs) en comparación con el estado del arte. Para cumplir con la naturaleza evolutiva del SO Linux, o cualquier característica incremental de Tarea de Hardware, el modelo propuesto genera fallos de página que señalan errores en tiempo de ejecución que se manejan a nivel del kernel como parte del tiempo de ejecución del sistema de archivos virtual. Para evaluar la programabilidad del modelo de acelerador y su rendimiento, se implementó una aplicación del lado del cliente basada en el algoritmo AES de 128 bits. Los experimentos demuestran un enfoque de diseño flexible en términos de reconfiguración de hardware y software y aumentos significativos de rendimiento consistentes con las crecientes demandas de procesamiento o frecuencias de diseño de reloj.