Linux 上 UDP 和 TCP 的内核绕过 - 它涉及什么?

2024-03-12

Per http://www.solacesystems.com/blog/kernel-bypass-revving-up-linux-networking http://www.solacesystems.com/blog/kernel-bypass-revving-up-linux-networking:

[...]一个名为 OpenOnload 的网络驱动程序,使用“内核绕过”技术在用户空间中一起运行应用程序和网络驱动程序,并且绕过内核。这允许连接的应用程序端每秒处理更多的消息,并且延迟更低且更一致。

[...]

如果您是一名开发人员或架构师,多年来一直在与上下文切换作斗争,那么内核绕过可能会让人感觉像作弊,但幸运的是,它完全符合规则。

进行此类内核绕过需要哪些函数?


A TCP卸载引擎 http://en.wikipedia.org/wiki/TCP_offload_engine将“正常工作”,无需特殊的应用程序编程。它不会绕过整个内核,只是将一些 TCP/IP 堆栈从内核移动到网卡,因此驱动程序的级别稍高一些。内核API是相同的。

大多数现代千兆位接口都支持 TCP 卸载引擎。

或者,如果您的意思是“在 SolarFlare 网络适配器的嵌入式处理器/FPGA‘应用程序加载引擎’上运行代码”,那么......这是特定于卡的。您基本上是在为嵌入式系统编写代码,因此您需要说明您正在使用哪种卡。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 上 UDP 和 TCP 的内核绕过 - 它涉及什么? 的相关文章

  • 如何将非静态类成员“std::bind”绑定到 Win32 回调函数“WNDPROC”?

    我正在尝试将非静态类成员绑定到标准WNDPROC http msdn microsoft com en us library ms633573 aspx功能 我知道我可以通过将类成员设为静态来简单地做到这一点 但是 作为一名 C 11 ST
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • 复制 std::function 的成本有多高?

    While std function是可移动的 但在某些情况下不可能或不方便 复制它会受到重大处罚吗 它是否可能取决于捕获变量的大小 如果它是使用 lambda 表达式创建的 它依赖于实现吗 std function通常被实现为值语义 小缓
  • 为什么极端下派生类(多重虚拟继承)的大小包括超类成员大小的两倍?

    include
  • 单个对象的 Monogame XNA 变换矩阵?

    我读过一些解释 XNA Monogame 变换矩阵的教程 问题是这些矩阵应用于 SpriteBatch Begin matrix 这意味着所有 Draw 代码都将被转换 如何将变换矩阵应用于单个可绘制对象 就我而言 我想转换滚动背景 使其自
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • qdbusxml2cpp 未知类型

    在使用 qdbusxml2cpp 程序将以下 xml 转换为 Qt 类时 我收到此错误 qdbusxml2cpp c ObjectManager a ObjectManager ObjectManager cpp xml object ma
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • C#:帮助理解 UML 类图中的 <>

    我目前正在做一个项目 我们必须从 UML 图编写代码 我了解 UML 类图的剖析 但我无法理解什么 lt
  • 如何禁用 fread() 中的缓冲?

    我正在使用 fread 和 fwrite 读取和写入套接字 我相信这些函数用于缓冲输入和输出 有什么方法可以在仍然使用这些功能的同时禁用缓冲吗 Edit 我正在构建一个远程桌面应用程序 远程客户端似乎 落后于服务器 我不知道可能是什么原因
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 动态添加 ASP.Net 控件

    我有一个存储过程 它根据数据库中存储的记录数返回多行 现在我想有一种方法来创建 div 带有包含该行值的控件的标记 如果从数据库返回 10 行 则 10 div 必须创建标签 我有下面的代码来从数据库中获取结果 但我不知道如何从这里继续 S
  • 为什么 gcc 抱怨“错误:模板参数 '0' 的类型 'intT' 取决于模板参数”?

    我的编译器是gcc 4 9 0 以下代码无法编译 template
  • 使用 C# 读取 Soap 消息

  • 不同类型指针之间的减法[重复]

    这个问题在这里已经有答案了 我试图找到两个变量之间的内存距离 具体来说 我需要找到 char 数组和 int 之间的距离 char data 5 int a 0 printf p n p n data 5 a long int distan
  • System.IO.FileNotFoundException:找不到网络路径。在 Windows 7 上使用 DirectoryEntry 对象时出现异常

    我正在尝试使用 DirectoryEntry 对象连接到远程 Windows 7 计算机 这是我的代码 DirectoryEntry obDirEntry new DirectoryEntry WinNT hostName hostName
  • C++ 条件编译

    我有以下代码片段 ifdef DO LOG define log p record p else define log p endif void record char data 现在如果我打电话log hello world 在我的代码中

随机推荐

  • Swift 中的 CGPointMake

    如何使用CGPointMake in Swift 有等效的吗 我收到错误 使用未解析的标识符 CGPointMake 基本上 我试图为 Sprite Kit 节点分配一个位置 但不知道如何在 Swift 中执行此操作 class Playe
  • edmx填充mdf?

    当我在 edmx 文件中 从模型生成数据库 时 它会请求数据源并生成 sql 文件并将数据源添加到 app config 如果我选择 sqlserver 作为源 它工作正常 我可以使用现有数据库或创建一个新数据库 并且表会填充到它并准备使用
  • WP7 - 使用 Application.Resources 中定义的 Storyboard

    In my Application Resources我有以下内容Storyboard定义的
  • 使用具有正斜杠的密钥连接到 s3 接收器时出现无效主机名错误

    我有一个forward slash在 aws 密钥中 当我尝试连接到 s3 接收器时 Caused by java lang IllegalArgumentException Invalid hostname in URI s3 xxxx
  • 脚本不从 .angular-cli.json 加载

    我将新脚本添加到我的 angular cli json 文件中 如下所示 apps root src outDir dist assets assets favicon ico index index html main main ts p
  • 装配 x86-16 中的模式 X,为什么平面 1 未打印,而所有其他平面的顺序不正确?

    我正在 DosBox 0 74 上的 TASM 3 0 中写入 并且我正在尝试写入Mode x https en wikipedia org wiki Mode X 调整了13小时 无束缚模式 13 http www brackeen co
  • 使用 AWS IAM 的临时凭证

    我有一台服务器 它应该向客户端提供临时 AWS 凭证 凭证将使用 HTTPS 传输 客户端应该能够上传和下载 S3 文件 我的担忧如下 我有多个用户仅访问他们自己的目录 Users someUser myfile png 您可以设置策略以一
  • 是否可以在本地计算机和远程集群上运行 OpenMPI?

    我有一组需要在集群中执行的计算操作 可能像 512 个 MPI 进程 现在 我让集群上的根节点打开一个套接字 并在计算操作之间将数据传输到我的本地计算机 但我想知道是否可以只创建两个 MPI 组 其中一个组是我的本地组机和另一个远程集群 并
  • .NET Core SDK未安装或在路径下找不到

    在 VS 2015 下编译 Net Core RC2 项目时 我收到以下错误 GETSDKTOOLINGINFO 错误 NET Core SDK 未安装或 在路径 C Program Files dotnet bin 下找不到 这些 构建和
  • 禁用某些文件名的语法突出显示

    我在 vimrc 中启用了语法突出显示 但这使得加载某些文件太长 所以我需要禁用 或者 准确地说 不启用 启用它然后禁用不是解决方案 这些文件的语法突出显示 我试过 au BufNewFile BufRead inc syntax enab
  • 无尽的 ViewPager android

    假设我的 viewpager 中有两个页面 有什么办法可以从第 2 页移动到第 1 页 但这样做就像用户正在访问第 3 页 带有所有动画 您可以通过使用自定义 FragmentPagerAdapter 来实现此目的 该适配器一遍又一遍地提供
  • 如何确保同一服务器上不同用户的 R 环境一致?

    我正在使用内部软件包 MyPKG 编写可重复分析的协议 每个用户将提供自己的输入文件 除了输入之外 分析应在相同的条件下进行 例如 这样我们就可以推断不同的结果是由于不同的输入文件造成的 MyPKG 正在开发中 所以library MyPK
  • 如何在Python中比较两个有序列表?

    我有两个清单 a 0 2 1 b 0 2 1 我如何比较这两个列表以查看它们是否相等 相同 并且约束它们必须位于same order 我看到过一些问题要求通过对两个列表进行排序来进行比较 但在我的具体情况下 我没有检查排序的比较 而是完全相
  • AlertDialog MultiChoiceItems 侦听器问题

    我目前正在使用 AlertDialog builder 为用户创建多选列表 复选框 这非常有效 只是我们希望其中一个按钮取消选择列表中的所有其他按钮 builder setMultiChoiceItems list checked new
  • 如何有条件地替换集合中的值,例如replaceIf(Predicate)?

    有没有什么简单的方法可以替换 a 中的值列表或集合如果该值为空 我们总能做到list stream filter Objects nonNull 也许可以将 0 添加回列表中 但我正在寻找的是一个像这样的APIlist replaceIf
  • 如何将绘图仪表板应用程序导出到 html 独立文件中以与其他人共享?

    我已经构建了一个交互式仪表板 并且正在寻找一种方法将该应用程序导出为 HTML 格式 并与其他人共享 有什么提示给我吗 我用谷歌搜索过 大多数答案将我转到以下链接 https plot ly python getting started w
  • php pack:数据类型问题和结果验证

    我是 PHP 初学者 我的任务是构建命令 稍后将通过 UDP 发送到设备 运行 OSX PHP 5 5 3 8 为了创建二进制数据 我使用 pack 这是我的代码的示例
  • Mercurial 对于简单的 GLOB 语法给出“无效模式”错误

    我的中有以下内容 hgignore file syntax glob obj bin suo user ncb 如果我注释掉 过滤器 过滤效果很好 过滤掉了bin and obj文件夹 但是 如果我保留这些过滤器 我会收到以下错误 abor
  • Spring Boot 2 + Java 9 + Querydsl

    我已成功将我的应用程序 Spring Boot Java Maven 更新到 Spring Boot 2 现在我正在尝试更新到 Java 9 根据 Nicolas Fr nkel 的博客文章 将 Spring Boot 应用程序迁移到 Ja
  • Linux 上 UDP 和 TCP 的内核绕过 - 它涉及什么?

    Per http www solacesystems com blog kernel bypass revving up linux networking http www solacesystems com blog kernel byp