Analysis and Optimization of the Memory Hierarchy for Graph Processing Workloads

Analysis and Optimization of the Memory Hierarchy for Graph Processing Workloads
复制标题

DOI:
10.1109/hpca.2019.00051
复制
发表时间:
2019-02
期刊:
2019 IEEE International Symposium on High Performance Computer Architecture (HPCA)
影响因子:
--
通讯作者:
Abanti Basak;Shuangchen Li;Xing Hu;Sangmin Oh;Xinfeng Xie;Li Zhao;Xiaowei Jiang;Yuan Xie
Abanti Basak;Shuangchen Li;Xing Hu;Sangmin Oh;Xinfeng Xie;Li Zhao;Xiaowei Jiang;Yuan Xie
中科院分区:
其他
文献类型:
--
作者:
Abanti Basak;Shuangchen Li;Xing Hu;Sangmin Oh;Xinfeng Xie;Li Zhao;Xiaowei Jiang;Yuan Xie

文献摘要

被引文献

相似文献

- 图形处理是大数据广泛应用的重要分析技术。显式表示实体之间关系的能力使图分析比传统关系数据库具有显著的性能优势。然而,在微架构级别,性能受到内存子系统中用于单机内存中图形分析的效率低下的限制。本文包括两个贡献,我们分析和优化图形处理工作负载的内存层次结构。首先,我们在模拟的多核架构上对图形处理工作负载进行深入的数据类型感知表征。我们分析了1)无序核中的内存级并行性和2)该高速缓存层次结构中的请求重用距离。我们发现,涉及不同应用程序数据类型的加载-加载依赖链形成了实现高内存级并行性的主要瓶颈。我们还观察到,不同的图形数据类型表现出异构的重用距离。因此,私有L2缓存对性能的贡献可以忽略不计,而共享L3缓存表现出更高的性能敏感性。其次,基于我们的profiling观察,我们提出了DROPLET,一个数据awaRe decouPLed prEfeTcher的图形应用程序。DROPLET根据其固有的重用距离不同地预取不同的图形数据类型。此外,DROPLET是物理解耦的,以克服由于不同数据类型之间的依赖链而导致的序列化。DROPLET在无预取基准上实现了19%-102%的性能改进,在传统流预取器上实现了9%-74%的性能改进,在流预取器上实现了14%-74%的性能改进
—Graph processing is an important analysis tech- nique for a wide range of big data applications. The ability to explicitly represent relationships between entities gives graph analytics a significant performance advantage over traditional relational databases. However, at the microarchitecture level, performance is bounded by the inefficiencies in the memory subsystem for single-machine in-memory graph analytics. This paper consists of two contributions in which we analyze and optimize the memory hierarchy for graph processing workloads. First,we perform an in-depth data-type-aware characteriza- tion of graph processing workloads on a simulated multi-core architecture. We analyze 1) the memory-level parallelism in an out-of-order core and 2) the request reuse distance in the cache hierarchy. We find that the load-load dependency chains involving different application data types form the primary bottleneck in achieving a high memory-level parallelism. We also observe that different graph data types exhibit heterogeneous reuse distances. As a result, the private L2 cache has negligible contribution to performance, whereas the shared L3 cache shows higher performance sensitivity. Second, based on our profiling observations, we propose DROPLET, a Data-awaRe decOuPLed prEfeTcher for graph applications. DROPLET prefetches different graph data types differently according to their inherent reuse distances. In addition, DROPLET is physically decoupled to overcome the serialization due to the dependency chains between different data types. DROPLET achieves 19%-102% performance im- provement over a no-prefetch baseline, 9%-74% performance improvement over a conventional stream prefetcher, 14%-74% performance improvement