一句话:提出轻量级 Minnow 硬件加速器,将工作列表调度与预取从线程卸载,提升不规则图应用的扩展性与缓存性能。
不规则应用如图分析在通用片上多处理器(CMP)上性能较差,原因包括缓存局部性差、计算强度低、频繁同步、任务大小不均以及动态任务生成;在高线程数下,执行时间主要受工作列表同步开销和缓存缺失支配。已有硬件工作列表加速器虽能降低调度开销,但通常固化特定调度策略,且未解决高缓存缺失率。本文提出 Minnow:在每个核心旁增加一个轻量级 Minnow 加速器,将工作列表调度从 worker 线程卸载到该引擎以提升可扩展性;同时利用工作列表信息执行预取,即工作列表导向的预取,从而以近乎完美的准确性和及时性发起预取。在模拟的 64 核 CMP 上运行并行图基准套件,Minnow 平均将 L2 缓存缺失从 29 降至 1.2 MPKI,较优化软件基线取得 6.01 倍平均加速,面积开销仅 1%。
The importance of irregular applications such as graph analytics is rapidly growing with the rise of Big Data. However, parallel graph workloads tend to perform poorly on general-purpose chip multiprocessors (CMPs) due to poor cache locality, low compute intensity, frequent synchronization, uneven task sizes, and dynamic task generation. At high thread counts, execution time is dominated by worklist synchronization overhead and cache misses. Researchers have proposed hardware worklist accelerators to address scheduling costs, but these proposals often harden a specific scheduling policy and do not address high cache miss rates. We address this with Minnow, a technique that augments each core in a CMP with a lightweight Minnow accelerator. Minnow engines offload worklist scheduling from worker threads to improve scalability. The engines also perform worklist-directed prefetching, a technique that exploits knowledge of upcoming tasks to issue nearly perfectly accurate and timely prefetch operations. On a simulated 64-core CMP running a parallel graph benchmark suite, Minnow improves scalability and reduces L2 cache misses from 29 to 1.2 MPKI on average, resulting in 6.01x average speedup over an optimized software baseline for only 1% area overhead.
DOI 原文 ·
@inproceedings{paperbot4260,
title = {Minnow},
author = {Dan Zhang and Xiaoyu Ma and Michael Thomson and Derek Chiou},
booktitle = {ASPLOS},
year = {2018},
doi = {10.1145/3173162.3173197}
}