数码科技

真正的反击:AMD发布EPYC 7000系列服务器CPU

本文地址:http://www.moepc.net/?post=2262

img052.jpg

说实话,AMD今年3月发布的Ryzen – 也就是Zen架构的主流产品,对于AMD来讲并不是今年最重要的产品,但也已带来了足够的竞争。服务器产品才是AMD在今年的重中之重,这里是市场份额和盈利的主要来源。

今天AMD正式发布了服务器处理器 – EPYC。

EPYC是什么?

点击查看原图

EPYC处理器是AMD的服务器CPU产品线,实际上是4个Zeppelin晶片(Ryzen上使用的)MCM封装而成,每个Zeppelin晶片可提供8核心、32条PCIe 3.0通道、双通道DDR4。

加起来一共32核心、128条PCIe、8通道DDR4

晶片间采用Infinity Fabric链接,关于IF的解析看这篇吧:AMD 芯片基石:Infinity Fabric解析


每颗EPYC 7000处理器能提供128条PCIe 3.0通道,相当于I/O +6块 PCIe 3.0 x16 满速显卡,或者32块NVMe存储

所有PCIe都可分配给I/O设备,比如SATA存储或者网络接口,抑或设置成Infinity Fabric互联模式,连接其他产品。

此外每颗EPYC都有4个I/O集线器,带来额外的存储支持

每路8通道DDR4 – 容量最大2TB。

点击查看原图

双路平台上每路处理器会分出64条PCIe配置成Infinity Fabric模式作为互连,所以双路依然是128条PCIe

内存容量和通道数翻倍为4TB、16通道。

点击查看原图


EPYC产品线

今天AMD公开了12款EPYC 7000系列处理器的规格。其中9款为双路,3款为单路。

顶级的4款今天开售,其余的7月底。

目前的EPYC已经是B2步进。



B2步进,图源:STH

命名方式:

EPYC – 品牌名

首位数字 7:EPYC 7000系列

后两位数字:产品定位、性能

最后一位 – 1:第1代

P:单路处理器

所以将来可能会有EPYC 7XX2之类的新版本,还可能会拓展出新的系列(EPYC 5000/3000?)

点击查看原图

点击查看原图

全部EPYC 7000处理器都有完整的128条PCIe 3.0通道

都有完整的64MB L3
都支持8通道 DDR4 2666

那么基本只有核心数、频率上的差异,并不会因为定位不同就阉割某些东西。

32核为8+8+8+8,24核为6+6+6+6,

16核为4+4+4+4,8核为2+2+2+2配置


img012.jpg

顶级的EPYC 7601为32核/64线程,基础频率2.2GHz,32核加速2.7GHz,最大频率3.2GHz。当活跃核心数<12时可达到3.2GHz的最大频率(也会受散热等其他因素影响)。

点击查看原图

下面的两款7551/7501规格差不多,频率稍有区别,与7601一样,当活跃核心数<12时可达到3.0GHz的最大频率(也会受散热等其他因素影响)。

7551的TDP为180W,而7501的TDP为155/170W

AMD解释说有两种TDP的CPU在155W时支持DDR4 2400,在170W时支持DDR4 2666

是否还有其他区别尚无法得知

img013.jpg

24核的SKU也差不多情况,只是EPYC 7401在155W模式下,只有最多8核能达到加速频率

16核SKU目前还没发售,频率也更低,都有155/170W两种TDP

而八核的EPYC 7251就有点奇怪了,2.1GHz基础频率,2.9GHz最大频率,TDP 120W

频率比他高的Ryzen 7 1700 TDP也只有65W

因为7251是2+2+2+2配置,相当于每颗晶片开启2核心,每个CCX只有1颗核心,保留了完整的64MB L3,每核心独占8MB L3;

还有八通道内存和PCIe,耗电自然就上去了

这个SKU是给需要更多内存,或者每核心更多缓存的用户提供的。

AMD的策略


当前双路占了服务器市场的80%,所以EPYC提供最多双路选项

同时双路出货量最大的也并不是高端产品,50%以上是E5-2650V4以下的中低端产品


所以在双路市场,同价位AMD提供性能优势

img060.jpg

由于Intel的服务器市场分级策略,用不上双路的用户也被迫购买双路平台,不然没法得到额外的拓展

所以针对双路出货量大的市场,AMD这次采用以一打二的策略,双路2650V4及以下可替换为单路EPYC,提供更多性能以及拓展。

img063.jpg

实际性能


有人质疑这里AMD给出的性能是否客观,尾注AMD写出:Intel至强的分数来自于spec官网,为了将ICC换算为GCC乘以了0.575的系数

为什么要乘以0.575?

因为Intel在spec官网的分数使用的是自家的ICC编译器,针对spec进行了针对性优化(说的好听点,实际上就是zuobi)

SPECint_rate_base2006中462.libquantum分数过高,达到了20200,导致整体分数比实际值要高。

这个系数是AMD用各种不同Intel系统的ICC和GCC跑分比较后平均得来的。


QQ截图20170621175740.png

QQ截图20170621175812.png

QQ截图20170621175819.png

AMD称用GCC编译 -O2标志,E5-2699AV4的性能比ICC下降了43%(0.575x)。

ICC并不是很常用,用的最多的还是GCC和MSVC等

ICC得出的分数的确需要做调整,至于差距有没有43%这么多就不好说了

每家自己的PPT性能都会含那么点水分

所以EPYC和Broadwell-E的实际性能对比还是要等实测。

带宽

由于采用了4xMCM设计,EPYC实际上就是一个NUMA架构

处理器内部

在同一颗EPYC处理器内部,每个Zeppelin晶片都是通过InfinityFabric直接与其他晶片相连,所以数据在晶片间传输只需要1次跳跃

每条IF带宽为双向42.6GB/s,每bit消耗大概~2pJ的电能(每条IF 0.672W,1条IF在每个晶片上为0.336W,总共4.032W)

参照:Intel在Broadwell上用的eDRAM为50GB/s双向

总共6条IF提供了每秒2Tbit的速率,延迟未知

img001.jpg

处理器间互连

处理器间的通信早已集成在每个Zeppelin晶片内部,并不是通过单一模块实现。

每个晶片与另一颗处理器上同位置的晶片相连,每条连接为37.9GB/s双向,每bit消耗~9pJ电能

由于物理距离更远,延迟应该要高于内部互连

所以双路间带宽共152GB/s,满速共10.94W功耗,每颗处理器5.48W,平均每个晶片1.368W。

img002.jpg

QQ截图20170621211728.png

处理器间IF加上处理器内部IF的功耗,平均每个Zeppelin晶片上的IF在满速会消耗2.376W电能。

PCIe带宽

每颗EPYC 7000处理器都支持128条PCIe 3.0。

8条 x16的连接可以以8GT/s的PCIe模式工作,也可以在10.6GT/s的IF模式下工作。

PCIe模式下每条连接有32GB/s的双向带宽,8条共256GB/s

好处是可以拆分:

img003.jpg

每条x16的连接支持InfinityFabric(绿色)、PCIe(蓝色)和SATA(紫色)。

PCIe可以一直拆分到x1,但每个PCIe x16连接最多只支持8个PCIe设备,所以最好是x8+ x4+ x2+ x1+ x1+ x1+ x1+ x1

SATA拓展方面也一样,每条x16连接可以支持8个SATA设备

每个处理器可以插64块存储/拓展设备,不需要任何交换/桥接,全部都是直连。

同时也支持NVMe,支持最多32个NVMe设备。

img005.jpg

这和集成的Server Controller Hub也有关,这个集线器提供4个USB 3.0,2个SMBus(与I2C共享),6个I2C,1个SPI,1个eSPI,1个SPI TPM,GPIO等等

总体带宽

内存:每路170GB/s,双路340GB/s

处理器内部晶片互连:双向170GB/s【按6条算是255.6GB/s】

双路互连:双向152GB/s

img101.jpg

img006.jpg

安全解决方案:AMD安全处理器、SME、SEV、AES128引擎

这个去年10月就提到过:http://www.moepc.net/?post=664

内部集成的安全处理器是一颗32bit ARM Cortex-A5作为微控制器,运行安全OS/内核,使用安全的片外存储放置固件和数据 – 提供安全密钥生成及管理的功能。

首先是硬件验证启动(TPM),然后是安全内存加密(SME)和安全加密虚拟化(SEV)

img092.jpg

img041.jpg

img093.jpg

img042.jpg

img094.jpg

加密从内存就开始了,内存管理单元上挂了个AES-128引擎。这是为了防止物理性内存攻击。每个虚拟机和系统管理程序都能够生成独立的密钥。操作系统或系统管理程序可以通过页表决定哪些页需要加密,DMA引擎可以为外部设备(网络存储、显卡)提供这些加密页面的访问。

由于每个虚拟机或容器都有各自的密钥,彼此隔离开来,防止交叉污染。未加密的虚拟机也可以和加密过的一起运行。密钥对虚拟机自身透明,由受保护的管理程序管理。都内置AMD-V技术。

img096.jpg

L1数据缓存采用SEC-DED ECC,L2/L3则是DEC-TED ECC。内存支持x4 DRAM device failure correction。

电源管理及性能

EPYC也支持0.25个倍频调整

每个EPYC CPU都支持两种模式,基于功耗和基于频率的模式。

启动时可以设置系统到特定的功耗,频率会变动,但功耗受限

也可以设置特定频率,但功耗不定

EPYC还可以设置特定的功耗,类似于cTDP

目前看TDP可以调高20W,或者降低15W

最低端的120W 八核只有调低的选项,这款主要面向内存需求高的用户,所以可以理解

img014.jpg

基于负载感知的电源管理

在对延迟不敏感的情况下,将负载平均分给更多核心,降低频率和功耗

AMD称提升了最多10%的每瓦性能。

img015.jpg

每个核心的频率和电压可以单独调整,精度到2mV

img017.jpg

IF也可以动态调整,带来8%的每瓦性能

img016.jpg

总体能耗比提升


与双路E5-2699AV4对比,AMD称整数性能的能耗比达到了1.54倍,浮点性能的能耗比达到1.76倍

实际情况得看测试。

img018.jpg

img019.jpg

AMD正在构建生态系统

AMD这次拉到了不少大客户,发布会上有惠普企业(HPE)、戴尔(Dell)、微软等

惠普企业推出Cloudline产品线 – CL3150

戴尔EMC 则是把Epyc搬上世界最畅销服务器之一:最新一代PowerEdge

Supermicro也有服务器主板

微软Azure的Project Olympus也将部署Epyc:http://www.moepc.net/?post=1427

img067.jpg

img068.jpg

原文作者:Ian Cutress

内容有增删

本站编译,转载请注明出处。

本文地址:http://www.moepc.net/?post=2262

http://www.anandtech.com/show/11551/amds-future-in-servers-new-7000-series-cpus-launched-and-epyc-analysis

https://www.spec.org/cpu2006/results/res2017q2/cpu2006-20170503-46962.html

http://techreport.com/review/32125/amd-epyc-7000-series-cpus-revealed

剧毒术士马文

留学中 Comp.Arch|RISCV|HPC|FPGA 最近沉迷明日方舟日服 联系方式请 discord 或者 weibo 私信。目前不在其他平台活动。 邮箱已更新为[email protected]。 看板娘:ほし先生♥

相关文章

32 评论

  1. 评论点正经的,软件环境要跟上,现在只能用CUDA也是无奈

  2. @剧毒术士马文:你的操作系统图标消失了,这真是有趣的评论框架

  3. amd 桌面旗舰16核被intel粉嘲笑成胶水,,对此你有何看法。。

    1. @哼哼先生:不论异点本身的属性如何,只要是异点就都有可能成为评判者的笑柄。比如上小学时我用左手写字就被人笑话。我老爷子出国为单位采购,我就被同学说成走狗。我相信任何高中能够毕业的人,只要静下心来好好思考一下,就不会被人耻笑成小学水平。
      对于真正的用户,是不是胶水这有什么区别吗?如果胶水让成本降低一半,那我们如何看待胶水呢?

      1. @amdfan:这不是异点,是拿你用的技术没有那么“先进”来开嘲讽。但这只有在技术实际效果差距很大的时候才有意义,比如Intel以前的胶水双核,我记得是绕出北桥通讯的吧,Intel就是在打自己脸

    2. @哼哼先生:因为实在找不到其他槽点,包括性能
      酸胶水这个是Intel自己说的

  4. 我建议把ICC优化作弊的言论直接删除。
    最快websever gwan的速度是nginx的10多倍。据说就是汇编优化过的。所以编译器让程序运行提速50%很正常。

    1. @amdfan:这是对单个项目针对优化
      算是“破解”掉了,提速1000%
      没有体现任何真实性能
      真正用ICC的有几个,这玩意就是针对优化跑分,用GCC就正常了
      这和你说的是两码事,性质不同
      所以SPEC2017已经移除libquantum这个项目
      自己去查一下吧。为何更改原项目ICC就会故意拒绝编译。

  5. if总线这么牛X 卖磁盘扩展卡的要日狗了 只剩下raid功能有价值

  6. 似乎有个坏消息,Ryzen的IRETQ指令有Bug。
    https://www.phoronix.com/forums/forum/hardware/processors-memory/955368-some-ryzen-linux-users-are-facing-issues-with-heavy-compilation-loads/

    1. @轮子妈:这个早就辟谣了
      内存不稳定造成的

      1. @剧毒术士马文:我在我的机器上观测到了这个问题。
        GCC会崩溃,Machine Check会报L2相关的错误。

    2. @轮子妈:这篇文章有很多说全天无休允许gcc也不会出问题,除非超频。我自己也用1700编译过chrome过,比较顺利。

      1. @amdfan:我确实遇到了问题,但是每次崩溃的只有gcc和bash。

        1. @轮子妈:等看B2步进的情况
          出问题的可能性很多

          1. @剧毒术士马文:这机器半小时前死机了。

          2. @轮子妈:多半内存问题
            B2步进的核心部分基本没有改动

          3. @剧毒术士马文:之前用得鱼竿厂内存,欢快地跑了3天以后内存颗粒嗝屁了。
            退货换了镁光白马甲。
            但是除了gcc/glibc/bash报段错误和MCE报L2缓存错误以外没有报别的错误过,memtest86+也测不出毛病。

          4. @剧毒术士马文:明天过去看看到底发生了什么。
            没有IPMI真蛋疼。

          5. @轮子妈:多半还是内存问题
            可以试试加下电压

          6. @剧毒术士马文:看了一下dump。
            似乎在某些特殊情况下Ryzen处理器会执行比正确地址低0x40的指令。
            这是个很要命的问题。

          7. @剧毒术士马文:缓存行的长度刚好是0x40。
            http://www.e-hdk.com/diary/d201706c.html
            http://satoru-takeuchi.hatenablog.com/entry/2017/04/24/135914
            两篇日语文章,你看起来肯定比我这个完全不懂日语的好很多。

          8. @剧毒术士马文:搞了一个大新闻。
            http://bbs.nga.cn/read.php?tid=11888409
            你可以转载。

          9. @轮子妈:在官方正式说明之前无法下结论。
            SEGV发生的根本原因目前还不明了
            日文原贴的原作者在日本发现10个人左右,其他国家20人,范围不大。
            日本人那两个帖子比较详细
            有的人是不知道GCC7 luatex有bug
            有的人是内存本身问题,或者内核/SOC给的电压不够。
            更新AGESA到1.0.0.6稳定版。
            此外可以尝试把 /proc/sys/kernel/randomize_va_space设置为 0
            有人设置禁用微指令缓存和ASLR、SMT说没问题。
            并不排除Ryzen的问题,看似和SMT/micro-op缓存有关联,读取了错误位置的缓存
            在Gentoo、Phoronix和AMD官方的所有留言我都看了,我只能说,在官方给出更新和解决方案之前,无法妄下结论。

          10. @剧毒术士马文:我请求了AMD官方技术支持。希望我能绕过三哥的外包客服直接找到高级客服。
            农企临时工 某伦 还经常请教我AMD显卡Linux驱动问题,他是不能指望了。

          11. @剧毒术士马文:另外上面的办法我全部试过。我还重新编译了glibc和binutils。
            昨天出事的时候SMT是开启的,ASLR关闭了,电压都是开启防掉压的,SoC电压在0.975V,不是特别低,内存加到1.35V。

          12. @剧毒术士马文:华擎某些板子默认值是0.8V来着。
            我已经比微星默认0.9V加了0.075V了,不算少。
            内存频率只有2400呀,不需要那么高的SoC电压。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部按钮