一句话:提出非均匀带宽 GPU 架构 NUBA,通过分区与编译/系统软件协同设计提升 LLC 带宽利用率和性能并降低 NoC 功耗。
传统 GPU 采用均匀带宽架构(UBA),为所有 SM 与 LLC slice 提供相同带宽,需要均匀高带宽 NoC 来匹配 LLC slice 带宽,导致功耗与设计复杂度开销。本文提出非均匀带宽架构(NUBA):每个分区包含若干 SM、LLC slice 与内存控制器,分区内点对点链路向本地 SM 暴露完整 LLC 带宽,分区间用 NoC 访问远程数据。为发挥 NUBA 潜力,作者协同设计系统软件、编译器与架构策略:LAB 页放置策略在本地分区放置数据并避免负载不均;MDR 通过编译期数据流分析识别只读共享数据,并在运行时按缓存容量条件将其复制到多个 LLC slice。评估中,相较等资源 memory-side 与 SM-side UBA GPU,NUBA 平均性能提升 23.1% 与 22.2%(最高 183.9% 与 182.4%);保持相近性能时 NoC 功耗降低 12.1 倍与 9.4 倍。
The parallel execution model of GPUs enables scaling to hundreds of thousands of threads, which is a key capability that many modern high-performance applications exploit. GPU vendors are hence increasing the compute and memory resources with every GPU generation — resulting in the need to efficiently stitch together a plethora of Symmetric Multiprocessors (SMs), Last-Level Cache (LLC) slices and memory controllers while maximizing bandwidth and keeping power consumption and design complexity in check. Conventional GPUs are Uniform Bandwidth Architectures (UBAs) as they provide equal bandwidth between all SMs and all LLC slices. UBA GPUs require a uniform high-bandwidth Network-on-Chip (NoC), and our key observation is that provisioning a NoC to match the LLC slice bandwidth incurs a hefty power and complexity overhead. We propose the Non-Uniform Bandwidth Architecture (NUBA), a GPU system architecture aimed at fully utilizing LLC slice bandwidth. A NUBA GPU consists of partitions that each feature a few SMs and LLC slices as well as a memory controller — hence exposing the complete LLC bandwidth to the SMs within a partition since they can be connected with point-to-point links — and a NoC between partitions — to enable access to remote data.Exploiting the potential of NUBA GPUs however requires carefully co-designing system software, the compiler and architectural policies. The critical system software component is our Local-And-Balanced (LAB) page placement policy which enables the GPU driver to place data in local partitions while avoiding load imbalance. Moreover, we propose Model-Driven Replication (MDR) which identifies read-only shared data with data-flow analysis at compile time. At run time, MDR leverages an architectural mechanism that replicates read-only shared data across LLC slices when this can be done without pressuring cache capacity. With LAB and MDR, our NUBA GPU improves average performance by 23.1% and 22.2% (and up to 183.9% and 182.4%) compared to iso-resource memory-side and SM-side UBA GPUs, respectively. When the NUBA concept is leveraged to reduce overhead while maintaining similar performance, NUBA reduces NoC power consumption by 12.1× and 9.4×, respectively.