账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
CXL、CCIX和SmartNIC助力 PCIe 5加速飞奔
高速数位传输

【作者: Scott Schweitzer】2021年04月22日 星期四

浏览人次:【6455】

过去三十年间,基于伺服器的运算历经多次飞跃式发展。在1990年代,业界从单插槽独立伺服器发展到伺服器丛集。紧接着在千禧年,产业首次看到双插槽伺服器;在这之后,多核处理器也相继问世。进入下一个十年,GPU的用途远远超出了绘图处理的范畴,我们见证了基于FPGA的加速器卡的兴起。


迈入2020年,SmartNIC网路介面卡(network interface card;NIC),即资料处理单元(DPU)开始风靡。它们大量采用FPGA、多核Arm丛集或是两者混合运用,每种作法都能大幅提高解决方案的效能。从股票交易到基因组定序,运算正以更快的速度求得解答。在主机壳内部,资料通道是PCI Express(PCIe)。虽然几经变革,但它仍然是毫无争议的选择。


PCIe 的演进发展

PCIe于2003年首次亮相,恰逢网路准备开始从以十亿位元乙太网路(GbE)为主要互联的时代往更高速的时代跃进。此时,Myrinet和Infiniband等高效能运算(HPC)网路分别以2Gb/s 和8Gb/s的资料传输速率超越GbE。此后不久,10-GbE网路介面控制器(network interface controllers,NICs)崭露头角,而且拥有优异效能。它们在每个方向上的速率都接近1.25GB/s,这种8通道(x8)PCIe汇流排的诞生恰逢其时。


第一代 PCIe x8汇流排在每个方向上的速率为2GB。当时16通道(x16)的插槽尚未问世,且伺服器主机板一般只提供零星x8插槽和几个x4插槽。为了节省成本,部分伺服器厂商甚至使用了x8连接器,但有趣的是却仅将它们连接成x4。


大部分人(例如网路架构师)都知道每一代PCIe的速率都翻了一倍。现今的第四代PCIe x8 插槽的速率大约为16GB/s,所以下一代PCIe的速率将大约为32GB/s,如果这就是第五代PCIe能达到的水准,那确实也不错。不过它还可以像阿拉丁神灯那样神奇,能以CXL和CCIX两种新协议的形式允许在CPU与SmartNIC,或是辅助处理器等加速器之间实现高效的通讯。


CXL

我们先来谈CXL,它提供了定义明确的主从模式。在这种模式下,CPU的根联合体(root complex)能透过与加速器卡的高频宽连结来共享快取记忆体和主系统记忆体,如图一。



图一 : 透过CXL与处理器相连的加速器概念图(来源:Compute Express Link Specification July 2020)
图一 : 透过CXL与处理器相连的加速器概念图(来源:Compute Express Link Specification July 2020)

这有助于主机CPU可以有效地将供作分配给加速器,并接收其处理结果。部份此类加速器使用DRAM或高频宽记忆体(HBM)来配备大容量高效能的本机记忆体。借助CXL,现在可与主机CPU共享这些高效能记忆体,从而更轻松地在共享记忆体中处理资料集(dataset)。


此外,对于不可分割交易(Atomic Transaction),CXL能在主机CPU和加速器卡之间共享快取记忆体。 CXL在改善主机与加速器间的通讯方面有了长足的发展,但却未能解决PCIe汇流排上的加速器之间的通讯问题。


2018 年,Linux内核终于推出了可支援PCIe点对点(Peer-to-peer;P2P)模式的代码。这使PCIe汇流排上的不同设备之间更容易共享资料。虽然P2P早在此次内核更新之前就已存在,但它需要精心调整才能运行,往往要求用户能够透过程式设计就两个对等设备进行控制。随着内核的更新,加速器与PCIe汇流排上的PCIe/NVMe记忆体或另一个加速器间的通讯方式相对简化。


随着解决方案变得日益复杂,简单的P2P已不敷使用,而且还会限制解决方案的效能。如今,我们使用DIMM插槽中的永久记忆体、NVMe储存和直接插在PCIe汇流排上的智慧储存(SmartSSD),搭配各种加速器卡和SmartNIC或DPU(其中有些本身就具有很大的储存空间)。由于这些设备之间必须能互相通讯,因此昂贵的伺服器处理器将化身为成本高昂的交通号志,使得海量资料流出现瓶颈。CCIX在此情形下就能大显身手了,其环境适合在PCIe汇流排上的设备之间建立对等关系。


CCIX

有些人认为CCIX标准与CXL大同小异,但事实并非如此。在实现汇流排上点对点连接,CCIX的方法与CXL截然不同,如图二。此外,它还能利用不同设备上的记忆体,每个设备具有不同的效能特征,对这些记忆体进行池化,并映射到单一的非一致性记忆体存取 (Non-Uniform Memory Access;NUMA) 架构。随后它建立一个虚拟地址(Virtual Address)空间,使池中的所有设备都能存取NUMA记忆体的完整空间。这已经远远超出简单的PCIe P2P记忆体间复制或是由CXL提出的主从模式。



图二 : 三种CCIX配置图例,包括直连式、交换拓扑和混合菊链(来源:An Introduction to CCIX White Paper)
图二 : 三种CCIX配置图例,包括直连式、交换拓扑和混合菊链(来源:An Introduction to CCIX White Paper)

作为一种概念,NUMA自1990年代初期以来就已经存在,所以业界对它非常了解。在此基础上,当今大多数伺服器都能轻松地扩展到太位元组(TB)或更大容量的DRAM记忆体。不仅如此,还存在能映射名为持续性记忆体(Persistent Memory;PMEM)或储存级记忆体(Storage Class Memory;SCM)的新型记忆体的驱动程式,它能与真实记忆体(Real Memory)搭配,创建「巨量记忆体」。综合运用PCIe 5和CCIX,将会进一步使系统架构师能利用SmartSSD扩展这一概念。


运算储存

SmartSSD也称作是运算储存,它将运算元件(通常为FPGA加速器)与固态驱动器中的储存控制器紧密布局,或在控制器中嵌入运算功能,从而使SmartSSD中的运算元件能够在资料进出驱动器的过程中进行处理,进而重新定义资料的存取和储存方式。


虽然SmartSSD最初被视为区块装置,但在FPGA中安装适当的未来驱动程式后,可以当作像按位元组定址的储存器使用。现今生产的SmartSSD具有数TB的容量,但容量还是会爆炸。因此,只有透过NUMA,SmartSSD才能用于扩展巨量记忆体的概念,这样一来主机CPU和加速器应用就能跨众多设备存取数TB容量的记忆体,且无需使用该储存器重新写入应用程式。此外,藉由实现在线压缩与加密,SmartSSD还能提供更佳的TCO解决方案。


导入SmartNIC

具体应用上该如何使SmartNIC与此架构搭配呢? SmartNIC是一种特殊类型的加速器,位于PCIe汇流排和外部网路之间的连接处。 SmartSSD将运算放在资料的附近,而SmartNIC则让运算紧临网路。为什么这一点如此重要?简单地说,我们很少关注伺服器应用自身的网路延迟、拥塞、封包遗失(Packet Loss)、协定、加密、覆盖网路(Overlay Network)或安全政策等问题。


为了解决这些问题,创建了诸如QUIC之类的低延迟协议来改善延迟问题、减少拥塞以及从封包遗失中复原。我们精心开发出了TLS并采用内核TLS(kTLS)加以扩展,以提供加密和安全的资料传输。我们现在看到kTLS被添加为SmartNIC的一项卸载功能。


为了支援虚拟机器(VM)和容器(container)的协作,我们创建了覆盖网路,随后又开发出Open vSwitch(OvS)等技术定义和管理覆盖网路。 SmartNIC正开始卸载OvS。


最后,我们按照政策进行管理以确保安全。这些政策有望反映在Calico和Tigera等形式的协作框架中。这些政策很快也将透过使用P4等编程match-action框架被卸载到SmartNIC。这些任务都应该卸载到称为SmartNIC的专用加速器中。


架构师可以藉由CCIX构建出一个解决方案,作为具有单个虚拟位址空间的巨量记忆体空间,使多个加速器直接存取真实记忆体和SmartSSD中的储存器。例如一个解决方案可由四个不同的加速器来构建,如图三。



图三 : 图中所示为CCIX应用范例,它使用了修改过的CCIX 4c-混合菊链模型
图三 : 图中所示为CCIX应用范例,它使用了修改过的CCIX 4c-混合菊链模型

SmartNIC可能装有视讯解码器,以便从摄影机导入视讯时,可以转换回未经压缩的帧,并储存在NUMA虚拟位址空间的共享帧缓冲记忆体中。在这些帧可用后,执行人工智慧(AI)影像辨识应用上的第二个加速器能扫描这些帧,辨识人脸或车牌。与此同时,第三个加速器可以对这些帧进行转码,用于显示和长期储存。最后,在SmartSSD上运行的第四个应用则负责在AI和转码任务成功完成后,从帧缓冲记忆体中删除这些帧。这里我们用四个高度专业的加速器协同工作,形成所谓的「Smartworld」应用。


业界开始增添更多内核以解决与摩尔定律相关的问题。如今,虽然有大量的内核,但CPU与 NIC、储存和加速器等外部设备间的频宽不足。 PCIe Gen5是我们的下一个关键发展点。它能大幅提高频宽,开启在CPU上进行高效能运算的时代。


例如,典型的CPU核心能处理1Gb/s+,但如果你采用128个双核CPU,那么PCIe Gen4x16是不够用的。对于需要在CPU核心和加速器之间进行密切交互的应用来说,CXL和CCIX协议提供的快取记忆体一致性具有诸多优势。资料库、安全性和多媒体等主要应用作业负载现在正开始利用这些优势。


协作

这个问题的最后一个环节是协作。这项功能指Kubernetes等框架能自动发现并管理加速的硬体,并在协作资料库中将其标记为在线可用。它随后还需要知道该硬体是否支援上述一个或多个协议。随后,随着对新解决方案实例的请求进入并动态启动,能够由这些高级协定感知并加速的容器执行个体就可以使用该硬体。


以赛灵思资源管理器(XRM)为例,能够与Kubernetes协同工作并管理池中的多个 FPGA资源,从而提升加速器的整体利用率。这样一来,就能自动分派新发布的执行个体应用,使其在基础设施中最适当的高效能资源上执行,同时遵守既定的安全政策。


SmartNIC和DPU使用了PCIe 5和CXL或CCIX,将为我们提供高度互连的加速器,有助于开发复杂、高效能的解决方案。这类SmartNIC将在我们的资料中心内乃至整个世界范围内,向其他系统提供运算密集型连接。甚至可以构想这样一个未来:命令一旦进入Kubernetes控制器,就在SmartNIC资源上以原生执行的方式启动容器或Pod。这个新作业负载的大量运算随后可能会在伺服器中某处的加速器元件上进行,甚至完全不需要伺服器主机CPU的直接参与。


结语

为了正确发挥这样的功能,就需要进一步强化安全,使安全水准远远高于Calico和Tigera。此外,我们也需要新的加速器感知安全框架来将安全环境(通常称为安全隔离区;Secure Enclave)扩展到多个运算平台上,这样就使得机密运算有了用武之地。它应该同时提供所需架构和API,为单一个安全隔离区内多个运算平台上的在用资料提供保护。


所有敏感资讯隔离设施(Sensitive Compartmented Information Facility;SCIF)都是如此。电脑中的安全隔离区应能涵盖多个运算平台,而激动人心的时刻就在眼前。


(本文作者Scott Schweitzer为赛灵思技术传教士)


相关文章
借助自行调适加速平台 机器人快速适应环境变化
借助自行调适系统模组 加速边缘创新
借助Zynq RFSoC DFE因应5G大规模部署挑战
半导体创新成果转化 AI运算世界加速来临
FPGA从幕前走向幕后
comments powered by Disqus
相关讨论
  相关新闻
» Satellite 2024:仁宝携手耀登与富宇翔展示全新卫星通信解决方案
» 圆展与新光保全合作打造远距照护服务
» 远传以智慧空品解决方案打造健康永续城市
» 工研院MWC 2024展会直击 5G-A无线通讯、全能助理成下一波AI风潮
» Akamai Connected Cloud打造分散式云,全新Gecko计画结合云端与边缘网路


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK83J78Y0H4STACUKM
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw