<font color="#FD8900">作者:Ted Hazell</font>
你是否正在设计多核或CPU/GPU混合系统,却依然未能达成性能目标?你并不孤单。如今,系统架构师们不断追求构建更强大的SoC,过于专注于计算能力的“堆砌”:更多核、更快引擎、更强AI加速。然而现实是:如果数据无法及时送达,再强的算力也无从发挥。
在2025年Andes RISC-V大会上,Imagination Technologies与Baya Systems联手深入剖析了这一挑战,结果令人震惊。两家公司利用Baya的CacheStudio工具,对CPU、GPU及混合计算系统中的缓存行为进行了建模分析。
目的就是要揭示:尽管硬件资源充足,现实中的异构计算性能为何仍频频“失速”。那么,让我们一起来看看他们的发现,以及这些见解如何帮助你打造更好、更快、更高效的系统。
<center><img width="600" src="https://cdn.eetrend.com/files/2025-06/wen_zhang_/100592168-391199-613.p…; alt="Imagination与Baya Systems的系统架构实践启示" /></center><br>
<strong>报告作者:</strong>
<font color="#FD8900">Pallavi Sharma, Imaginaiton产品管理总监</font>
<font color="#FD8900">Dr.Eric Norige, Baya Systems 首席软件架构师</font>
<font color="#c200ff">关注Imagination公众号(Imgtec),消息框发送【异构计算】,即可查看完整报告。</font>
<center><img width="150" src="https://cdn.eetrend.com/files/2025-06/wen_zhang_/100592168-391198-imgte…; alt="Imagination公众号" /></center><br>
<hr>
<font size="4" style="line-height: 45px;" color="#c200ff"><strong>隐藏的瓶颈:不是算力不足,而是数据流动受限</strong></font>
现代SoC的性能瓶颈早已不再是纯粹的计算能力。相反,系统越来越受到数据在各处理单元与存储层级之间传输效率的限制。
即使将CPU、GPU及各种加速器集成到同一芯片上,也并不自动等同于性能提升。事实上,若架构缺乏精细协同,这种集成反而可能带来资源竞争、延迟增加以及缓存效率下降等问题。
本次研究将缓存行为作为一种潜在的诊断工具,旨在揭示系统中的关键性能限制点,同时更深入地理解异构计算单元在缓存大小配置、一致性管理及内存访问模式方面所面临的权衡取舍。
尽管这些发现提供了诸多有价值的洞见,但应结合本研究的具体范围与假设前提进行解读。以下是部分关键发现:
<hr>
<font size="4" style="line-height: 45px;" color="#c200ff"><strong>纯CPU负载:优先考虑时间局部性与分层缓存策略</strong></font>
<strong>一级缓存(L1): </strong>性能提升随着缓存容量的增加呈线性趋势。将L1从16 KB提升至64 KB,命中率从约94.5%提升至约97.8%。这验证了CPU主导型任务具备显著的时间局部性——即最近访问的数据很可能会在短时间内再次被访问。
<strong>二级缓存(L2): </strong>命中率与L1容量呈负相关关系。随着L1缓存吸收更多访问请求,L2的利用率下降,从16 KB L1配置下的约50–56%降至64 KB L1下的约14–28%。这表明L2应侧重于一致性管理与回退路径延迟优化,而非盲目扩展容量。
<strong>三级缓存(L3):</strong> 命中率维持在相对中等的水平(20–35%),其主要作用在于多核之间的一致性维护以及降低对DRAM的访问压力。
<strong>实际启示:</strong>对于以CPU为主的工作负载,最佳性能依赖于为每个核心配置合适容量的私有L1缓存,同时针对延迟与一致性需求精细调优L2。L3缓存主要在多核或共享内存环境中发挥作用,特别是在DRAM压力或一致性流量较高时更为关键。
<hr>
<font size="4" style="line-height: 45px;" color="#c200ff"><strong>纯GPU负载:单靠加大缓存容量无法弥补访问模式的不规则性</strong></font>
<strong>一级缓存(L1): </strong>相较于CPU,GPU工作负载的L1命中率更低——随着缓存从16 KB扩展到64 KB,命中率仅从约54%提升至约73%。这一收益受限,主要归因于高并行计算中常见的发散式和分散式内存访问模式。
<strong>二级缓存(L2):</strong> 随着L1缓存增大,L2性能显著下降。在16 KB L1配置下,L2命中率可达约55%;但当L1提升至64 KB时,命中率骤降至6–7%。这表明,过度放大上层缓存可能会破坏下层缓存的重用机会。
<strong>三级缓存(L3): </strong>在所有配置下,L3利用率始终偏低,最高命中率仅约为2.2%。这可能反映出GPU的流式数据访问模式以及线程间局部性较差的特点。
<strong>实际启示: </strong>GPU的内存层级性能高度依赖于软件层的访问优化,例如本地存储使用、数据分块(tiling)及显式同步,而不能仅依赖传统的缓存层次结构。硬件改进必须与面向负载的编程模型相结合,才能充分发挥性能。
<hr>
<font size="4" style="line-height: 45px;" color="#c200ff"><strong>混合负载:缓存层级的协同至关重要</strong></font>
<strong>一级缓存(L1): </strong>CPU和GPU线程的命中率均有提升,随着L1从16 KB扩展至64 KB,命中率从约94%提升至约97%。
<strong>二级缓存(L2): </strong>行为对配置变化极为敏感。例如,在配置为256 KB L2和16 KB L1时,L2命中率达到61.7%;但当配置变为64 KB L1和64 KB L2时,命中率下降至23.2%。这表明在设计时必须同时考虑各级缓存的替换模式(eviction patterns)。
<strong>三级缓存(L3):</strong> 在L1和L2容量不足的情况下,L3展现出显著优势。配置为1024 KB的L3时,对于较小L1/L2配置,命中率最高可达57%。
<strong>DRAM访问流量:</strong> 随着缓存层级协调优化,内存访问量显著下降,从最小缓存配置下的约38.5万次访问减少至优化配置下的约32.8万次。
<strong>实际启示:</strong>在异构计算环境中,缓存设计不能孤立于某一处理引擎。必须精心架构各层缓存与计算单元之间的交互机制。经常被低估的L3,在降低DRAM压力和提升系统整体响应能力方面发挥着关键作用。
<hr>
<font size="4" style="line-height: 45px;" color="#c200ff"><strong>设计的重点应是数据流,而非仅仅追求FLOPS(浮点运算性能)</strong></font>
本研究再次强调系统架构设计中的核心原则:在异构计算环境中,性能扩展的决定因素并非计算引擎的数量,而是这些引擎与共享内存及互连架构的协同方式。
CacheStudio并非终点工具,而是一个分析代理,可用于揭示系统中不易察觉的性能下降,并在设计初期为更优架构决策提供指导依据。
以协同为核心进行架构设计,而非各自为战
针对CPU、GPU及混合负载,本研究得出以下关键结论:
<ul><li>纯CPU负载需配备针对性配置的私有L1缓存及延迟优化的L2缓存。</li>
<li>纯GPU负载需要架构层面支持发散式内存访问,并辅以软件层面的访问优化。</li>
<li>混合负载在依赖L3一致性缓冲和多级缓存平衡配置方面获益最大。</li>
<li>系统级性能剖析对于预判内存压力、指导缓存层级设计至关重要。</li></ul>
<hr>
<font size="4" style="line-height: 45px;" color="#c200ff"><strong>结论明确:聪明的架构优于一味堆砌算力。</strong></font>
通过聚焦数据流动与内存协调,工程师才能真正释放异构计算系统的全部潜力。
<div style="border:1px solid #d3d3d3; padding: 25px; margin: 20px 15%; border-radius:5px; ">
<strong>如何获取完整报告:</strong>
<font color="#c200ff">关注Imagination公众号(Imgtec),消息框发送【异构计算】,即可查看完整报告。</font>
<center><img width="150" src="https://cdn.eetrend.com/files/2025-06/wen_zhang_/100592168-391198-imgte…; alt="Imagination公众号" /></center></div>
<a href="https://blog.imaginationtech.com/why-your-heterogeneous-compute-system-… color="#9a9a9a">原文链接:https://blog.imaginationtech.com/why-your-heterogeneous-compute-system-…;
<font color="#FD8900" >声明:本文为原创文章,转载需注明作者、出处及原文链接,否则,本网站将保留追究其法律责任的权利。</font>
<br>