Impacto del Paralelismo de Memoria en los Protocolos de Coherencia para GPUs

Autores UPV
Año
CONGRESO Impacto del Paralelismo de Memoria en los Protocolos de Coherencia para GPUs

Abstract

Actualmente, existe un gran número de trabajos de investigación que abordan el uso de las GPUs en la computación de propósito general o General Purpose computing on GPUs (GPGPU), debido a la gran mejora de eficiencia energética que éstas presentan sobre las CPUs convencionales. Esta incursión de las GPUs en el campo del computo general, asociado tradicionalmente a las CPUs, hace muy interesante la combinación de ambas arquitecturas para conseguir procesadores más potentes y eficientes. Una de los principales aspectos de diseño en el sistema de memoria de una GPU, ya sea privado a esta o compartido con la CPU, es el protocolo de coherencia. Existen diversas propuestas e implementaciones de protocolos de coherencia para GPUs desarrollados por la academia o la industria. Las prestaciones ofrecidas por estos protocolos varían en función de los patrones de acceso a memoria de las aplicaciones y del grado de paralelismo ofrecido por el sistema de memoria. En particular, uno de los factores que limita este grado de paralelismo es el número de Miss Status Holding Registers (MSHRs). Este artículo caracteriza el comportamiento 3 protocolos de coherencia distintos cuando se utilizan en el subsistema de memoria de una GPU típica y analiza como influye la variación del número de MSHRs en las prestaciones. Los resultados muestran que los protocolos específicamente diseñados para GPUs pueden acelerar hasta 4 veces la ejecución de algunas aplicaciones respecto al protocolo MOESI y que al contrario que en los sistemas de memoria de las CPUs, un aumento en el número de MSHRs disponibles puede llegar a reducir las prestaciones dependiendo del protocolo usado. Por último, el estudio de caracterización demuestra que de entre las métricas estudiadas, la más útil para predecir el comportamiento de las aplicaciones es la latencia de memoria, por encima del MPKI o la tasa de acierto de las caches.