Quantifying Data Locality in Dynamic Parallelism in GPUs

Quantifying Data Locality in Dynamic Parallelism in GPUs
复制标题

DOI:
10.1145/3287318
复制
发表时间:
2018-12
期刊:
Proceedings of the ACM on Measurement and Analysis of Computing Systems
影响因子:
--
通讯作者:
Xulong Tang;Ashutosh Pattnaik;Onur Kayiran;Adwait Jog;M. Kandemir;C. Das
Xulong Tang;Ashutosh Pattnaik;Onur Kayiran;Adwait Jog;M. Kandemir;C. Das
中科院分区:
其他
文献类型:
--
作者:
Xulong Tang;Ashutosh Pattnaik;Onur Kayiran;Adwait Jog;M. Kandemir;C. Das

文献摘要

被引文献

相似文献

gpu在计算的各个领域变得越来越流行,并广泛用于流(常规)应用程序。然而,当执行带有非结构化输入的不规则应用程序时,由于负载不平衡,它们的效率非常低。动态并行性(DP)是新兴GPU的一个新特性,它允许从设备端(GPU)生成和调度新内核,而无需主机端(CPU)干预来增加并行性。为了有效地支持DP,主要的挑战之一是使GPU处理元素饱和,并及时为它们提供所需的数据。已经有相当多的工作集中在利用gpu中的数据局部性上。然而,缺乏对使用动态并行性的不规则应用程序在数据重用方面的行为的定量分析。本文以核、工作组和波前三种不同粒度的可调度单元定量分析了动态应用程序的数据重用。我们观察到,对于DP应用程序,数据重用是高度不规则的,并且严重依赖于应用程序及其输入。因此,现有技术不能有效地利用DP应用程序的数据重用。为此,我们首先对提供准确数据重用信息的硬件调度器可以实现的性能改进进行了限制研究。这个极限研究表明,平均而言,性能比基线调度器提高了19.4%。基于对我们的DP应用程序的定量分析的关键观察,我们接下来提出LASER,一个位置感知调度器,其中硬件调度器使用数据重用监视器来帮助做出调度决策,以改善运行时的数据位置。我们在16个基准测试上的实验结果表明,LASER平均可以提高11.3%的性能。
GPUs are becoming prevalent in various domains of computing and are widely used for streaming (regular) applications. However, they are highly inefficient when executing irregular applications with unstructured inputs due to load imbalance. Dynamic parallelism (DP) is a new feature of emerging GPUs that allows new kernels to be generated and scheduled from the device-side (GPU) without the host-side (CPU) intervention to increase parallelism. To efficiently support DP, one of the major challenges is to saturate the GPU processing elements and provide them with the required data in a timely fashion. There have been considerable efforts focusing on exploiting data locality in GPUs. However, there is a lack of quantitative analysis of how irregular applications using dynamic parallelism behave in terms of data reuse. In this paper, we quantitatively analyze the data reuse of dynamic applications in three different granularities of schedulable units: kernel, work-group, and wavefront. We observe that, for DP applications, data reuse is highly irregular and is heavily dependent on the application and its input. Thus, existing techniques cannot exploit data reuse effectively for DP applications. To this end, we first conduct a limit study on the performance improvements that can be achieved by hardware schedulers that are provided with accurate data reuse information. This limit study shows that, on an average, the performance improves by 19.4% over the baseline scheduler. Based on the key observations from the quantitative analysis of our DP applications, we next propose LASER, a Locality-Aware SchedulER, where the hardware schedulers employ data reuse monitors to help make scheduling decisions to improve data locality at runtime. Our experimental results on 16 benchmarks show that LASER, on an average, can improve performance by 11.3%.