Planificación concurrente de comandos en GPU
- López Albelda, Bernabé
- José María González Linares Director
- Nicolas Guil Matas Director
Universidade de defensa: Universidad de Málaga
Fecha de defensa: 05 de xuño de 2023
- Oscar Plata González Presidente/a
- José Carlos Cabaleiro Domínguez Secretario
- José Luis Abellan Miguel Vogal
Tipo: Tese
Resumo
En esta tesis se analiza el problema de planificar un conjunto de tareas sobre una GPU desde diferentes puntos de vista. Por una parte, se estudia el solapamiento de comandos de transferencia de datos con comandos de ejecución de kernels con el objetivo de minimizar el tiempo de ejecución (makespan). Por otra parte se comparan distintos métodos que permiten la ejecución solapada de varios kernels sobre la misma GPU buscando alcanzar diferentes objetivos como maximizar el rendimiento del sistema (system throughput), alcanzar la equidad (fairness) o garantizar una calidad de servicio (QoS). En el estudio sobre el solapamiento de comandos se busca identificar el orden de ejecución que resulte en un tiempo de procesamiento mínimo. Se aplican los conceptos de la teoría de planificación a este problema y se modela la ejecución concurrente de tareas en una GPU como un problema de tipo Flow Shop. Además, se desarrolla una nueva estrategia llamada NEH-GPU que combina una heurística previamente existente con un modelo de ejecución de tareas en GPU y se efectúan experimentos para validar su eficacia y robustez. En la tesis también se aborda el problema de la ejecución concurrente de kernels (CKE) analizándolo desde el punto de vista software y hardware. En este problema se busca planificar un conjunto de kernels para su coejecución y de esta forma mejorar el uso de los recursos hardware. Nuestro modelo software, denominado FlexSched, implementa políticas de planificación destinadas a maximizar el rendimiento en la ejecución de los kernels o a satisfacer requisitos de calidad de servicio (QoS) de la misma, como por ejemplo el tiempo máximo de respuesta de un kernel. Una ventaja importante de FlexSched es que requiere solo modificaciones mínimas en el código del kernel y utiliza un profiler on-line productivo para lograr una distribución eficiente de los recursos de la GPU. También se presenta un modelo hardware, HPSM (Hybrid Piecewise Slowdown Model), de planificación y ejecución concurrente de kernels en una GPU que permite mejorar el tiempo de ejecución de un conjunto de kernels y aplicar políticas orientadas al fairness. Este modelo puede predecir el progreso normalizado de los kernels y redistribuir la asignación de recursos para alcanzar los objetivos marcados.