真正的反击:AMD发布EPYC 7000系列服务器CPU
本文地址:http://www.moepc.net/?post=2262
说实话,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配置
顶级的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
是否还有其他区别尚无法得知
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提供性能优势
由于Intel的服务器市场分级策略,用不上双路的用户也被迫购买双路平台,不然没法得到额外的拓展
所以针对双路出货量大的市场,AMD这次采用以一打二的策略,双路2650V4及以下可替换为单路EPYC,提供更多性能以及拓展。
实际性能
有人质疑这里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跑分比较后平均得来的。
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的速率,延迟未知
处理器间互连
处理器间的通信早已集成在每个Zeppelin晶片内部,并不是通过单一模块实现。
每个晶片与另一颗处理器上同位置的晶片相连,每条连接为37.9GB/s双向,每bit消耗~9pJ电能
由于物理距离更远,延迟应该要高于内部互连
所以双路间带宽共152GB/s,满速共10.94W功耗,每颗处理器5.48W,平均每个晶片1.368W。
处理器间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
好处是可以拆分:
每条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设备。
这和集成的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
安全解决方案:AMD安全处理器、SME、SEV、AES128引擎
这个去年10月就提到过:http://www.moepc.net/?post=664
内部集成的安全处理器是一颗32bit ARM Cortex-A5作为微控制器,运行安全OS/内核,使用安全的片外存储放置固件和数据 – 提供安全密钥生成及管理的功能。
首先是硬件验证启动(TPM),然后是安全内存加密(SME)和安全加密虚拟化(SEV)
加密从内存就开始了,内存管理单元上挂了个AES-128引擎。这是为了防止物理性内存攻击。每个虚拟机和系统管理程序都能够生成独立的密钥。操作系统或系统管理程序可以通过页表决定哪些页需要加密,DMA引擎可以为外部设备(网络存储、显卡)提供这些加密页面的访问。
由于每个虚拟机或容器都有各自的密钥,彼此隔离开来,防止交叉污染。未加密的虚拟机也可以和加密过的一起运行。密钥对虚拟机自身透明,由受保护的管理程序管理。都内置AMD-V技术。
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 八核只有调低的选项,这款主要面向内存需求高的用户,所以可以理解
基于负载感知的电源管理
在对延迟不敏感的情况下,将负载平均分给更多核心,降低频率和功耗
AMD称提升了最多10%的每瓦性能。
每个核心的频率和电压可以单独调整,精度到2mV
IF也可以动态调整,带来8%的每瓦性能
总体能耗比提升
与双路E5-2699AV4对比,AMD称整数性能的能耗比达到了1.54倍,浮点性能的能耗比达到1.76倍
实际情况得看测试。
AMD正在构建生态系统
AMD这次拉到了不少大客户,发布会上有惠普企业(HPE)、戴尔(Dell)、微软等
惠普企业推出Cloudline产品线 – CL3150
戴尔EMC 则是把Epyc搬上世界最畅销服务器之一:最新一代PowerEdge
Supermicro也有服务器主板
微软Azure的Project Olympus也将部署Epyc:http://www.moepc.net/?post=1427
原文作者: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
评论点正经的,软件环境要跟上,现在只能用CUDA也是无奈
@剧毒术士马文:你的操作系统图标消失了,这真是有趣的评论框架
@轮子妈:你这个粉色爱心是什么加成?
普通PC当服务器用也是辛苦了
NAS,Web Server,Gaming PC,Firewall一机多用不是梦
amd 桌面旗舰16核被intel粉嘲笑成胶水,,对此你有何看法。。
@哼哼先生:不论异点本身的属性如何,只要是异点就都有可能成为评判者的笑柄。比如上小学时我用左手写字就被人笑话。我老爷子出国为单位采购,我就被同学说成走狗。我相信任何高中能够毕业的人,只要静下心来好好思考一下,就不会被人耻笑成小学水平。
对于真正的用户,是不是胶水这有什么区别吗?如果胶水让成本降低一半,那我们如何看待胶水呢?
@amdfan:这不是异点,是拿你用的技术没有那么“先进”来开嘲讽。但这只有在技术实际效果差距很大的时候才有意义,比如Intel以前的胶水双核,我记得是绕出北桥通讯的吧,Intel就是在打自己脸
@哼哼先生:三十年河东,三十年河西……
@哼哼先生:因为实在找不到其他槽点,包括性能
酸胶水这个是Intel自己说的
我建议把ICC优化作弊的言论直接删除。
最快websever gwan的速度是nginx的10多倍。据说就是汇编优化过的。所以编译器让程序运行提速50%很正常。
@amdfan:这是对单个项目针对优化
算是“破解”掉了,提速1000%
没有体现任何真实性能
真正用ICC的有几个,这玩意就是针对优化跑分,用GCC就正常了
这和你说的是两码事,性质不同
所以SPEC2017已经移除libquantum这个项目
自己去查一下吧。为何更改原项目ICC就会故意拒绝编译。
if总线这么牛X 卖磁盘扩展卡的要日狗了 只剩下raid功能有价值
似乎有个坏消息,Ryzen的IRETQ指令有Bug。
https://www.phoronix.com/forums/forum/hardware/processors-memory/955368-some-ryzen-linux-users-are-facing-issues-with-heavy-compilation-loads/
@轮子妈:这个早就辟谣了
内存不稳定造成的
@剧毒术士马文:我在我的机器上观测到了这个问题。
GCC会崩溃,Machine Check会报L2相关的错误。
@轮子妈:这篇文章有很多说全天无休允许gcc也不会出问题,除非超频。我自己也用1700编译过chrome过,比较顺利。
@amdfan:我确实遇到了问题,但是每次崩溃的只有gcc和bash。
@轮子妈:等看B2步进的情况
出问题的可能性很多
@剧毒术士马文:这机器半小时前死机了。
@轮子妈:多半内存问题
B2步进的核心部分基本没有改动
@剧毒术士马文:之前用得鱼竿厂内存,欢快地跑了3天以后内存颗粒嗝屁了。
退货换了镁光白马甲。
但是除了gcc/glibc/bash报段错误和MCE报L2缓存错误以外没有报别的错误过,memtest86+也测不出毛病。
@剧毒术士马文:明天过去看看到底发生了什么。
没有IPMI真蛋疼。
@轮子妈:多半还是内存问题
可以试试加下电压
@剧毒术士马文:看了一下dump。
似乎在某些特殊情况下Ryzen处理器会执行比正确地址低0x40的指令。
这是个很要命的问题。
@剧毒术士马文:缓存行的长度刚好是0x40。
http://www.e-hdk.com/diary/d201706c.html
http://satoru-takeuchi.hatenablog.com/entry/2017/04/24/135914
两篇日语文章,你看起来肯定比我这个完全不懂日语的好很多。
@剧毒术士马文:搞了一个大新闻。
http://bbs.nga.cn/read.php?tid=11888409
你可以转载。
@轮子妈:在官方正式说明之前无法下结论。
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官方的所有留言我都看了,我只能说,在官方给出更新和解决方案之前,无法妄下结论。
@剧毒术士马文:我请求了AMD官方技术支持。希望我能绕过三哥的外包客服直接找到高级客服。
农企临时工 某伦 还经常请教我AMD显卡Linux驱动问题,他是不能指望了。
@剧毒术士马文:另外上面的办法我全部试过。我还重新编译了glibc和binutils。
昨天出事的时候SMT是开启的,ASLR关闭了,电压都是开启防掉压的,SoC电压在0.975V,不是特别低,内存加到1.35V。
@轮子妈:0.975算低了
@剧毒术士马文:华擎某些板子默认值是0.8V来着。
我已经比微星默认0.9V加了0.075V了,不算少。
内存频率只有2400呀,不需要那么高的SoC电压。