Influencia de la Memoria en el Rendimiento de una Arquitectura GPGPU
Description
La GPU es un dispositivo con gran potencial de rendimiento para la ejecución de aplicaciones de física, medicina, biología, etc.
Aun así, dista mucho de ser perfecta y uno de los puntos principales donde se produce esa imperfección es en la jerarquía de memoria. La gran cantidad de hilos ejecutándose sobre este dispositivo genera una exponencial cantidad de accesos a memoria, provocando que las cachés y la memoria principal se ahoguen, actuando como cuellos de botella y evitando que la GPU alcance su máximo potencial.
La investigación presentada a continuación realiza un análisis de la jerarquía de memoria, encontrando que el cuello de botella principal que hay que resolver se encuentra en los niveles superiores de la memoria (memoria caché L1 y red de interconexión) y que los niveles inferiores (L2 y memoria principal) tienen una menor repercusión en este problema.
Además, analiza los algoritmos de planificación asentando las bases de lo que puede ser un planificador inteligente que se adapte a la realidad de cada aplicación y que potencialmente podría conseguir mejoras de hasta un 64\% en el rendimiento de algunas aplicaciones.
Finalmente, este artículo, utilizando todos los datos obtenidos durante la investigación, plantea nuevos horizontes en la mejora de la jeraquía de memoria de las GPUs, como la incorporación de protocolos de coherencia en las cachés L1 o las técnicas de prefetching para intentar mejorar la tasa de aciertos del nivel congestionado.
Files
gpgpu-jp17.pdf
Files
(997.4 kB)
Name | Size | Download all |
---|---|---|
md5:2d5203ddbf7454794df212c4593b16f6
|
997.4 kB | Preview Download |