间接内存访问的软件预取:微体系结构的观点

许多现代数据处理和HPC工作负载都受到严重的内存延迟限制。解决这一问题的一个诱人的建议是软件预取,即在需要数据之前,使用特殊的非阻塞加载将数据引入缓存层次结构。然而,要有效地提高性能,这些插入很困难,自动插入的技术目前也很有限。

本文开发了一个新的编译器来自动生成间接内存访问的软件预取,这是高性能工作负载中常见的一类特殊的不规则内存访问。我们在一组使用广泛的系统中对此进行评估,所有这些系统都从该技术中获益。然后,我们评估好的预取指令依赖于体系结构的程度,以及特别适合的程序类。在一组内存限制的基准测试中,我们的自动传输平均速度为(乱序的核)英特尔Haswell 处理器的1.3倍,ARM Cortex-A57和Qualcomm Kryo的1.1倍,Cortex-72和Intel Kaby Lake的1.2倍,Intel Xeon Phi Knight's Landing的1.35倍,而相较(顺序的核)ARMCortex-A53和第一代Intel Xeon Phi性能提高了2.1倍和2.7倍的。

Fig. 4.

文章链接: https://dl.acm.org/citation.cfm?id=3319393

联系我们

地 址:广州市番禺区大学城中山大学资讯管理学院B栋B305
邮政编码:510000
联 系 人:李启元老师
电 话:+86-20-39336519
电子邮箱:hpcoffice@gdhpcs.org
网 址:http://sdcs.sysu.edu.cn/gdhpcs/