如果说Ryzen在桌面上完美归来,为重塑公司和产品形象奠定了基础,那么今天发布的EPYC(霄龙)服务器平台,就是AMD全面扭转竞争态势的天王山战役。多年前,AMD因为各种原因离开了利润丰厚的、广阔的x86服务器市场,现在终于回来了!
EPYC服务器处理器和桌面、移动领域的Ryzen一样,都是基于全新的Zen架构,但是针对服务器、数据中心做了大量的针对性设计和优化,毕竟这些领域对于软硬件的要求都太高了。
AMD也毫不吝啬地公布了有关EPYC平台的大量细节,其中凝聚了众多工程师的心血,值得细细品味,当然很多细节技术性都比较强,我们也不会过多地深入,就带着大家大致了解一下。
【服务器版的Zen架构】
Zen架构在设计之初,就充分考虑了不同市场领域的适应性,桌面、移动、服务器(数据中心)都要靠这一套架构拿下,这和Intel近些年的理念也是类似的。
Zen微架构设计,EPYC、Ryzen是相通的,包括核心与缓存配置,AMD从数据中心应用角度做了重新梳理介绍,也可以参考我们此前的解析。
当然,Zen架构也有诸多面向服务器和数据中心的针对性设计,比如大数据负载、虚拟化增强、安全加密增强。
除了标准指令集,EPYC还增加了大量新的指令集,更好地优化数据中心应用,其中既有和Intel通用的,也有两条AMD独有的:CLZERO(清理缓存行)、PTE Coalescing(4K页表合并为32K)。
虚拟化方面也加入了不少新指令集,包括Data Poisoning内存错误处理、AVIC高级虚拟化中断控制器、Nested Virtualization嵌套虚拟化、SME安全内存加密、SEV安全加密虚拟化。
虚拟化延迟,可比推土机架构降低50%。
52% IPC(每时钟周期指令集)的架构性能提升,EPYC同样是适用的。
【数据中心优化】
EPYC的设计原则有四个方向,包括每路能力、Fabric互连、内存、IO,接下来都会涉及到。
AMD认为,现有的双路系统存在诸多局限,比如IO扩展有限、配合第二路CPU才能有完整IO、CPU间专用链接无法拥有其他IO、平台需要PCI-E切换和芯片组等。
EPYC重点改进了这些方面,无需PCI-E每双路系统就能提供多达128条PCI-E,整合芯片组为SoC单芯片设计,支持全新的Infinity Fabric互连。
即使是单路EPYC,扩展性依然充足,包括128条PCI-E、所有链接都能用于IO、四个IO Hub、完整支持PCI-E P2P。
EPYC每颗处理器都能提供128条PCI-E,单路系统中可全部用于外部IO,双路系统中各拿出64条用于两颗CPU互连,然后各有64条对外IO,总计还是128条。相比之下,Intel单路平台仅40条,双路也才80条。
EPYC集成了一套独立的安全子系统,整合的AMD安全协处理器(ARM Cortex-A5架构的32位控制器),运行于安全的系统/内核,可以确保固件数据等片外非易失性存储的安全,提供安全加密功能,并可实现硬件验证启动。
SME安全内存加密是基于硬件的,可以保护物理内存免受攻击,单个安全密钥,操作系统/虚拟器管理器可以自己选择需要需要加密的页面,而网络、存储、显卡等硬件设备可以无缝访问加密页面。
SEV安全加密虚拟化则可以保护虚拟机免受其他虚拟你、非法管理员、不信任虚拟机管理器的伤害,每个虚拟机和管理器都有独立的秘钥,彼此加密隔离,并与AMD现有的AMD-V虚拟化技术整合。
针对虚拟化,EPYC在二三级缓存、核心间延迟、缓存和内存拓扑方面都做了优化。
企业级的RAS(可靠性/可用性/可服务性)也是一应俱全。
Infinity Fabric总线串联起了EPYC系统的几乎所有部分,具备低延迟、可伸缩性、可扩展性等特点,并有SCF、SDF两层控制与管理结构,将处理器、显卡、加速器、内存等有机地结合起来。
SCF可以提供SoC和系统级的连接与控制,并提供安全增强、电源管理、远程管理等。
EPYC的有效内存带宽可以达到290GB/s,相比于Broadwell Xeon高出多达150%。
同时从单路到双路的性能扩展几乎完美,可以提升多达98%。
【IO与互连】
内存方面,EPYC每路支持八个DDR4通道,每通道最多两条,也就是每路可以搭配最多16条内存,包括RDIMM、LRDIMM、NVDIMM-N、3DS DIMM等各种类型,频率最高2667MHz,容量最高2TB。
EPYC每颗内部都有四个独立内核,彼此之间如何通信是个大问题,这同样仰仗张Infinity Fabric,每两个内核之间都可以直连(共六条),双向带宽42GB/s,并且延迟很低(具体多少没说)。
而在两颗EPYC处理器之间,也有四条Infinity Fabric,每个内核与另一颗处理器内的配对内核相连(单个带宽38GB/s总计152GB/s),这样任意两个内核彼此通信,最多只需要两跳。
单路和双路EPYC都可以对外提供八个x16链接(总计128 PCI-E),能任意拆分组合,每链接双向带宽32GB/s,合计256GB/s,支持各种PCI-E特性并整合了SATA。
单路扩展性都能完胜Xeon。
EPYC是一个SoC单芯片设计,整合了芯片组(SCH),可提供平台时钟发生器、计时器、实时时钟、中断、UART、四个USB 3.0、两个SMBus、六个I2C、SPI、GPIO等等。
AMD很大方地公布了各处互连的带宽数据,不过延迟只是说很低,没有具体指标。
双路系统:64核心、4TB内存、128条PCI-E。
单路系统:32核心、2TB内存、128条PCI-E。
【电源管理】
在一套典型的双路服务器系统中,处理器的功耗占了整体的53%,当然是首要的优化对象,排第二的内存也只占14%。
EPYC集成了先进的电源管理系统,整个处理器内部遍布上千个传感器,32个核心都能以1毫秒的间隔实时调节状态。
全方位的功耗和温度监控,可以根据工作负载,实时适应性调整运行状态,尤其是频率,以确保不超过功耗限制。
精细的电压和频率控制,可以根据功耗分布,让处理器运行在最佳状态,活跃核心较少的时候可以自动提高频率。
我们知道,每颗处理器的体质都不一样,包括温度、漏电率等都会有差异,而有的环境需要在各种条件下保持性能一致,有的则要求始终发挥最高性能,为此EPYC可以在启动时选择任何一种运行状态。
EPYC的热设计功耗也是可以根据需要调节的,需要高性能的就加强,需要低功耗的就削弱一些,比如180W的最高可以到200W,最低则可以到165W。
服务器应用基本都可以让所有核心都跑起来,但此时无论负载高低,默认各个核心都会运行在高频率,造成浪费,AMD则加入了新的算法,可以根据负载程度动态优化,能效可提升最多10%。
EPYC虽然可以提供充裕的带宽,但并不是所有应用都需要全部带宽,EPYC就可以进行适应性调节,能将能效再提升最多8%。
EPYC每一个内部都有四个内核,总计32个核心,如何让它们平衡地运行在最佳状态,难度是极大的,AMD能针对每一个核心进行管控,避免不同核心负载失衡,并降低功耗。
结果呢,反正就是比Intel更高的性能、更低的功耗。