Achronix提供由FPGA赋能的智能网卡(SmartNIC)解决方案来打破智能网络性能极限

作者:Achronix

随着人工智能/机器学习(AI/ML)和其他复杂的、以数据为中心的工作负载被广泛部署,市场对高性能计算的需求持续飙升,对高性能网络的需求也呈指数级增长。高性能计算曾经是超级计算机这样一个孤立的领域,而现在从超级计算机到边缘解决方案,在各个层面都可以看到高性能计算,随着我们推动更快的解决方案进入市场,网络安全和高复杂性应用在其中也扮演着更重要的角色。

为了满足对网络加速的需求,并提供灵活的、可重新编程的网络,Achronix为数据中心运营商、云服务提供商和电信公司提供Achronix 的Network Infrastructure Code(简称ANIC)和基于Achronix Speedster7t FPGA芯片构建的SmartNIC。这些可编程的加速器集成了前沿性技术,如400 GbE连接速度、PCIe Gen 5.0功能、片上网络和高速并行处理,以提供无与伦比的性能、可扩展性和灵活性组合。

ANIC是一套由模块化FPGA IP组成的完整设计,提供专为高性能网络流水线进行了优化的SmartNIC解决方案的所有基本功能单元。它有力地支持400 GbE和PCIe Gen 5.0功能,使各类用户能够根据其特定要求快速开发高带宽SmartNIC解决方案,满足其随着条件的变化而变化的要求。

更好的性能,更高的灵活性

为了提高网络性能,越来越多的客户转向SmartNIC,因为它可以通过卸载数据包处理和加密等日常任务来减轻主机服务器CPU的负担。除了节省CPU周期带来的经济效益之外,卸载还可以提高整体系统性能和资源效率。SmartNIC还具有可定制和可编程性,使用户能够灵活地适应不断变化的网络需求。

InfiniBand(简称IB)是用于高性能计算的传统网络技术。尽管IB的性能很好,但对于部署在传统数据中心(用以太网来作为标准网络协议),它却不能提供其中的HPC高性能计算解决方案所需的灵活性或功能密度。Achronix的ANIC解决方案支持400 GbE,可实现快速的数据传输速率,同时还提供了在网卡(NIC)上部署网络应用的能力;这一功能可显著提高应用性能并降低事务延迟。基于FPGA的ANIC方法具有出色的确定性,并始终提供极低的应用延迟,从而使ANIC成为具有严格实时处理需求的应用的首选。

SmartNIC架构的一种实现方法是将计算单元(如Arm内核等)添加到高性能网络数据路径中,以实现灵活的且可编程的网络。虽然添加CPU内核确实可提供网络卸载和应用加速功能,但处理器内核所能提供的网络性能也受限于其自身。功耗和空间限制将单张网络卡上可部署的内核数量限制于10个,从而使指令集受到限制,性能也就受到限制。

ANIC没有使用性能受限的Arm内核,而是运行在高性能的Achronix Speedster7t FPGA器件上,并且ANIC的模块化架构简化了组件选择过程并加快了设计阶段。此外,Speedster7t FPGA器件的部分重新配置功能支持实现动态调整,从而能够满足不断变化的需求。这种部署敏捷性可以节省大量的时间和成本。

“这是性能上的一个数量级飞跃,”Achronix SmartNIC产品规划总监Scott Schweitzer说道。“在ANIC上用一微秒内就可完成的工作在Arm内核上则可能需要几毫秒,而可在几纳秒内完成的工作可能需要几微秒。”

基于ANIC,用户有机会去部署自定义的IP功能。这种自定义的IP功能为定制应用打开了大门,如键值存储、入侵防御、重复数据删除和其他网络功能,所有这些应用都以400 GbE的网络速度运行。

在高性能计算中使用由FPGA加速的智能网卡:游戏规则改变者

高性能计算环境需要卓越的处理能力、高效的数据移动速度和高速的互连能力才能实现最佳性能。各种SmartNIC,尤其是像Achronix提供的基于FPGA的解决方案,可以无缝地满足这些要求。

在高性能计算中采用基于FPGA的SmartNIC带来的主要优势之一是定制化。凭借Speedster7t可重新编程的FPGA具有400 GbE以太网和PCIe Gen5功能,是高性能计算集群的多功能构建模块。

Achronix打造ANIC的目的是使用户能够优化其网络数据路径并加速网络应用。ANIC提供了一个完整的SmartNIC流水线,包括数据包接口、FIFO缓冲区、报头/解析器、流表格、规则引擎和DMA引擎。每种功能单元可以根据客户的需要去选择或取消,从而实现全部或部分数据包加速,并在Speedster7t FPGA器件上为客户自定义的网络加速功能应用预留高达50%的逻辑资源。

Speedster7t FPGA器件还提供二维片上网络(2D NoC),该项设计可在FPGA芯片内提供高达20 Tbps的带宽,并进一步增强模块化应用的部署。每个ANIC模块通过利用80个网络接入点可以实时放置在FPGA上或对其进行升级。

“ANIC的逻辑模块可以像乐高积木一样组合起来,以创建量身定制的SmartNIC解决方案,”Schweitzer说道。“根据想要完成的工作,客户可以选择使用部分或全部ANIC功能单元来组装解决方案。”这种模块化可组合性可确保用户只使用其特定应用所需的模块,从而消除了不必要的开销。

在HPC中,加速的I/O至关重要。SmartNIC允许超快速数据移动,从而有助于大型数据集的快速处理。如在DDoS缓解应用中,要求更深入的数据包检测,ANIC基于FPGA的高度并行设计支持高效的数据包处理,从而确保及时识别和缓解威胁。

在高性能计算和数据驱动应用的时代,Achronix提供的基于FPGA的SmartNIC可提供无与伦比的速度、卸载的处理能力、增强的安全性和卓越的灵活性。无论是寻求高速数据处理,减少延迟还是提高整体效率,SmartNIC都为高性能网络的未来铺平了道路。随着数据的不断激增和应用的要求越来越高,对于任何希望在高性能网络和计算方面突破极限的人来说,SmartNIC代表着一项至关重要的创新。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/259901.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【控制器局域网】CAN报文学习笔记(四)之 字节排序、信号提取实例1

以下面的表格来表示字节顺序和位顺序,用红色表示高位MSB,蓝色表示低位LSB,绿色为LSB到MSB的过度 Bit oderMSB→→→→→→LSBByte oder\Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0MSBByte076543210↓Byte115141312111098↓Byte22322212019181716↓By…

谷歌手机安装证书到根目录

1、前提你已经root,安装好面具 2,下载movecert模块,自动帮你把证书从用户证书移动成系统证书 视频教程,手机为谷歌手机 https://www.bilibili.com/video/BV1pG4y1A7Cj?p11&vd_source9c0a32b00d6d59fecae05b4133f22f06 软件下…

【C语言指针专题(4)】指针与一维数组

一、数组名的理解 在之前我们我们使用指针访问数组的时候,使用到了这样一段代码: int arr[10] { 0 }; int* pa &arr[0]; 这里我们使用 &arr[0] 的方式拿到了数组第一个元素的地址,但是其实数组名本来就是地址,而且 是…

使用opencv实现图像中几何图形检测

1 几何图形检测介绍 1.1 轮廓(contours) 什么是轮廓,简单说轮廓就是一些列点相连组成形状、它们拥有同样的颜色、轮廓发现在图像的对象分析、对象检测等方面是非常有用的工具,在OpenCV 中使用轮廓发现相关函数时候要求输入图像是二值图像,这…

麒麟V10 ARM 离线生成RabbitMQ docker镜像并上传Harbor私有仓库

第一步在外网主机执行: docker pull arm64v8/rabbitmq:3.8.9-management 将下载的镜像打包给离线主机集群使用 在指定目录下执行打包命令: 执行: docker save -o rabbitmq_arm3.8.9.tar arm64v8/rabbitmq:3.8.9-management 如果懒得打包…

力扣:77. 组合(回溯, path[:]的作用)

题目: 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ] 示例 2: 输入&…

机器学习数据的清洗,转化,汇总及建模完整步骤(基于Titanic数据集)

目录 介绍: 一、数据 二、检查数据缺失 三、数据分析 四、数据清洗 五、数据类别转化 六、数据汇总和整理 七、建模 介绍: 线性回归是一种常用的机器学习方法,用于建立一个输入变量与输出变量之间线性关系的预测模型。线性回归的目标…

Inkscape SVG 编辑器 导入 Gazebo

概述 本教程描述了拉伸 SVG 文件的过程,这些文件是 2D 的 图像,用于在 Gazebo 中为您的模型创建 3D 网格。有时是 更容易在 Inkscape 或 Illustrator 等程序中设计模型的一部分。 在开始之前,请确保您熟悉模型编辑器。 本教程将向您展示如…

神经网络:池化层知识点

1.CNN中池化的作用 池化层的作用是对感受野内的特征进行选择,提取区域内最具代表性的特征,能够有效地减少输出特征数量,进而减少模型参数量。按操作类型通常分为最大池化(Max Pooling)、平均池化(Average Pooling)和求和池化(Sum Pooling)&a…

使用STM32微控制器读取和显示DHT11温湿度传感器数据

在本文中,我们将介绍如何使用STM32微控制器读取和显示DHT11温湿度传感器的数据。我们将使用C语言和STM32的库函数来实现这个功能。本文包含硬件连接和软件编程两个方面的内容。 硬件连接 首先,我们需要将DHT11温湿度传感器连接到STM32微控制器上。DHT11…

基于ASF-YOLO融合空间特征和尺度特征的新型注意力尺度序列融合模型开发构建涵洞隧道场景下墙壁建筑缺陷分割检测系统

在ASF-YOLO提出之初,我们就进行了相应的实践开发,感兴趣的话可以自行移步阅读: 《基于ASF-YOLO融合空间特征和尺度特征的新型注意力尺度序列融合模型开发构建医学场景下细胞分割检测识别系统,以【BCC、DSB2018数据集为基准】》 …

性能压力测试--确保企业数字化业务稳健运行

随着企业的数字化转型和依赖云计算的普及,软件系统的性能已经成为企业成功运营的关键因素之一。性能压力测试作为确保系统在各种条件下都能高效运行的关键步骤,对企业的重要性不可忽视。以下是性能压力测试对企业的几个重要方面的影响和作用:…

行为型设计模式(二)责任链模式 策略模式

责任链模式 Chain of Responsibility 1、什么是责任链模式 责任链模式为请求创建一个接收者对象的链,每个接收者都包含对另一个接收者的引用。如果一个对象不能处理请求,它会将请求传递给链中的下一个接收者,如此模式下,请求沿着…

机器视觉工程师,我存多少钱可以躺平

钱钱钱!还是钱!除了钱还能聊点别的吗?钱可以让你生活的更好,也可以让你​在生活中的选择很无奈。 如果想要知道拥有多少存款才能躺平不上班,那么首先要明确躺平的定义。所谓的躺平,其实并不代表不能工作&a…

ASP.NET Core面试题之Redis高频问题

🎈🎈在.NET后端开发岗位中,如今也少不了、微服务、分布式、高并发高可用相关的面试题🎈🎈 👍👍本文分享一些整理的Redis高频面试题🎉 👍👍机会都是给有准备…

WPF——样式和控件模板、数据绑定与校验转换

样式和控件模板 合并资源字典 Style简单样式的定义和使用 ControlTemplate控件模板的定义和使用 定义 使用 Trigger触发器 数据绑定与校验转换 数据绑定的设置 代码层实现绑定 数据模板DataTemplate xml文件的读取与显示 方法的返回值作为源绑定到控件中ObjectDataProvider L…

Axure之中继器的使用(交互动作reperter属性Item属性)

目录 一.中继器的基本使用 二.中继器的动作(增删改查) 2.1 新增 2.2 删除 2.3 更新行 2.4 效果展示 2.5 模糊查询 三.reperter属性 在Axure中,中继器(Repeater)是一种功能强大的组件,用于创建重复…

ES集群G1回收器,堆空间无法被回收问题

ES堆空间不足的问题,困扰了我有两年的时间。dump堆去分析,也未能分析出来,堆到底是被什么占用了。 我把堆空间给了31.9G,这是指针压缩生效的临界值,如果再大就指针压缩失效了。 痛苦的是,随着时间的增长。堆…

【HarmonyOS开发】ArkTs关系型和非关系型数据库的存储封装

前面使用了首选项的存储方式,因此将其他的两种存储方式(键值型数据库和关系型数据库)也学习一下,简单记录一下,并进行封装,方便后续使用。 1、效果预览 2、使用条件 2.1 键值型数据库 键值型数据库实现数据…

linux 应用开发笔记---【线程】

1.概念: 线程是参与系统调度的最小单位,它被包含在进程中,是进程的实际运行单位 一个进程可以创建多个线程,多个线程并发运行,每个线程执行不同的任务 2.如何创建线程 当一个程序启动的时候,一个进程被…