Graphics Processing Units (GPUs) are widely-used accelerators for data-parallel applications. In many GPU applications, GPU memory bandwidth bottlenecks performance, causing underutilization of GPU cores. Hence, disabling many cores does not affect the performance of memory-bound workloads. While simply power-gating unused GPU cores would save energy, prior works attempt to better utilize GPU cores for other applications (ideally compute-bound), which increases the GPU's total throughput. In this paper, we introduce Morpheus, a new hardware/software co-designed technique to boost the performance of memory-bound applications. The key idea of Morpheus is to exploit unused core resources to extend the GPU last level cache (LLC) capacity. In Morpheus, each GPU core has two execution modes: compute mode and cache mode. Cores in compute mode operate conventionally and run application threads. However, for the cores in cache mode, Morpheus invokes a software helper kernel that uses the cores' on-chip memories (i.e., register file, shared memory, and L1) in a way that extends the LLC capacity for a running memory-bound workload. Morpheus adds a controller to the GPU hardware to forward LLC requests to either the conventional LLC (managed by hardware) or the extended LLC (managed by the helper kernel). Our experimental results show that Morpheus improves the performance and energy efficiency of a baseline GPU architecture by an average of 39% and 58%, respectively, across several memory-bound workloads. Morpheus' performance is within 3% of a GPU design that has a quadruple-sized conventional LLC. Morpheus can thus contribute to reducing the hardware dedicated to a conventional LLC by exploiting idle cores' on-chip memory resources as additional cache capacity.
翻译:图形处理单元(GPU)是数据并行应用中广泛使用的加速器。在众多GPU应用中,内存带宽成为性能瓶颈,导致GPU核心利用率不足。因此,禁用大量核心不会影响内存受限工作负载的性能。虽然简单的电源门控技术可节省空闲GPU核心的能耗,但先前研究尝试更充分地利用GPU核心运行其他应用(理想情况下为计算密集型),从而提升GPU整体吞吐量。本文提出Morpheus——一种软硬件协同设计的新技术,旨在提升内存受限应用的性能。其核心思想是利用空闲核心资源扩展GPU末级缓存(LLC)容量。在Morpheus架构中,每个GPU核心拥有两种执行模式:计算模式与缓存模式。计算模式下的核心以常规方式运行应用程序线程;而对于缓存模式下的核心,Morpheus通过调用软件辅助内核,利用核心的片上存储器(即寄存器文件、共享内存和L1缓存)来扩展当前内存受限工作负载的LLC容量。Morpheus在GPU硬件中增加控制器,可将LLC请求转发至传统LLC(由硬件管理)或扩展LLC(由辅助内核管理)。实验结果表明,在多个内存受限工作负载下,Morpheus平均可将基线GPU架构的性能提升39%、能效提升58%。其性能与配备四倍传统LLC容量的GPU设计相差不到3%。因此,Morpheus可通过利用空闲核心的片上内存资源作为额外缓存容量,有效减少传统LLC的硬件开销。