APT-GET: profile-guided timely software prefetching

APT-GET: profile-guided timely software prefetching
复制标题

DOI:
10.1145/3492321.3519583
复制
发表时间:
2022-03
期刊:
Proceedings of the Seventeenth European Conference on Computer Systems
影响因子:
--
通讯作者:
Saba Jamilan;Tanvir Ahmed Khan;Grant Ayers;Baris Kasikci;Heiner Litz
Saba Jamilan;Tanvir Ahmed Khan;Grant Ayers;Baris Kasikci;Heiner Litz
中科院分区:
其他
文献类型:
--
作者:
Saba Jamilan;Tanvir Ahmed Khan;Grant Ayers;Baris Kasikci;Heiner Litz

文献摘要

被引文献

相似文献

预摘要可以预测未来的内存访问并从主要内存中预紧它们,这是一种宽阔的技术,可以克服处理器 - 内存性能差距,不幸的是,在当今处理器中实现的硬件预算器无法识别由现代数据驱动的复杂和不规则的内存访问模式因此,应用程序和开发人员需要依靠软件预取技术。我们的投资都表明,基于最新的编译器的预摘要机制由于其静态性质而无法实现高性能。通过利用动态执行时间信息进行预取及时性。可以忽略的开销来表征载荷的执行时间。真实的应用程序,并证明它可以通过确保预购及时性达到1.98倍和1.30倍的速度。最先进的软件数据预取机制。
Prefetching which predicts future memory accesses and preloads them from main memory, is a widely-adopted technique to overcome the processor-memory performance gap. Unfortunately, hardware prefetchers implemented in today's processors cannot identify complex and irregular memory access patterns exhibited by modern data-driven applications and hence developers need to rely on software prefetching techniques. We investigate the challenges of enabling effective, automated software data prefetching. Our investigation reveals that the state-of-the-art compiler-based prefetching mechanism falls short in achieving high performance due to its static nature. Based on this insight, we design APT-GET, a novel profile-guided technique that ensures prefetch timeliness by leveraging dynamic execution time information. APT-GET leverages efficient hardware support such as Intel's Last Branch Record (LBR), for collecting application execution profiles with negligible overhead to characterize the execution time of loads. APT-GET then introduces a novel analytical model to find the optimal prefetch-distance and prefetch injection site based on the collected profile to enable timely prefetches. We study APT-GET in the context of 10 real-world applications and demonstrate that it achieves a speedup of up to 1.98× and of 1.30× on average. By ensuring prefetch timeliness, APT-GET improves the performance by 1.25× over the state-of-the-art software data prefetching mechanism.