Xilinx Alveo Promo 1035756720 Web 5e73a2892354c

为什么SmartNIC比普通网卡更好?

2020年6月30日
智能网卡将很快主导加速器市场,但有什么比传统网卡更好的呢?是可编程性、计算能力、主机CPU卸载、易用性,还是以上所有因素?

这篇文章是沟通系统设计系列:有SmartNIC -会计算吗

每个服务器都通过网络接口卡(NIC)连接到网络。有时这些是嵌入式无线连接,通常支持物联网(IoT)设备,如摄像头和恒温器,但绝大多数服务器都连接到网络。他们使用连线的原因有很多,但最突出的两个原因是性能和可用性。

当谈到可用性时,有线网络只有在电缆损坏或移除时才会失效;相比之下,无线网络受到拥塞和外部干扰的影响。对于网络性能,我们经常讨论两个指标:带宽(可以在网络中移动的数据量)和延迟(等待移动数据的时间)。有线网络的带宽和延迟很容易比无线网络好一个或多个数量级。

例如,今天的有线数据中心网络通常是25gb /s,而无线网络在1.3 Gb/s(使用5-GHz标准)时的速度是这个速度的1/20。这些相同的有线数据中心网络测量的延迟在2- 5µs范围内,而无线网络通常是1 - 2 ms的1/1000。

为数据中心中的服务器提供专用的有线网卡对服务器的整体性能至关重要,但是我们能做得更好吗?是的,我们可以通过添加计算资源来处理进入和退出服务器的网络流量,甚至在应用程序级别卸载主机CPU,从而使网卡更加智能。

计算元素

智能网卡是有线网络和计算资源在同一卡上的融合。这些计算资源可以由以下一个或多个类别组成:Arm内核等经典x86 cpu、数字信号处理器(dsp)专用内核、人工智能(AI)、网络处理单元(NPUs)或现场可编程门阵列(fpga)。

这些用于创建SmartNIC的计算模型中,哪些是由该SmartNIC的目标市场决定的?SmartNIC是只专注于减少网络或存储流量的影响,还是为减轻主机CPU负担而设计的?

在SmartNIC上包含以上多个计算元素并不罕见。例如,一个双核或四核Arm复合体经常用于控制平面管理任务,如将软件加载到其他计算单元和日志记录。那么,smartnic如何将主机CPU从网络、存储甚至特定于应用程序的计算任务中卸载出来呢?

DDoS防御、防火墙、包包装

首先,我们有明显的网络任务,如分布式拒绝服务(DDoS)缓解、防火墙和包包装。虽然DDoS和防火墙看起来很相似,但它们是两种截然不同的任务。从设计上讲,DDoS攻击主要是海量的,这意味着它们的全部目的是发送数百万次攻击;我们甚至看到过每秒向网络发送数亿个数据包。

当网络出现拥塞时,组件就会失效,真正的客户流量就会延迟甚至下降。传统防火墙的设计并不能处理这样的数据包速率,但是SmartNIC可以使用一些基本的技巧来动态地计算并丢弃DDoS攻击数据包。早在2015年,RioRey就制作了一款DDoS攻击的分类这就引出了25种攻击载体。其中最常见的一种可以加载到SmartNIC中,为公司的边缘互联网服务器创建DDoS防御。

一个SmartNIC还可以包括一个基本的Netfilter防火墙,它可以卸载主机CPU来过滤所有的入站和出站数据包。Netfilter是iptables的新版本,它提供了一个非常健壮的体系结构来过滤网络流量。所有边缘连接的服务器,甚至那些驻留在网络DMZ中的服务器,都应该运行防火墙。将这个防火墙卸载到SmartNIC可以为主机CPU节省每秒数百万条指令,这些指令可以应用到运行在该服务器上的应用程序上。

我们也有包装,称为封装。每当我们为虚拟化或容器化系统使用覆盖网络时,我们需要包装网络包,以便它们可以在这些覆盖网络之间路由。Open vSwitch (OvS)是覆盖网络处理的一个例子,它可能会占用大量的CPU,因此将此任务转移到SmartNIC上可以释放大量的主机CPU周期。

最后,我们还可以卸载通常在服务器上运行的主要网络应用程序,比如DNS或内存数据库。完全在SmartNIC内部处理DNS查询是一个典型的SmartNIC应用程序,因为事务很小,而且表查找可以快速处理。

SmartNIC应用程序的另一个优秀示例是内存中的数据库。如今,许多客户应用程序都依赖于使用内存数据库应用程序存储的非结构化数据。这些数据元素通常利用简单的键,这些键的值通常也很小。例如,如果名称是x,那么特定主机的网络地址是什么?网络地址,即使是IPv6地址,也只有16个字节,并且在Linux上,主机名被限制为63个字节——这两个都很容易装入单个小网络数据包中。

存储控制与SmartNIC

SmartNIC还可以同时作为存储控制器使用。一些SmartNICs,像Xilinx的Alveo U25(见图)它的芯片和板载内存都是千兆字节(U25的内存是6gb),有自己的本地存储。这种存储可以轻松地作为服务器自己NVMe磁盘的缓存。这将很快变得特别重要,因为像计算快速链接(CXL)这样的协议使未来的智能网卡能够直接管理与NVMe驱动器的主从关系。


smartnic还可以在硬件中进行擦除编码和存储加密。在驱动器加密方面,smartnic提供了独特的安全角度。从安全的角度来看,将加密密钥保存在已加密的项目附近(甚至更糟)从来都不是一个好习惯。如果SmartNIC对进入NVMe存储的数据进行加密或解密,那么如果有人希望打破加密,这两个元素都是必需的。如果管理员删除驱动器以在其他地方解密它们,那么他们就需要使用蛮力来猜测遗留在SmartNIC上的丢失的加密密钥。

smartnic可以很容易地使用加密技术来保护它们的密钥在电力周期之间,进一步使系统既健壮又安全。例如,Solarflare在过去几年里一直在NIC上维护一个硬件安全区域,以便在其X2芯片中存储NIC的密钥。未来的SmartNIC安全飞地可以为SSL/TLS终端加密保存和保护数十万个安全密钥。

卸载

CPU卸载也是SmartNIC的一个重要价值主张。使用现有的代码,可以将计算密集型的任务转移到SmartNIC中。这些任务可能是区块链的哈希和视频转码。

区块链依赖于解决工作证明或类似类型的问题。网络中第一个达成解决方案的节点将获得奖励,然后被允许捆绑并发布链上的下一个区块。在计算下一个解决方案时,smartnic可以在内存中保存区块链和未决事务。如果他们赢了,SmartNIC就会发布区块,然后进入下一个区块。

我们并不是提倡把smartnic变成互联网上的采矿设备,而是恰恰相反。精明的架构师可以在其基础设施中使用一系列smartnic,通过使用本地托管的区块链来维护公司自己的交易账簿。所有这些都可以通过利用smartnic的计算能力来实现,而不会影响主机CPU的性能。像Silex Insight这样的公司已经开发了所需的区块链组件来实现这一点。

视频转码是另一种流行的主机CPU减压方式,它很适合SmartNICs。使用自适应比特率(ABR)压缩来支持移动设备的视频,特别是实时视频的转码是另一项cpu密集型任务。这些压缩任务是非常线性的,并且已经被移植到基于fpga的加速器上,这些加速器被证明比通用cpu的效率高10到20倍。

电子交易

smartnic的最后一个亮点是超低延迟电子交易。这里我们讨论的是在数百亿分之一秒内移动网络数据包。如今,高性能25-GbE网卡的延迟在1000ns的范围内。有了适当架构的系统、适当的软件和调优的SmartNIC,就可以在接收网络数据包时分析它们,一次四个字节。响应包可以在极快的22秒内注入到网络中。这比传统的高性能网卡快40倍以上。当部署在电子交易时,这些smartnic的投资回报(ROI)有时可以在几分之一秒内衡量。

今天的服务器通常要花费30%的CPU周期来管理网络;这被戏称为数据中心税。想象一下,如果可以在数据中心的每个服务器上恢复这些周期。这就像在生产环境中,每三个服务器对应一个新服务器。

smartnic使系统架构师能够将高性能计算资源置于服务器的最边缘——网络。然后,可以利用smartnic来保护服务器,从而保护企业,同时也可以大大减少昂贵得多的服务器cpu。因此,当您设计下一个数据中心部署时,不要默认使用服务器自带的标准网卡,而应该考虑如何将smartnic适应您的计划。

斯科特·施韦策是美国雅虎的技术布道者赛灵思公司

阅读更多的文章沟通系统设计系列:有SmartNIC -会计算吗

从我们的合作伙伴

欢迎来到边缘

照片/图像学分(按显示顺序)。pinkeyes - stock.adobe.com, Monopoly919 - stock.adobe.com, proindustrial2 - stock.adobe.com。加入我们吧…

BESS:主动管理能量的解决方案

2021年9月28日
可再生能源的发展和高效能源消费的全球趋势,提高了人们对能源存储解决方案的兴趣,特别是……

协同处理器体系结构:一种用于快速成型的嵌入式系统体系结构

2021年7月6日
编者注:尽管它以数字处理性能和吞吐量而闻名,但协处理器体系结构提供了嵌入式系统…

你的科技指数是多少?

稍微看一下人工智能的技术图景——我们已经在哪里,我们在哪里,我们将走向哪里。然后与我们的合作伙伴Micr…

使用高速、坚固耐用的工业通信网络以太网连接器

2021年1月19日
工业物联网(IIoT)或工业4.0正在推动能够在具有挑战性的环境中运行的通信网络的需求。

声音你的意见!

本网站要求您注册或登录后发表评论。
目前还没有任何评论。想开始对话吗?

从我们的合作伙伴

欢迎来到边缘

照片/图像学分(按显示顺序)。pinkeyes - stock.adobe.com, Monopoly919 - stock.adobe.com, proindustrial2 - stock.adobe.com。加入我们吧…

BESS:主动管理能量的解决方案

可再生能源的发展和高效能源消费的全球趋势,提高了人们对能源存储解决方案的兴趣,特别是……

协同处理器体系结构:一种用于快速成型的嵌入式系统体系结构

编者注:尽管它以数字处理性能和吞吐量而闻名,但协处理器体系结构提供了嵌入式系统…

你的科技指数是多少?

稍微看一下人工智能的技术图景——我们已经在哪里,我们在哪里,我们将走向哪里。然后与我们的合作伙伴Micr…

使用高速、坚固耐用的工业通信网络以太网连接器

工业物联网(IIoT)或工业4.0正在推动能够在具有挑战性的环境中运行的通信网络的需求。
机器人

基础ROS 2课件

2022年1月3日
本系列视频提供了机器人操作系统2的概述。
机器人

机器人醒来了

2021年12月29日
这种铰接式机器人由工程艺术公司(Engineered Arts)发明,能够模仿人类的情感。
Baidu