百科问答小站 logo
百科问答小站 font logo



3D 缓存版 AMD EPYC 处理器实测,性能提升约 12%,其中还有哪些值得关注的细节? 第1页

  

user avatar   MebiuW 网友的相关建议: 
      

首先说一下,原文是Chips and Cheese的测试(传送门原文)。

针对这个测试,我也简单的转述和分析一下。

理论篇:缓存为什么有用?

无论是L1、L2,还是L3,他们本质都是现代计算机内存系统中的缓存,他们的功能是通过局部性原理,减少CPU-内存通讯的开销。这些缓存的工作原理是将未来最有可能被访问到的数据,提前从内存中取出暂存,这样当CPU需要访问或者修改的时候,如果数据正好在缓存中,就不必再访问内存。

其实引入缓存其实会降低“CPU到内存”这条通路的性能的。原本访问内存是“CPU-内存”,现在可能是“CPU-缓存-内存”),增加了缓存这个站点,访问路径边长必然会增加CPU到内存的访问开销,更何况还要维护一致性。

但是这对于计算机来说完全不是问题,得益于局部性原理,只要保证引入缓存在总体上的开销小于不引入的开销就可以。

比如说原本“CPU-内存”访问是100ns,引入了缓存后这个“CPU-内存”的访问延长到了120ns,并且“CPU-缓存”的时间是20ns,那么如果保证有90%的时间数据可以直接在缓存中命中,那么(这个例子仅供参考,简化了很多)平均访问的时间期望是:0.9*20+0.1*120=18+12=30,对比原来减少70%的时间。

所以可以很明显的看到,缓存提升性能的重点就在于这个命中率和访问时间的期望。

假设我们刚刚那个例子中,命中率是90%是在缓存大小是64MB的情况下达到的,那么如果我们将缓存提升到128MB且其它不变时,命中率可以提升到95%,那么平均访问期望就是: 0.95*20+0.05*120=19+6=25,减少了1/6的时间。

但是每一类程序需要的缓存大小是不一样的,假设对于另外一个缓存敏感程序中,原本64MB的缓存下命中率只有50%(0.5*20+0.5*120=10+60=70),而128MB下命中提升到70%(0.7*20+0.3*120=14+35=49),那么加缓存的提升就比刚刚的那个例子影响要大。

相应的,对于一个缓存不敏感的程序,假设64MB下命中率已经99%(0.99*20+0.01*120=19.8+1.2=21),那么引入128MB后命中率不可能突破100%,访问期望不可能低于20,自然也就不可能获得大的性能提升。

而且上面这个例子还做了一个理想假设,就是增加缓存后并不会增加访问延迟。但现实情况下,因为使用缓存是一个查询操作,缓存越大则搜索空间越大,要保持同样访问延迟的难度越大。对于AMD Zen这种外挂L3的方案,增加L3基本就意味着访问开销会增加,大缓存反而可能带来访问时间倒退。

比如说,对于刚刚缓存不敏感的程序,64MB翻倍到128MB后缓存操作开销提升1ns,命中率达到99.5%, 其它不变,那么128MB下的访问期望是:(0.995*21+0.005*120=20.9+0.6=21.5),其实比64MB下性能还要差。

另外,缓存是会浪费电的,对于EPYC这种TDP限定的处理器,缓存变大就会挤占其它部分的功耗分配,降低总的运行频率,进一步限制性能。

所以,加大缓存并不能一味的提升性能,特别是当缓存本身已经足够大的情况下。总体而言,对于一个技术时代的产品,缓存只有最合适的大小一说,越大越好这个说法不会一直成立。

因此不用看评测我们就能猜测,对于EPYC 而言,加大缓存不一定代表着【普遍意义】上的性能提升,3D缓存的价值在于那些需要频繁访问内存且命中率还不足的程序中。

测试篇:一起看看EPYC 3D缓存版

下面我们结合Chips and Cheese(下文简称CAC)的测试来验证下上面的理论。

首先,CAC测试了缓存延迟周期,这个是忽略了单核心频率影响的绝对数值,更适合来看这个影响。可以看到加入了3D缓存后,Zen3的L3访问延迟增加了大约3个周期,但是显著降低了访问空间较大时的延迟。

我这里就不放延迟时间的图了,因为AMD的频率策略会干扰测试(单核跑不满TDP,有操作空间),这里AMD应该给了3D Vache版更高的单核频率(虽然参数表上一样),会造成错觉。

如果对比Intel的Icelake SP,大致也会看到缓存大小和缓存延迟的博弈,Icelake的L1更大,但是延迟周期也高了1ns:

除了访问延迟以外,吞吐(带宽)也是缓存系统的一个重要指标。从CAC的测试来看,加入了3D-VCache后,单核心访问L3的带宽提升了25%(依然是每个周期内的数字,忽略了频率影响),

不过情况到了多核访问(1个CCD)时就不一样了,加上了缓存以后,L3的带宽更低了(降低了12.5%),只是说持续的命中时间更长了。而且因为3D VCache的功耗因素,还导致了整体的降频,连带L1 L2的实际访问带宽更低了(下图2是实际带宽),L3则是降低了大约15%,完美的展现了副作用。

最后再来看看和Intel的对比把,Intel的L1 L2缓存带宽那可谓一颗赛艇,不过L3就萎靡了,其实看看Intel的Mesh就知道这个L3带宽上不去的。

最后做一个总结:以上的则是只是对内存系统的测试,实际的程序并不一直在访问内存系统,上述的性能提升不能代表整体的性能提升。

实际性能

对于实际性能的测试,因为加入了缓存挤占了功耗,这里的测试里可能缓存版的测试实际频率会更低,但是正好可以反映缓存的开销和利益权衡后的结果。

总结下,OpenSSL 实际性能提升7.6%,Gem5编译实际性能提升12.5%,X264编码提升5%,7Zip提升5%,Y-Cruncher慢了1.5%。 所以实际的性能提升在8%附近,考虑到可能的频率倒退,那么这几个测试里的IPC可能大概10%附近吧。

因为这个测试选择不太全,这里的性能数据和IPC数据并不太适用于所有场景,也不太合适正式的说IPC到底提升了多少。这几个测试不算太缓存不敏感,普遍都有提升,但也普遍不算太吃缓存的(吃的可以看AMD PPT)。

但是总的来说,CAC的测试里你可以看到增加缓存带来了一部分场景的性能提升,也带来了一部分场景的性能倒退,也算是印证了理论部分。

偷偷说一句,3D VCache的Milan X对于Intel Xeon也还算是精准差异化竞争,Intel上了Mesh后,Xeon L3的性能是死穴,3D VCache做到了有效打击。


user avatar   hjc4869 网友的相关建议: 
      

这个问题我替瓜答了

“我来这里的目的是带领曼城取得好成绩,并将曼城塑造成一支豪门球队”

“我知道应该怎么带领球队取得好成绩,也知道如何塑造一支豪门”

“所以我用我的方式管理球队,这不仅仅是对曼城负责,也是对我自己负责”

“我所做的一切事都是为了以上的目的,就这么简单。”

对于竞技体育的从业人员来说,自身的唯一价值就是在比赛中取得胜利。在竞技体育俱乐部里谈政治阴谋太可笑了。对于教练来说,只要不违反法律法规,一切手段争胜的手段都是正当的,当然包括弃用不合自己要求的老将。教练就应该用一切手段争取胜利,这是对俱乐部负责,也是对自己负责,因为不赢,教练就什么都不是。

假如你是个羽毛球运动员,你的老球拍用了10年,突然发现有了更好的新球拍卖。那你就应该毫不犹豫的放弃老球拍,去买新球拍。

在现实社会中换人比换球拍更复杂一些。但道理是一样的。




  

相关话题

  据消息爆料称三月份 AMD、NVIDIA 显卡价格将暴跌,都有哪些依据?还有哪些值得关注的信息? 
  英特尔点二缓AMD点三缓,是堆二缓厉害还是堆三缓厉害,哪个是方向错了? 
  如何评价AMD EPYC服务器处理器? 
  据消息爆料称三月份 AMD、NVIDIA 显卡价格将暴跌,都有哪些依据?还有哪些值得关注的信息? 
  intel第九代处理器上市,8代有必要升级吗? 
  如何评价锐龙处理器(AMD Ryzen)?对 AMD 的市场前景会有何影响? 
  为什么部分消费者称 AMD 的显卡为业界笑话? 
  如何评价 AMD 宣布 350 亿美元收购 FPGA 第一大厂赛灵思,对行业会有何影响? 
  如何评价 AMD Zen3 Ryzen 5000 的实测性能? 
  CPU是怎么解决Cache的冲突的? 

前一个讨论
22nm 芯片能做到 7nm 一样的性能吗?
下一个讨论
为什么华语乐坛中有很多优秀的蒙古族歌手,蒙古国音乐却并不出彩?





© 2025-06-17 - tinynew.org. All Rights Reserved.
© 2025-06-17 - tinynew.org. 保留所有权利