矢量包处理(VPP)比传统内核方法快 100 倍
💡
原文中文,约2200字,阅读约需6分钟。
📝
内容提要
矢量包处理(VPP)是一种开源软件,通过批处理数据包和使用SIMD指令等技术在商用硬件上提高吞吐量。VPP将数据包处理从内核移到用户空间以获得更好的性能。它使用插件架构和API使其可编程和可扩展。VPP可以在单个内核上处理超过100 Gbps的大型数据包,从而允许软件取代昂贵的专用硬件。VPP部署在各种硬件和不同环境中,例如裸机、虚拟机和容器。它是一个开源项目,需要通过测试、支持和集成来产品化以供实际使用。
🎯
关键要点
- 矢量包处理 (VPP) 是一种开源软件,通过批处理数据包和使用 SIMD 指令提高吞吐量。
- VPP 将数据包处理从内核移到用户空间,以获得更好的性能。
- VPP 通过图中的每个节点处理数据包向量,减少缓存和获取指令的开销。
- VPP 可以在单个内核上处理超过 100 Gbps 的大型数据包,允许软件取代昂贵的专用硬件。
- VPP 使用插件架构和 API,使其可编程和可扩展。
- VPP 部署在各种硬件和不同环境中,包括裸机、虚拟机和容器。
- 基于内核的数据包处理模型在性能上受到限制,VPP 提供了更高效的替代方案。
- VPP 是思科矢量数据包处理技术的开源版本,核心技术经过验证。
- VPP 通过数据包处理图处理数据包向量,显著提高处理性能。
- VPP 通过预取下一个数据包,确保高吞吐量和低延迟。
- VPP 在多种架构的用户空间中运行,包括 x86、ARM 和 PowerPC。
- VPP 通过从用户空间轮询 NIC 避免上下文切换,减少延迟。
- VPP 在每个处理阶段批量处理数据包,提高缓存命中率。
➡️