失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > amd服务器和intel服务器性能 服务器CPU内存性能哪家强?AMD or Intel?

amd服务器和intel服务器性能 服务器CPU内存性能哪家强?AMD or Intel?

时间:2020-06-16 20:46:02

相关推荐

amd服务器和intel服务器性能 服务器CPU内存性能哪家强?AMD or Intel?

原标题:服务器CPU内存性能哪家强?AMD or Intel?

基准配置和方法

MCT的一位导师在EPYC 7601、Skylake, 和Cascade Lake machines上进行了一项测试。

除了运行Ubuntu 19.04的EPYC 7742服务器之外,所有的测试都是在Ubuntu服务器18.04 LTS上进行的。因为19.04已经验证了对Rome的支持,并且有两周的测试时间。Linux内核4.19及更高版本支持Rome(包括X2APIC/IOMMU补丁,利用256个线程)。

这次测试的服务器配置有所不同,动态随机存取存储器的容量也不同。这当然是因为Xeons有六个内存通道,而EPYC处理器有八个通道。本次所有的测试都适合128 GB,所以动态随机存取存储器的容量不应该对性能有太大影响。

AMDDaytona - Dual EPYC 7742

AMD提供了一台“Daytona XT”服务器,这是一个由ODM Quanta (D52BQ-2U)构建的参考平台。

虽然225W TDP CPU需要额外的散热装置和散热器,但是仍然可以在常温下运行。

AMD EPYC 7601—(2U机箱)

英特尔Xeon “Purley”服务器–S2P2S 3Q(2U机箱)

支持超线程和英特尔虚拟化加速

内存子系统:带宽

如前文所述,使用John McCalpin的流带宽基准测试来测量全带宽潜力已经成为一个极端调优的问题,需要对平台有非常深刻的理解。

如果我们使用以前的二进制文件,第一代和第二代EPYC都无法超过200-210 GB/s。尽管我们现在有8通道DDR4-3200,但它给人的感觉是遇到了“带宽限制”。因此,我们使用英特尔和AMD使用AVX-512(英特尔)和AVX-2 (AMD)产生的最佳二进制结果。

结果以每秒千兆字节表示。

将每个插槽的节点数设置为4,AMD还可以设置更高的数量。每个插槽4个节点时,AMD报告高达353 GB/s。NPS4将导致CCX只能访问中央IO集线器芯片上延迟最低的内存控制器。

这些数字只关系到AVX(-256/512)优化的一小部分高性能计算应用程序。与英特尔最好的SKU(28核)相比,AMD声称拥有45%的优势。我们完全有理由相信它们,但它们只与特定领域相关。

对于95%以上的其他领域,内存延迟的影响要比峰值带宽大得多。

内存子系统:延迟

出于对可扩展性和价格等原因的考虑,AMD选择在移动端、桌面和服务器之间共享核心设计。Rome的Core Complex(CCX)仍然和上一代保持一致。

不同的是,每个CCX与中央输入输出集线器通信,而不是在4节点NUMA布局中的4个芯片通信(该选项仍然可以通过NPS4开关控制,使每个CCD都位于其sIOD象限以及那些本地存储器控制器的本地,避免了在sIOD象限之间的转换,从而避免了一些延迟)。因此,由于现代处理器的性能在很大程度上依赖于高速缓存子系统,我们非常好奇当服务器线程访问高速缓存层次结构中越来越多的页面时,会发生怎样的延迟。

我们正在使用自己的内部延迟测试。我们特别感兴趣的是估计处理器的结构化延迟,这意味着我们试图忽略TLB缺失,除了动态随机存取存储器延迟,在动态随机存取存储器延迟中,平台之间的延迟测量变得更加复杂,我们恢复到完全随机的数字。

今年十月一日,我们发现了最初发布的延迟数字不准确,随后用新的测试工具用更具代表性的数字更新了这篇文章。

当开始观察L2以外的缓存深度时,一切都变得非常有意思。在AMD达到了512KB的速度后,英特尔的速度是1MB,但是AMD的L2比英特尔更大的高速缓存更具备速度上的优势。

AMD速度优势越来越明显的地方是L3缓存,它明显比英特尔的芯片快得多。最大的不同是对于EPYC 7742来说,AMD的L3仅在4核CCX本地,现在是7601的两倍,可以达到16MB。

目前,这对于AMD平台来说是一把双刃剑:一方面,EPYC处理器的总缓存量要大得多,7742处理器的总缓存量高达256兆,是7601处理器的四倍,远远超过英特尔的很多平台(Xeon 8180、8176、8280处理器的总缓存量为38.5兆,Xeon E5-2699 v4处理器的总缓存量为55MB)。

AMD的缺点是虽然它们有更多的缓存,但EPYC 7742更像是由16个CCX组成,它们都有一个非常快的16 MB L3。尽管64核现在是一个大的NUMA节点,但64核芯片基本上是16x 4核,每个都有16 MB L3缓存。一旦你超过了16 MB的缓存,预取器可以缓解这一打击,但是你将访问主动态随机存取存储器。

奇怪的是,访问驻留在同一个芯片上但不在同一个CCX的数据和访问完全不同的芯片上的数据一样慢。这是因为不管另一个CCX在哪里,不管它是在同一芯片上的附近还是在芯片的另一侧,数据访问仍然必须通过中频到达输入输出芯片,然后再返回。

这一定是件坏事吗?答案是:大多数时候都不是。首先,在大多数应用程序中,L3缓存只能回答低百分比的访问。其次,CCX的每个内核都有不少于4 MB的L3可用空间,远远超过英特尔内核的可用空间(1.375 MB)。预取器有更多的空间来确保数据在需要之前就存在。

但是数据库性能可能仍然会有所下降。例如,将大部分索引保存在缓存中可以提高性能,尤其是OLTP访问往往非常随机。其次,中央集线器上相对较慢的通信会减慢同步通信。英特尔声称,在28核英特尔至强8280处理器上,OLTP hammerDB的运行速度比在EPYC 7601处理器上快60%,这一事实证明了这一点。

但是对于绝大多数高端CPU来说,它们将运行许多并行应用程序,如运行微服务、码头集装箱、虚拟机、映射/减少较小的数据块和并行高性能计算作业。几乎在所有情况下,4核16 MB L3就足够了。

仔细想想,当运行一个8核虚拟机时,可能会出现性能受到一点影响的小问题。

简而言之,AMD没有使用更大的8核CCX,因此仍有一些性能有待提高。我们期待着看到未来平台会发生什么。

内存子系统:TinyMemBench

我们用Andrei的自定义内存延迟测试来验证LMBench的数值。

延迟工具还可以测量带宽,这比我们一旦超过16 MB,就可以访问动态随机存取存储器更加清晰。当安德烈将我们的Ryzen 9 3900x倍数字进行比较时,他指出:

与Ryzen 3000相比,部分预取器似乎针对Rome进行了调整。实际上,预取器没有消费类产品那么具有攻击性,我们相信AMD做出这一选择的原因是,如果预取器占用太多带宽,相当多的应用程序(Java和高性能计算)会受到影响。通过减少Rome的预存器的攻击性,它可以帮助测试性能。

测量不同大小缓冲器中随机存储器访问的平均时间表现为:缓冲区越大,TLB、L1/L2高速缓存未命中和动态随机存取存储器访问的相对贡献就越大。所有这些数字代表额外的时间,这需要添加到L1缓存延迟(4个周期)中。

我们测试了双随机读取,因为我们想知道内存系统如何处理多个读取请求。

该图显示了与EPYC 7601相比,EPYC 7742更大的L3缓存如何导致4到16 MB之间的更低延迟。与英特尔的网状(8280)和环形拓扑(E5)相比,CCX内部的L3缓存也非常快(2-8 MB)。

然而,一旦我们访问超过16 MB的内存,英特尔就有了明显的优势,因为共享三级高速缓存速度更慢,但容量更大。当我们在更高级的NUMA设置中测试新的EPYC处理器时(NPS = 4个设置,意味着每个插槽4个节点),64 MB的延迟从129降低到119。我们引用AMD的工程:

在网络处理器4中,NUMA域以小芯片总是访问近(2通道)动态随机存取存储器的方式报告给软件。在NPS1中,8ch是硬件交错的,并且有更多的等待时间到达另外一个。它因多对动态随机存取存储器通道而异,最远的通道比最近的通道相距约20-25纳秒(取决于不同的速度)。一般来说,通道对的延迟为+~6-8ns、+~8-10ns、+~20-25ns,而物理上最近的通道对的延迟为+~ 6-8 ns、+~ 8-10 ns、+~ 20-25 ns。"

这也解释了为什么选择工作负载的AMD状态在NPS = 4时可以获得更好的性能。

参考链接:/show/14694/amd-rome-epyc-2nd-gen/5返回搜狐,查看更多

责任编辑:

如果觉得《amd服务器和intel服务器性能 服务器CPU内存性能哪家强?AMD or Intel?》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。