AI驱动的设计应用
不知不觉,我们已经进入了ZB时代。
根据IDC的统计,2018年全球创建的数据量达到了32ZB,2019年是45ZB,而2020年由于疫情的影响,大多数人都是在家中工作、学习和娱乐,因此2020年创建和复制的数据量出现了异常高的增长,该机构预计到2025年,这个数字是175ZB
这是什么概念呢?
我们现在的手机存储容量一般采用的是128GB,1ZB=1024EB=1024×1024PB=1024×1024×1024TB=1024×1024×1024×1024GB,即1040GB,约1万亿GB。这是一个超级庞大的数字。
图1:IDC预计数据将会呈现爆炸式增长。(来源:IDC,Synopsys)
在如今的数据大爆炸时代,大部分数据并没有被存储下来,比如2018年创建的数据是32ZB,被存储的数据大概是5ZB,只占产生数据的15%。这些被存储的数据中,被真正分析,并萃取出有用信息的数据则更少。
据IDC统计,目前在收集到的所有数据中,只有12%的数据得到了有效分析,剩下88%的数据其实是没有被处理的。而被有效分析的12%数据中,只有1/4的数据是有意义的,也就是说,真正产生了价值的数据不到被存储的所有数据的3%。
图2:真正有用的数据不到存储数据的3%。(来源:IDC,Synopsys)
有人将如今的数据比作能源行业的石油,认为数据就是现代社会的动力之源,但大量的数据和其潜在价值,并没有体现出来。人们也没有办法分析如此大量的数据,这是非常可惜的一件事情。
那有没有什么办法可以更加快速和方便地分析这些海量数据呢?目前业界普遍的方法就是运用图像加速器和AI加速器,来提高分析海量数据的效率。
随着数据量的增加,数据中心需要更高的计算密度,而随着计算密度需求的增长,我们需要具有更高效率,以及更快速的接口来处理不断增长的数据量。
因为在数据的处理过程中,需要频繁地与系统内存进行互动传输。为了让数据处理更加有效率,几乎所有的CPU供应商都会支持Cache-Coherent协议,该协议允许内存共享,能够更大程度地减少数据的复制和翻译,以提高数据处理效率。
在服务器内部和服务器之间移动数据,是导致数据延迟的主要因素,也是制约数据处理效率的一大瓶颈。因此,尽可能地减少数据移动,并在需要时为移动数据提供高带宽、低延迟的接口,是提高云和高性能计算应用程序的性能、减少延迟和功耗的关键。
一般来说,延迟主要来自三个方面:
比如,图3显示了两个芯片的示例。提供应用计算处理的云服务器片上系统 (SoC) 和图形加速器芯片。图形加速器采用 HBM 内存,云服务器芯片采用传统 DDR 内存。通过利用这两个设备之间的缓存一致性接口,可以将内存汇集到我们所谓的“融合内存池”中,并且这些设备可以共享内存空间,而实际上并不需要在进程或域之间复制数据。以这种方式,可以减少实际数据的搬移时间,从而提高系统的性能和效率。
图3:缓存一致性接口降低了计算延迟。
那么,如何才能构建这样的“融合内存池”,让设备之间共享内存空间呢?这就需要高性能接口IP的帮助,比如PCIe、CXL和CCIX等等。
为了提高更好的性能,数据中心内部的服务器接口都在升级,比如DDR5 接口速率正在向 6400 Mbps 靠拢;PCIe 接口带宽翻倍,从 16GT/s 的 PCIe 4.0 升级到 32GT/s 的 PCIe 5.0,预计今年将会推出的PCIe 6.0,带宽将会达到64GT/s;Compute Express Link (CXL) 则可在 PCIe 电气接口上提供缓存一致性接口,并通过允许多个处理器/加速器高效共享数据和内存,来减少系统中所需的数据移动量。
图4:大数据推动了PCIe 5.0的采用。(来源:Synopsys)
DDR5接口和PCIe接口已经在市场中存在多年,而CXL是2019年3月,英特尔联合微软、思科、戴尔EMC、谷歌、惠普、Facebook、阿里巴巴和华为等多家厂商共同推出的一套服务于高性能计算机/数据中心领域的超高速互连新标准,用于CPU和加速芯片(GPU、FPGA等)之间通信。如今CXL联盟的成员数已经增长到120多位,包括IBM、AMD 和 Arm等。
另外,CXL 标准通过提供利用 PCIe 5.0 物理层和电气元件的接口来消除其中一些限制,同时提供极低延迟路径,用于主机处理器和需要共享内存资源的设备(如加速器和内存扩展器)之间进行内存访问和一致缓存。支持的 CXL 标准模式主要围绕采用 x16 通道配置并以 32GT/s 运行的 PCIe 5.0 PHY。
CXL 标准定义了 3 个协议,这些协议在通过标准 PCIe 5.0 PHY 以 32 GT/s 传输之前一起动态复用:
CXL.io 协议本质上是经过一定改进的 PCIe 5.0 协议,用于初始化、链接、设备发现和列举以及寄存器访问。它为 I/O 设备提供了非一致的加载/存储接口。
CXL.cache 协议定义了主机和设备之间的交互,允许连接的 CXL 设备使用请求和响应方法以极低的延迟高效地缓存主机内存。
CXL.mem 协议提供了主机处理器,可以使用加载和存储命令访问设备连接的内存,此时主机 CPU 充当主设备,CXL 设备充当从属设备,并且可以支持易失性和持久性存储器架构。
图5:不同接口类型支持的功能。
对于这三种类型的接口,设计师该如何选择呢?首先我们要了解它们能够给我们带来什么,PCIe接口通过多年的发展,带宽越来越宽,但是却不能给你提供聚合内存和低延迟功能;
CCIX 在宣布上市之初,提供 20 GT/s 和 25 GT/s 两种数据速率,当时高于 16 GT/s 的 PCIe 4.0,而且这种协议增加了保持一致性的功能。如今,CCIX v1.1 可提供高达 32GT/s 的数据速率,支持缓存一致性,从而使多个芯片能够通过虚拟内存空间共享内存。大型内存池采用在同一个系统中相连接的各种组件进行构建,从而不需要在处理器和加速器之间传输大量数据。CCIX 支持异构计算,能够支持网状架构,让众多 CPU 或加速器相互连接并连贯一致地共享数据。
虽然 CCIX 实现与 PCIe 非常相似,但它实现的是两个虚拟通道 (VC):分别用于一致性和非一致性流量,导致 PCI Express 序列延迟稍高,对 HPC 应用可能没有吸引力。由于 CCIX 是对称协议,CCIX 实现中的每个设备都执行相同的操作,并利用本地代理 (Home Agent) 管理缓存。由于其中固有的对称性,任何设备发生一致性问题都可能损害整个系统,而不仅仅是 SoC。
CXL 是实现主机到设备异构计算的理想选择,预期所有四家 CPU 提供商(Intel、IBM、Arm 和 AMD)均会提供支持。与 CCIX 不同,CXL 是一种不对称协议,主机可全权控制内存一致性和内存访问。其优势在于 CXL 设备的实现变得更简单,不需要加上代理,这意味着设备处理内存时发生的任何错误都不会引发系统故障。
目前,CXL 致力于为服务器提供经过优化的解决方案。CXL 固有的不对称性意味着它可能不适用于 CPU 到 CPU 或加速器到加速器的连接。由于 CXL 依赖 PCIe 5.0 PHY,采用不同的传输可能更适合提高机架到机架安装的性能。此外,由于CXL还是一个比较新的协议,其生态系统的构建还不太完善,还需要联盟成员共同推进,进一步完善。
ZB时代已经来临,有海量的数据需要我们去处理,并从中萃取出对人类有用的信息,这必然需要用到新的数据处理方法,需要更高效率的解决方案。
因此,数据中心和高性能计算等应用需要更高的算力,更高效的存储,以及更高效率的接口,而CXL正是为了解决接口这个瓶颈应运而生的。目前新思科技的 DesignWare CXL IP 解决方案包含控制器、PHY 和验证 IP,可为 AI、机器学习和云计算应用实现低延迟和高带宽互联。
而且为了提高芯片流片成功率,DesignWare CXL IP解决方案建立在了新思科技的 PCI Express 5.0 专用 DesignWare IP基础之上,该解决方案已在多种应用中进行了流片验证。在今年2月份,新思科技已经交付了业界首个符合PCIe5.0和CXL2.0规范的完整性和数据加密安全IP核模块,协助开发者在系统中快速实现必要的安全功能。