[EN] The constant need to increase computing capacity and reduce processors energy intake has led manufacturers to design heterogeneous systems, including GPU in the same chip as the CPU. From the computational point of ...[+]
[EN] The constant need to increase computing capacity and reduce processors energy intake has led manufacturers to design heterogeneous systems, including GPU in the same chip as the CPU. From the computational point of view, GPUs are far more efficient in the execution of streaming type applications. Besides, they don't include logic to support the execution of instructions out of order, so they are more efficient from an energy point of view. To make the most of the performance on each type of architecture (CPU and GPU), we need to efficiently distribute the computation between the two platforms. In the programming of heterogeneous systems it's important how memory for different architectures is shared. In this context new research challenges arise in supporting consistency in the memory hierarchy. Existing coherence protocols are mainly oriented to CPU applications and require to be adapted or replaced by new protocols that take into account the particular characteristics of the GPU applications access patterns. This paper presents a study on the behavior of several coherence protocols for GPUs, a commercial one, and an academic one. Both protocols perfrmance are analyzed by varying the number of memory accesses in flight supported. The results show that the best protocol depends on the type of application and the number of supported requests.
[-]
[ES] La constante necesidad de aumentar la capacidad de cómputo y reducir el
consumo energético de los procesadores ha llevado a los fabricantes a diseñar
sistemas heterogéneos, que incluyen la GPU en el mismo chip que ...[+]
[ES] La constante necesidad de aumentar la capacidad de cómputo y reducir el
consumo energético de los procesadores ha llevado a los fabricantes a diseñar
sistemas heterogéneos, que incluyen la GPU en el mismo chip que la CPU.
Desde el punto de vista computacional las GPUs son mucho más eficientes
en la ejecución de aplicaciones de tipo streaming. Además, no incluyen lógica
para soportar la ejecución de instrucciones fuera de orden, por lo que son
más eficientes desde el punto de vista energético. Para explotar al máximo el
rendimiento en cada tipo de arquitectura (GPU y CPU), es necesario poder
distribuir el cómputo eficientemente entre ambas plataformas. Un aspecto de
especial importancia en la programación de sistemas heterogéneos es cómo
se comparte la memoria entre las distintas arquitecturas. En este contexto
se plantean nuevos retos de investigación en el soporte de la coherencia en la
jerarquía de memoria. Los protocolos de coherencia actuales están principalmente
orientados a aplicaciones CPU y requieren adaptarse o reemplazarse
por por nuevos protocolos que tengan en cuenta las características particulares
de los patrones de acceso de las aplicaciones GPU.
En este trabajo se presenta un estudio sobre el comportamiento de varios
protocolos de coherencia para GPUs, uno comercial y otro académico. Se
analizan las prestaciones de ambos protocolos variando el número de accesos a
memoria en vuelo soportados. Los resultados muestran que el mejor protocolo
depende del tipo de aplicación y el número de peticiones soportado.
[-]
|