找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

456

积分

0

好友

66

主题
发表于 4 小时前 | 查看: 4| 回复: 0

本文的研究工作扩展了一篇早期的研讨会论文[1],该论文仅对 Linux 网络子系统中的桥接功能进行了加速。而 LinuxFP 则在此基础上更进一步,构建了一个完整的控制器,能够对多个 Linux 网络子系统进行加速。我们不仅对每个子系统进行了单独评估,也对它们的组合性能进行了测试,同时还评估了在 Kubernetes 这一更为复杂的 云原生 环境下的应用效果。此外,本文工作还与以下几类相关研究存在共通之处。

内核旁路(Kernel-bypass)网络

多种数据包 I/O 框架采用绕过内核的方法来扩展软件数据包处理能力,其中最著名的有数据平面开发套件(Data Plane Development Kit, DPDK [21])、PF_RING [41]和 Netmap [42]。这些框架的共同特点是,它们通常会接管网络接口卡(NIC)的控制权,仅通过直接内存访问(DMA)将数据包从 NIC 复制一次到预分配的内存中,并且依赖代价高昂的忙轮询而非中断机制。相比之下,我们认为对于 LinuxFP,不应完全绕过 Linux 网络栈,而应重新设计它,以便我们能够充分利用操作系统内置的网络功能及其丰富的工具和控制平面软件生态系统。

内核内加速数据包处理

已有工作能够将自定义的数据包处理功能加载到内核中,这既提供了访问内核状态(如转发表)的机会,也能与 Linux 网络栈交换流量。Click [32]、eBPF / XDP[30]和 VPP [9]在第二节中有更详细的描述。LinuxFP 与这些工作是互补的,因为我们正是依靠 eBPF / XDP 的能力来提供快速路径数据包处理环境,并且受到了 Click 模块化、可组合设计的启发。Bastion [39]也使用 XDP 实现了一个容器网络接口(CNI),但其范围比 LinuxFP 更聚焦,而 LinuxFP 的总体目标是加速整个 Linux 网络系统

全新架构方法

最后,也有研究提出了全新的内核架构。X-内核 [31]是早期的一项工作,它提出了一种旨在简化通信协议构建和组合的操作系统设计,包含了可在主机内外部使用的各种协议的抽象和构建模块。近期,Zhang 等人提出了 Demikernel [45],这是一种旨在将传统控制平面软件与内核旁路快速数据路径集成的新型操作系统架构。这些方法的共同之处在于,它们都提出了全新的内核和对操作系统架构的彻底改变。虽然 LinuxFP 也有类似的高性能目标,但它可以立即部署,因为它完全利用 Linux 内核已提供的现有机制来实现。

结论与未来工作

在本文中,我们介绍了 LinuxFP,这是一个以独特视角将高性能数据包处理技术融入 Linux 的系统。通过这种方式,我们实现了对 Linux 网络栈的加速,并且这一加速过程对于常见的命令行工具(如 brctliptables)、控制平面软件(如 FRR[28])以及 Kubernetes 这类管理框架来说是完全透明的。我们利用 Linux 内核中的 eBPF 可编程性,根据当前配置动态部署合成的数据平面。对 LinuxFP 实现的评估表明,与原生 Linux 相比,它的吞吐量提高了 77%,延迟降低了 53%。我们还表明,与同样使用 eBPF 的 Polycube 相比,LinuxFP 在不牺牲性能的同时,还能完全支持 Linux 网络 API 并与 Linux 数据包处理紧密集成。在 Kubernetes 中 Pod 到 Pod 通信的吞吐量测试中,使用 LinuxFP 相比标准 Linux 性能提升了 20%。

对于未来的工作,我们打算探索几个方向。首先,虽然我们已经对 Linux 中的桥接、路由和过滤功能进行了加速,但还有其他功能可以纳入加速范围。我们已经开始对 ipvs(Linux 中的负载均衡功能,也用于 Kubernetes 服务)进行相关工作,初步的原型开发显示出了有希望的结果。除了加速现有 Linux 功能,我们还打算支持插入自定义功能,例如用于监控的模块 [18]。我们可以在 XDP 处理管道的不同点注入自定义 eBPF 代码,或者在用户空间添加自定义数据包处理应用程序 [17],并使用一种特殊类型的套接字(称为 AF_XDP),它允许将原始数据包直接从 XDP 层发送到用户空间。最后,引入显式快速路径概念的架构决策非常适合进行硬件卸载。我们打算在智能网卡(SmartNICs)和现场可编程门阵列(FPGAs)的背景下探索这一点。




上一篇:Rust生命周期标注:保证引用安全的使用场景与规则梳理
下一篇:Github五个项目推荐:glide、stremio、kafka、chatbot、binder
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区(YunPan.Plus) ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-6 23:53 , Processed in 0.063198 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 CloudStack.

快速回复 返回顶部 返回列表