随着对内存级存储(或存储级内存)研究的深入,各种内存互联架构纷纷涌现。IBM提出了OpenCAPI总线,NVIDIA推出了NVLink总线,HPE和Dell共同推出了Gen-Z总线,Xilinx则推出了CCIX总线。一直到2019年3月,Intel推出了最新的CXL总线,一时响应者云集。考虑到Intel在CPU市场上近乎垄断的地位,分散在CPU和加速器里的内存有望真正地实现统一的管理和访问。
虽然Intel基本主导了2019年业界对内存总线架构的讨论,但作为最主要的竞争对手,Gen-Z联盟在欢迎CXL规范的同时,也在持续的推动Gen-Z规范的发展。Gen-Z内存交换方案最初是由HPE和Dell在2016年10月公布的。对于以内存为中心的系统设计理念,HPE做了相当多的工作。从Gen-Z协议本身来说,其可以用来替代上述列出的各种协议。基于Gen-Z协议,可以实现任意设备之间的互联。比如和DRAM之间的互联、与带有各类内存的处理器之间的互联、与FPGA或GPU等加速器之间的互联等。但随着Intel CXL总线的推出,人们更倾向于在服务器机箱内部CPU、加速器和持久内存之间使用CXL接口进行互联,而Gen-Z接口则会更多地用于服务器与外部内存之间的交互,虽然Gen-Z接口也可以用于服务器机箱内部设备之间的互联。
基于Gen-Z的设备互联
业界主流厂家对Gen-Z协议始终保持着极大的兴趣。AMD、ARM、IBM和Xilinx都是Gen-Z联盟的成员;Intel虽然没有加入Gen-Z联盟,但始终与Gen-Z联盟保持着一定的沟通;大多数主要的ODM、OEM厂家也都加入了Gen-Z联盟;Samsung、Micron和SK Hynix这三大内存厂家同样是Gen-Z联盟成员。在这些成员中,Broadcom和Microchip对开发Gen-Z芯片的兴趣最大,而HPE则已经展示过其开发的Gen-Z桥接和交换芯片。但对于超大规模数据中心和云厂家这些应用者而言,大多数则保持着观望的态度。
使用Gen-Z Switch实现服务器与外部资源池的联接
如果在服务器设备内部使用CXL协议实现CPU与本地内存、加速模块的互联,那么只需要一块CXL到Gen-Z的转接卡,就能够实现服务器与外部内存资源池、GPU资源池之间的联接,从而快速读取大量的数据。这种设计方式可以从单一机架进一步扩展到多机架的互联,从而构建一个庞大的、基于Gen-Z协议的互联集群。
Gen-Z联盟展示的机架级Gen-Z集群互联框图
想法很好,但这种Gen-Z协议互联的效果到底怎么样,是需要实例验证的。虽然当前Gen-Z交换和桥接芯片还没有商业化,但Gen-Z联盟使用Xilinx FPGA实现了Gen-Z协议和12端口Gen-Z交换功能。然后,Gen-Z联盟使用FPGA和256GB容量的Gen-Z内存模块(ZMM:Gen-Z Memory Module),开发了一款内存服务器。Gen-Z内存模块使用了来自Samsung的DRAM颗粒,制作成可插拔的SSD硬盘形态。
Gen-Z联盟开发的Gen-Z内存服务器
在这台Gen-Z内存服务器中,通过FPGA的桥接作用,实现了外部服务器对Gen-Z内存模块的访问。其中,FPGA对ZMM模块访问的双向时延是30ns。当这台Gen-Z内存服务器通过光纤链路与一块具有两个ARM CPU的卡相连时,ARM CPU访问Gen-Z内存模块的平均时延为350ns。Gen-Z联盟的负责人认为,在没有采用特别处理技术的情况下,这一内存访问时延已经相当低了。而且,两个ARM CPU能够访问到的内存空间相比当前的设计要更大。
SK Hynix采用Gen-Z端口尝试验证了对本地DRAM和远程ZMM访问的性能差异,根据SK Hynix的测试结果,对远程ZMM访问的性能可以达到对本地DRAM直接访问性能的85%~90%。
来自Intel的FPGA团队和IntelliProp这家芯片设计厂家合作,使用Intel的Stratix 10 FPGA,在HPE和Dell的服务器上验证了CPU到远程Gen-Z内存模块访问的性能。来自Skylake和Cascade Lake CPU的UPI信号经由Stratix 10 FPGA转换为Gen-Z协议,CPU分别处理在本地NVMe硬盘和远程ZMM模块上的SQLite数据库Benchmark,并对比其延时。测试结果表明,使用Gen-Z协议读取ZMM模块上数据库的时延只有对本地NVMe硬盘上数据库读取时延的1/5。
所有的这些测试都证明了Gen-Z协议的性能价值。不过现实情况是,支持Gen-Z协议的芯片仍然很少,用户组建一整套基于Gen-Z协议系统的成本还很难详细评估出来,真正落地应用Gen-Z系统方案的厂家同样稀缺。这也是为什么Gen-Z联盟会开发这样一台Gen-Z内存服务器的原因,希望这样的样机和实际性能测试能够更快地推动Gen-Z协议的广泛应用。
总 结
虽然Intel主导的CXL协议自2019年以来一直是业界关注的焦点,但Gen-Z联盟并未就此放弃,反倒是欢迎CXL联盟的建立,并共同推动以内存为中心系统的发展。短期来说,由于Intel对市场的影响力,CXL协议落地实现的可行性最高。但长期来看,Gen-Z所倡导的共享内存设计理念会随着AI、数据库等对内存需求较大的应用的发展而在系统设计中逐步获得落地。
推荐阅读:
Dell Technologies World 2019之Gen-Z&CXL
Intel的胜利?AMD官宣加入CXL联盟
这些年,追赶业界带宽需求的PCIE
DDR5内存快要来了
图片来自网络,版权归原作者所有
本文仅代表作者观点,与就职单位无关。