Modern high-performance architectures employ large last-level caches (LLCs). While large LLCs can reduce average memory access latency for workloads with a high degree of locality, they can also increase latency for workloads with irregular memory access patterns. Prefetchers are widely used to reduce memory latency by prefetching data into the cache hierarchy before it is accessed by the core. However, existing prediction-based prefetchers often struggle with irregular memory access patterns, which are especially prevalent in modern applications. This paper introduces the Pickle Prefetcher, a programmable and scalable LLC prefetcher designed to handle independent irregular memory access patterns effectively. Instead of relying on static heuristics or complex prediction algorithms, Pickle Prefetcher allows software to define its own prefetching strategies using a simple programming interface without expanding the instruction set architecture (ISA). By trading the logic complexity of hardware prediction for software programmability, Pickle Prefetcher can adapt to a wide range of access patterns without requiring extensive hardware resources for prediction. This allows the prefetcher to dedicate its resources to scheduling and issuing timely prefetch requests. Graph applications are an example where the memory access pattern is irregular but easily predictable by software. Through extensive evaluations of the Pickle Prefetcher on gem5 full-system simulations, we demonstrate tha Pickle Prefetcher significantly outperforms traditional prefetching techniques. Our results show that Pickle Prefetcher achieves speedups of up to 1.74x on the GAPBS breadth-first search (BFS) implementation over a baseline system. When combined with private cache prefetchers, Pickle Prefetcher provides up to a 1.40x speedup over systems using only private cache prefetchers.


翻译:现代高性能架构采用大型末级缓存(LLC)。虽然大型LLC能够降低具有高度局部性工作负载的平均内存访问延迟,但对于具有不规则内存访问模式的工作负载,它也可能增加延迟。预取器被广泛用于通过在内核访问数据之前将数据预取到缓存层次结构中来减少内存延迟。然而,现有的基于预测的预取器通常难以应对不规则的内存访问模式,这种模式在现代应用中尤为普遍。本文介绍了Pickle预取器,这是一种可编程且可扩展的LLC预取器,旨在有效处理独立的不规则内存访问模式。Pickle预取器不依赖静态启发式方法或复杂的预测算法,而是允许软件通过简单的编程接口定义自身的预取策略,而无需扩展指令集架构(ISA)。通过以硬件预测的逻辑复杂性换取软件可编程性,Pickle预取器能够适应广泛的访问模式,无需为预测分配大量硬件资源。这使得预取器能够将其资源专注于调度和及时发出预取请求。图应用是内存访问模式不规则但易于软件预测的一个例子。通过在gem5全系统模拟中对Pickle预取器进行广泛评估,我们证明Pickle预取器显著优于传统预取技术。我们的结果表明,在GAPBS广度优先搜索(BFS)实现上,Pickle预取器相比基线系统实现了高达1.74倍的加速。当与私有缓存预取器结合使用时,Pickle预取器相比仅使用私有缓存预取器的系统提供了高达1.40倍的加速。

0
下载
关闭预览

相关内容

【AAAI2025】TimeDP:通过领域提示学习生成多领域时间序列
【KDD2024】HiGPT:异构图语言模型
专知会员服务
19+阅读 · 2024年7月9日
【ICLR2024】MathVista:视觉背景下基础模型的数学推理评估
专知会员服务
35+阅读 · 2024年1月20日
【ICCV2023】保留模态结构改进多模态学习
专知会员服务
31+阅读 · 2023年8月28日
MIMIC-IT:多模态上下文指令调优
专知会员服务
39+阅读 · 2023年6月11日
【ECCV2020】EfficientFCN:语义分割中的整体引导解码器
专知会员服务
18+阅读 · 2020年8月23日
Python图像处理,366页pdf,Image Operators Image Processing in Python
【NeurIPS2019】图变换网络:Graph Transformer Network
LibRec 每周算法:LDA主题模型
LibRec智能推荐
29+阅读 · 2017年12月4日
Spark机器学习:矩阵及推荐算法
LibRec智能推荐
16+阅读 · 2017年8月3日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2014年12月31日
国家自然科学基金
10+阅读 · 2014年12月31日
Arxiv
18+阅读 · 2024年12月27日
Arxiv
175+阅读 · 2023年4月20日
A Survey of Large Language Models
Arxiv
499+阅读 · 2023年3月31日
VIP会员
相关VIP内容
相关基金
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2014年12月31日
国家自然科学基金
10+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员