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代表着一项至关重要的创新。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20 Vue3中使用v-for遍历普通数组

概述 使用v-for遍历普通数组在真实开发中还是比较常见的。 基本用法 我们创建src/components/Demo20.vue&#xff0c;代码如下&#xff1a; <script setup> const tags ["JavaScript", "Vue3", "前端"] </script> <template…

301_C++_字符串解析函数‘strcasestr‘

if ((pctmpA = strcasestr(const_cast<char *>(pcMsg), "MotionAlarm"))&& (pctmpA =

(1)(1.10) SiK Radio v1

文章目录 前言 1 概述 2 连接无线电台 3 参数说明 前言 本文介绍了如何将 3DR Radio v1 连接到飞行控制器。你还应阅读 SiK Radio v2&#xff0c;其中包含更详细的用户指南和功能列表。 1 概述 3DR 无线电设备是在自动驾驶仪和地面站之间建立遥测连接的最简单方法。 3DR…

uniapp怎么跳转页面

在 UniApp 中&#xff0c;你可以使用以下方法来跳转到其他页面&#xff1a; 使用<navigator>标签&#xff1a; <navigator url"/pages/example/example">点击跳转</navigator> 在上面的示例中&#xff0c;点击"点击跳转"会导航到/pag…

Redis高可用性方案:主从复制与哨兵机制详解

大家好&#xff0c;我是升仔 在高可用性数据服务的构建中&#xff0c;Redis扮演着重要的角色。Redis的主从复制和哨兵机制是实现高可用性的关键组件。本文将详细探讨这两种机制的使用场景、配置细节&#xff08;尤其是持久化配置&#xff09;&#xff0c;并讨论相应的异常处理…

常见加解密算法分析(含使用场景)

加密算法主要分为三类&#xff1a;对称加密算法、非对称加密算法和散列算法。下面将分别介绍这些类别中的常见算法及其特点和使用场景。 对称加密算法 1. AES (Advanced Encryption Standard) AES是一种广泛使用的对称加密标准&#xff0c;可以使用128、192和256位的密钥长度…

如何在Android Framework源码中增加jni方法

我们都知道&#xff0c;在Android Framework源码中&#xff0c;有很多这种类型的方法&#xff0c;方法前缀有"public static native",这种方法就是native方法&#xff0c;会调用到jni中去。 如&#xff1a;public static native long getNativeHeapSize(); 那如何在…

Golang实践录:gin绑定解析json的两种方法

本文介绍 Golang 的 gin 框架接收json数据并解析的2种方法。 起因及排查 某微服务工程&#xff0c;最近测试发现请求超时&#xff0c;由于特殊原因超时较短&#xff0c;如果请求处理耗时超过1秒则认为失败。排查发现&#xff0c;可能是gin接收解析json数据存在耗时&#xff0c…

大数据---34.HBase数据结构

一、HBase简介 HBase是一个开源的、分布式的、版本化的NoSQL数据库&#xff08;即非关系型数据库&#xff09;&#xff0c;依托Hadoop分布式文件系统HDFS提供分布式数据存储&#xff0c;利用MapReduce来处理海量数据&#xff0c;用Zookeeper作为其分布式协同服务&#xff0c;一…

逆波兰计算器的完整代码

前置知识&#xff1a; 将中缀表达式转为List方法&#xff1a; //将一个中缀表达式转成中缀表达式的List//即&#xff1a;(3042)*5-6 》[(, 30, , 42, ), *, 5, -, 6]public static List<String> toIndixExpressionList(String s) {//定义一个List&#xff0c;存放中缀表达…

R语言——基本操作(二)

目录 一、矩阵与数组 二、列表 三、数据框 四、因子 五、缺失数据 六、字符串 七、日期和时间 参考 一、矩阵与数组 matrix&#xff1a;创建矩阵&#xff0c;nrow 和 ncol 可以省略&#xff0c;但其值必须满足分配条件&#xff0c;否则会报错 只写一个值则自动分配&…

5. 创建型模式 - 单例模式

亦称&#xff1a; 单件模式、Singleton 意图 单例模式是一种创建型设计模式&#xff0c; 让你能够保证一个类只有一个实例&#xff0c; 并提供一个访问该实例的全局节点。 问题 单例模式同时解决了两个问题&#xff0c; 所以违反了单一职责原则&#xff1a; 保证一个类只有一…

人工智能在现代科技中的应用和未来发展趋势。

&#x1f431; 个人主页&#xff1a;SHOW科技&#xff0c;公众号&#xff1a;SHOW科技 &#x1f64b;‍♂️ 作者简介&#xff1a;2020参加工作&#xff0c;专注于前端各领域技术&#xff0c;共同学习共同进步&#xff0c;一起加油呀&#xff01; &#x1f4ab;优质专栏&#x…

xtu oj 1394 单调

单调 题目描述 n∑ki0ai⋅bi,b≥2&#xff0c;如果i>0时&#xff0c;ai>ai−1&#xff0c;那么我们称这个数n是在b进制下是单调的。比如6,在3进制下为20(3)&#xff0c;所以6在3进制下是单调的。现在已知n&#xff0c;求最小的基b&#xff0c;使得n是单调的。 输入 第一…

谷歌Gemini造假始末

&#x1f4a1;大家好&#xff0c;我是可夫小子&#xff0c;《小白玩转ChatGPT》专栏作者&#xff0c;关注AIGC、读书和自媒体。 在过去一年中&#xff0c;OpenAI ChatGPT引发了一股AI新浪潮&#xff0c;而谷歌则一直处于被压制的状态&#xff0c;迫切需要一款现象级的AI产品来…

计算机网络:应用层

0 本节主要内容 问题描述 解决思路 1 问题描述 不同的网络服务&#xff1a; DNS&#xff1a;用来把人们使用的机器名字&#xff08;域名&#xff09;转换为 IP 地址&#xff1b;DHCP&#xff1a;允许一台计算机加入网络和获取 IP 地址&#xff0c;而不用手工配置&#xff1…

MySQL中MVCC的流程

参考文章一 参考文章二 当谈到数据库的并发控制时&#xff0c;多版本并发控制&#xff08;MVCC&#xff09;是一个重要的概念。MVCC 是一种用于实现数据库事务隔离性的技术&#xff0c;常见于像 PostgreSQL 和 Oracle 这样的数据库系统中。 MVCC 的核心思想是为每个数据行维护…

kali-钓鱼网站远程代码漏洞分析

文章目录 一、靶场搭建二、开始信息收集&#xff0c;寻找漏洞三、使用蚁剑连接后门程序四、使用webshell查看数据库信息五、进入网站后台 实验环境 Kali CentOs 一、靶场搭建 CentOsIP地址192.168.64.159 #关闭centos防火墙 [rootlocalhost ~]# systemctl disable --now fi…

JavaWeb笔记之WEB开发

一、引言 1.1 C/S和B/S C/S和B/S是软件发展过程中出现的两种软件架构方式。 1.2 C/S架构 &#xff08;Client/Server 客户端/服务器&#xff09;。 特点&#xff1a;必须在客户端安装特定软件。 优点&#xff1a;图形效果显示较好(如&#xff1a;3D游戏)。 缺点&#xff1…

jQuery、vue、小程序、uni-app中的本地存储数据和接受数据

jQuery: 存储数据&#xff1a; // 存储数据到本地 localStorage.setItem(key, value);// 存储对象到本地 localStorage.setItem(key, JSON.stringify(object));获取数据&#xff1a; // 从本地获取数据 var value localStorage.getItem(key);// 从本地获取对象 var object …