Equalizer: Dynamic Tuning of GPU Resources for Efficient Execution

Equalizer: Dynamic Tuning of GPU Resources for Efficient Execution
复制标题

均衡器:动态调整 GPU 资源以实现高效执行

DOI:
10.1109/micro.2014.16
复制
发表时间:
2014
期刊:
2014 47th Annual IEEE/ACM International Symposium on Microarchitecture
影响因子:
--
通讯作者:
S. Mahlke
S. Mahlke
中科院分区:
--
文献类型:
--
作者:
Ankit Sethia;S. Mahlke

文献摘要

被引文献

相似文献

GPU使用数千个线程来提供高性能和效率。通常,如果内核的一个线程更大程度地使用其中一种资源(计算,带宽,数据缓存),则由于大量相同的并发线程,该资源将对该资源产生重大争论。由于对瓶颈资源的争论,这一争论最终将使内核的性能饱和,同时又留下了其他资源。为了克服这个问题,可以调整硬件以匹配内核特征的运行时系统可以有效地减轻内核资源需求与GPU上存在的硬件资源之间的不平衡。我们提出了均衡器(一个低架空硬件运行时系统),该系统动态监视内核的资源要求,并管理芯片并发,核心频率和内存频率的数量,以适应​​硬件以最好地匹配运行内核的需求。均衡器以两种模式提供效率。首先,它可以节省能源,而无需大量的GPU降级,使用数千个线程来提供高性能和效率。通常,如果内核的一个线程更大程度地使用其中一种资源(计算,带宽,数据缓存),则由于大量相同的并发线程,该资源将对该资源产生重大争论。由于对瓶颈资源的争论,这一争论最终将使内核的性能饱和,同时又留下了其他资源。为了克服这个问题,可以调整硬件以匹配内核特征的运行时系统可以有效地减轻内核资源需求与GPU上存在的硬件资源之间的不平衡。我们提出了均衡器(一个低架空硬件运行时系统),该系统动态监视内核的资源要求,并管理芯片并发,核心频率和内存频率的数量,以适应​​硬件以最好地匹配运行内核的需求。均衡器以两种模式提供效率。首先,它可以通过节省未充分利用的资源来节省能源,而无需大幅度的性能降解。其次,它可以增强瓶颈资源,以减少争执并提供更高的性能而不会大幅提高能量。在27个内核中,均衡器在能量模式下节省了15%,在性能模式下可节省22%。限制利用不足的资源。其次,它可以增强瓶颈资源,以减少争执并提供更高的性能而不会大幅提高能量。在27个内核中,均衡器在能量模式下节省了15%,在性能模式下可节省22%。
GPUs use thousands of threads to provide high performance and efficiency. In general, if one thread of a kernel uses one of the resources (compute, bandwidth, data cache) more heavily, there will be significant contention for that resource due to the large number of identical concurrent threads. This contention will eventually saturate the performance of the kernel due to contention for the bottleneck resource, while at the same time leaving other resources underutilized. To overcome this problem, a runtime system that can tune the hardware to match the characteristics of a kernel can effectively mitigate the imbalance between resource requirements of kernels and the hardware resources present on the GPU. We propose Equalizer, a low overhead hardware runtime system, that dynamically monitors the resource requirements of a kernel and manages the amount of on-chip concurrency, core frequency and memory frequency to adapt the hardware to best match the needs of the running kernel. Equalizer provides efficiency in two modes. Firstly, it can save energy without significant performance degradation by GPUs use thousands of threads to provide high performance and efficiency. In general, if one thread of a kernel uses one of the resources (compute, bandwidth, data cache) more heavily, there will be significant contention for that resource due to the large number of identical concurrent threads. This contention will eventually saturate the performance of the kernel due to contention for the bottleneck resource, while at the same time leaving other resources underutilized. To overcome this problem, a runtime system that can tune the hardware to match the characteristics of a kernel can effectively mitigate the imbalance between resource requirements of kernels and the hardware resources present on the GPU. We propose Equalizer, a low overhead hardware runtime system, that dynamically monitors the resource requirements of a kernel and manages the amount of on-chip concurrency, core frequency and memory frequency to adapt the hardware to best match the needs of the running kernel. Equalizer provides efficiency in two modes. Firstly, it can save energy without significant performance degradation by throttling under-utilized resources. Secondly, it can boost bottleneck resources to reduce contention and provide higher performance without significant energy increase. Across a spectrum of 27 kernels, Equalizer achieves 15% savings in energy mode and 22% speedup in performance mode. Throttling under-utilized resources. Secondly, it can boost bottleneck resources to reduce contention and provide higher performance without significant energy increase. Across a spectrum of 27 kernels, Equalizer achieves 15% savings in energy mode and 22% speedup in performance mode.