ASPLOS 2023 Paper 论文阅读笔记整理
问题
近数据处理(NDP)是一种很有前途的体系结构范式,可以解决数据密集型应用程序的内存墙挑战。基于3D堆叠存储器的典型NDP系统包含大量并行处理单元,每个并行处理单元都可以访问其本地存储器以及系统中的其他远程存储器区域。
现有方法局限性
在NDP体系结构中,最小化远程数据访问和实现计算负载平衡需要权衡。对于倾斜的负载,在离其数据位置更近的地方执行计算任务会导致负载不平衡产生热点。为确保负载平衡而动态调度任务不可避免地会使一些计算远离其数据的首选位置,从而导致更多的远程访问。现有技术[13,55,59,70,88]必须牺牲一种技术来改进另一种技术,从而限制NDP的性能和能源效益。
本文方法
本文提出了ABNDP,利用软硬件协同优化来同时缓解这两个问题。
-
在硬件方面,使用了分布式DRAM缓存设计Traveller cache,在每个处理单元保留一小部分本地DRAM,以缓存来自远程存储器的数据。不允许在任何地方自由缓存数据,而是将每个数据块的缓存限制在NDP系统中分布的有限数量的camp位置。camp位置的缓存数据由附近的多个处理单元共享,提高了缓存空间利用率和数据重用时间,同时仍确保了较短的访问距离。进一步对不同的camp位置使用倾斜映射,减少缓存冲突。
-
在软件方面,采用混合任务调度策略,同时考虑远程访问成本和负载不平衡影响。除了原始内存位置之外,用于缓存数据的多个camp位置为调度提供了更高的灵活性,这可以更好地分散热数据上的繁重计算,并减少任务中的总远程访问距离。偏斜的camp位置映射方案简化了访问多个数据的任务的调度。
评估表明,ABNDP成功地实现了最小化远程访问成本和保持负载平衡这两个目标,并且平均在性能(1.7×)和能耗(25%)方面显著优于基线系统。
实验
实验环境:zsim[77]模拟器
数据集:数据密集型应用。BFS、单源最短路径(sssp)、Page Rank(pr)、图卷积神经网络(gcn)、A*搜索(astar)、K最近邻(knn)、稀疏矩阵向量乘法(spmv)、K-means(kmeans)。
实验对比:加速比、能量消耗、远程访问次数、活跃核心数、
实验参数:数据集
总结
针对使用3D堆叠存储器的近数据处理(NDP)问题,现有方法难以同时实现最小化远程数据访问和计算负载平衡。本文提出ABNDP,利用软硬件协同优化来同时缓解这两个问题。(1)在硬件方面,使用了分布式DRAM缓存,在每个处理单元缓存远程存储器的数据。对处理单元分组(camp),每组缓存一份数据,缓存数据由附近的多个处理单元共享。进一步对不同的camp位置使用倾斜映射,减少缓存冲突。(2)在软件方面,采用混合任务调度策略,同时考虑远程访问成本和负载不平衡影响。可以调度到camp缓存附近,更好地分散热数据上的繁重计算,并减少任务中的总远程访问距离。
局限性:同一份数据缓存在多个DRAM,缓存一致性的开销应该较高,适用于数据修改较少的负载。