Managing GPU Concurrency in Heterogeneous Architectures

Managing GPU Concurrency in Heterogeneous Architectures
复制标题

DOI:
10.1109/micro.2014.62
复制
发表时间:
2014-12
期刊:
2014 47th Annual IEEE/ACM International Symposium on Microarchitecture
影响因子:
--
通讯作者:
Onur Kayiran;N. Nachiappan;Adwait Jog;Rachata Ausavarungnirun;M. Kandemir;G. Loh;O. Mutlu;C. Das
Onur Kayiran;N. Nachiappan;Adwait Jog;Rachata Ausavarungnirun;M. Kandemir;G. Loh;O. Mutlu;C. Das
中科院分区:
其他
文献类型:
--
作者:
Onur Kayiran;N. Nachiappan;Adwait Jog;Rachata Ausavarungnirun;M. Kandemir;G. Loh;O. Mutlu;C. Das

文献摘要

被引文献

相似文献

由通用CPU和吞吐量优化的GPU组成的异质体系结构预计被预计是许多类别应用程序的主要计算平台。此类系统的设计比同质体系结构的设计更为复杂,因为很难在最大化资源利用率的同时最大程度地减少CPU和GPU应用程序之间的共享资源干扰。我们表明,由于其高线程级并行性(TLP),GPU应用程序倾向于垄断共享硬件资源,例如内存和网络,并讨论在异质系统中使用现有的基于GPU的并发管理技术的局限性。为了解决这个问题,我们提出了一种集成的并发管理策略,该策略调节GPU中的TLP以控制CPU和GPU应用程序的性能。该机制考虑了GPU核心状态和范围内的内存和网络拥塞信息,以动态决定GPU并发水平以最大程度地提高系统性能。我们提出和评估两种方案:一个(CM-CPU)在存在GPU干扰的情况下提高CPU性能,另一个(CM-BAL)以平衡的方式改善CPU和GPU性能,从而提高CPU和GPU性能。我们的评估表明,第一个方案将平均CPU性能提高了24%,而平均GPU性能则提高了11%。第二个方案可为CPU和GPU应用提供7%的平均性能提高。我们还表明,我们的解决方案允许用户控制CPU和GPU之间的性能权衡。
Heterogeneous architectures consisting of general-purpose CPUs and throughput-optimized GPUs are projected to be the dominant computing platforms for many classes of applications. The design of such systems is more complex than that of homogeneous architectures because maximizing resource utilization while minimizing shared resource interference between CPU and GPU applications is difficult. We show that GPU applications tend to monopolize the shared hardware resources, such as memory and network, because of their high thread-level parallelism (TLP), and discuss the limitations of existing GPU-based concurrency management techniques when employed in heterogeneous systems. To solve this problem, we propose an integrated concurrency management strategy that modulates the TLP in GPUs to control the performance of both CPU and GPU applications. This mechanism considers both GPU core state and system-wide memory and network congestion information to dynamically decide on the level of GPU concurrency to maximize system performance. We propose and evaluate two schemes: one (CM-CPU) for boosting CPU performance in the presence of GPU interference, the other (CM-BAL) for improving both CPU and GPU performance in a balanced manner and thus overall system performance. Our evaluations show that the first scheme improves average CPU performance by 24%, while reducing average GPU performance by 11%. The second scheme provides 7% average performance improvement for both CPU and GPU applications. We also show that our solution allows the user to control performance trade-offs between CPUs and GPUs.