基于 BMv2 的 P4 仿真测量方法:单 WSL2 主机上的保真度与运行模式
《Computer Communications》:A measurement methodology for BMv2-Based P4 emulation: Fidelity and operating regimes on a single WSL2 host
【字体:
大
中
小
】
时间:2026年10月23日
来源:Computer Communications 4.2
编辑推荐:
摘要
基于软件的仿真被广泛用于在部署到专用硬件之前开发和评估可编程数据平面系统。在P4生态系统中,行为模型版本2(BMv2)是原型设计、教学和网络定义(SDN)实验的主流软件目标。然而,从BMv2获得的测量值可能受到主机调度、虚拟链路、控制平面实现、流量负载以及跨独立交换机
摘要
基于软件的仿真被广泛用于在部署到专用硬件之前开发和评估可编程数据平面系统。在P4生态系统中,行为模型版本2(BMv2)是原型设计、教学和网络定义(SDN)实验的主流软件目标。然而,从BMv2获得的测量值可能受到主机调度、虚拟链路、控制平面实现、流量负载以及跨独立交换机进程的时间戳对齐的影响。本研究提出了一种测量方法,并对在基于WSL2的单主机上评估的BMv2版本和工作负载配置进行了配置特定特征的刻画,涵盖四个维度:BMv2入站到出站起始延迟、多交换机P4Runtime可扩展性、带内网络遥测(INT)时间戳保真度以及资源消耗。对于评估的BMv2版本和本主机上RQ1工作负载矩阵,稀疏探针测量捕获的是冷启动或冷却执行路径,而持续载波流量产生更稳定的转发状态,中位延迟比约为4.2倍。对于评估的BMv2版本和本主机上l3_lpm单交换机校准配置,75 Mbps是满足本研究特定操作准则的最高测试速率,观测到的探针丢失转换区间介于75至100 Mbps之间。在本主机评估的控制平面工作负载矩阵中,异步客户端在所有九种多交换机插入比较中跨重启的中位批次挂钟时间更低,在八个交换机、每个交换机1000条条目的配置中,同步到异步的最大比值达到1.49倍。对于读取操作,在九种比较中有七种情况下同步中位数更低。对于评估的BMv2版本和由未经修改的p4net 1.7.0实现的进程启动时间戳对齐方法,跨交换机INT时间戳测量呈现出重启依赖的毫秒级偏移。本研究贡献了一种面向复现的测量方法和配置特定指导,用于解读BMv2测量值,并辅以测量工具集、随机化实验配置、两级聚合和来源记录。
引言
可编程数据平面(PDPs)[1]已成为软件定义网络(SDN)[2]实验、流量测量[3]、遥测[4]、网络安全[5]和网内计算[6]的重要基础。自Bosshart等人[7]引入P4语言以来,该领域已从固定功能转发抽象转向可以用P4语言描述、编译并部署到不同软硬件目标的包处理流水线。P416语言规范通过定义与目标无关的语言核心以及架构特定的执行模型[8]进一步巩固了这一模型。近期的综述表明,P4已在广泛的研究领域中得到采用[9][10][11],包括监控[12]、负载均衡[13]、传输增强[14]、安全[15]和可编程遥测[16]。与语言本身并行发展,P4Runtime已成为通过厂商中立API管理P4目标的事实标准控制平面接口[17]。
软件执行目标在该生态系统中发挥着核心作用,因为它们允许在专用可编程硬件可用之前开发和测试P4程序。目前已有多个成熟的软件平台支持无需专用交换专用集成电路(ASIC)即可执行P4[18]。其中,行为模型版本2(BMv2)[19]占据着特别重要的位置。它是P4开源生态系统中维护的参考软件目标,为许多教学和原型环境提供执行后端,并支撑多个基于Mininet的P4仿真框架[20][21][22]。因此,BMv2经常作为SDN、遥测和可编程网络中P4原型和实验研究的默认执行平台[23][24][25]。带内网络遥测(INT)[26]的作用进一步强化了其重要性,在INT中,基于P4的数据平面通常用于附加、传输和处理路径级或交换机本地测量信息[27]。
然而,软件仿真的便利性本身并不能保证测量保真度。Mininet等网络仿真器提供了轻量级且可复现的环境,但其时序行为受主机调度、内核队列、命名空间隔离、虚拟链路和后台负载的影响[28]。基于BMv2的P4仿真也面临类似的担忧。BMv2文档指出,该实现并非旨在作为生产级交换机运行,且性能强烈依赖于工作负载特征、主机配置和运行时条件[19]。尽管如此,BMv2经常被用于报告延迟、吞吐量、控制平面更新时间或遥测精度的实验中,往往缺乏足够的方法论细节来确定所报告的值究竟反映的是P4程序、仿真平台、主机系统还是测量过程。
已有研究调查了该问题的相关部分。先前的工作研究了Mininet在通用网络仿真设置中的保真度[29]、基于BMv2实验中的吞吐量失真[30][31],以及硬件目标上的P4Runtime延迟[32][33]。其他研究聚焦于可编程遥测机制,包括基于INT的路径报告[34]、事件触发遥测[27]和概率遥测压缩[35]。这些努力为可编程网络堆栈的各个组件提供了重要证据,但在基于BMv2的软件仿真方面仍然是碎片化的。对于在统一实验方法学和现代P4Runtime工具链下数据平面延迟、多交换机控制平面可扩展性、INT时间戳保真度和资源消耗的联合行为,仍然需要统一的研究。
本研究通过一种测量方法驱动的方式,在明确指定的单主机WSL2配置上对基于BMv2的P4仿真进行了特征刻画,填补了这一空白。评估围绕四个研究问题展开。第一个研究问题(RQ1)考察BMv2入站到出站起始间隔如何随P4程序复杂度、包大小和持续背景流量变化。第二个研究问题(RQ2)研究了多交换机控制平面操作在交换机数量和操作量增加时的可扩展性,包括同步与异步客户端实现的比较。第三个研究问题(RQ3)评估了在基于BMv2的软件仿真中INT式测量所能达到的时间戳保真度。第四个研究问题(RQ4)分析了BMv2在仿真规模和流量负载增加时的资源消耗特征。
所有实验均在一台商用工作站上进行,使用开源p4net平台作为编排基底,并辅以为本研究开发的专用测量工具集。相应地,本论文中报告的具体数值、操作阈值和扩展范围仅适用于评估的BMv2版本、工作负载配置和基于WSL2的主机环境;它们不是BMv2的架构无关属性。该方法论通过多次实验迭代逐步演化,每一次迭代都揭示了需要明确控制的实际主机侧或测量侧效应。最突出的伪影是稀疏探针流量与持续载波流量之间的强烈不对称性。在评估的RQ1配置中,稀疏探针测量反映的是冷启动或冷却执行路径,而持续背景流量产生了更稳定的稳态。这一观察促使延迟实验中全面采用了持续载波方法。对于独立重启实验,每个RQ1–RQ4矩阵中的每个配置均执行五次,每次运行都使用全新的拓扑和BMv2进程集;每个研究问题内的所有配置-重复单元均一起随机化。
在基于WSL2的主机上,对于评估的BMv2版本和延迟工作负载矩阵,在持续背景流量下的BMv2入站到出站起始延迟中位数落在数十至数百微秒范围内。在同一环境中,稀疏探针测量的延迟显著更高;实验未能隔离出导致该差异的主机或BMv2机制。单交换机l3_lpm校准进一步确定了一个配置特定的操作区域,在该区域以下,持续流量注入下的丢包率保持有限。在本主机评估的控制平面客户端实现和参数范围内,异步客户端在所有测量的多交换机插入工作负载中跨重启中位数更低,而读取操作中七种九种比较中同步中位数更低。对于评估的p4net 1.7.0进程启动对齐方法,跨交换机时间戳测量呈现出重启依赖的毫秒级偏移;洁净实验未能建立负载无关的精度界。在评估的RQ4点中,BMv2聚合驻留集大小(RSS)峰值大致与交换机数量成正比,而在配置的1 Mbps载波速率下运行级平均BMv2 CPU占比增长小于比例,在45 Mbps下增长大于比例。
主要贡献总结如下:
1. 提供了一种多维测量方法,具有显式的独立重启复现机制,用于在明确指定的主机、软件堆栈和工作负载矩阵下刻画基于BMv2的P4仿真。
2. 确定了评估的BMv2版本和基于WSL2主机的配置特定操作区域,将可迁移的测量实践与平台依赖的数值限制区分开来。
3. 量化了评估的多交换机客户端实现和工作负载矩阵下同步与异步P4Runtime客户端实现的行为,区分了插入密集型工作负载和读取主导型工作负载。
4. 提供了测量工具集、随机化实验配置、运行级和配置级摘要、聚合和绘图代码以及来源记录,以支持复现和未来的比较研究。
本文其余部分组织如下。第2节回顾P4、P4Runtime、BMv2和INT的背景知识。第3节描述测量平台,包括作者参与p4net基底的披露以及为缓解潜在利益冲突所采取的步骤。第4节呈现实验方法论,包括负载校准和持续载波协议。第5节BMv2入站到出站起始延迟、第6节控制平面可扩展性、第7节遥测保真度、第8节资源消耗与实用指导分别呈现四个研究问题的结果。第9节讨论相关工作,第10节审视局限性、方法论教训和未来方向。第11节总结全文。
章节摘要
背景
本节回顾理解后文所报告测量结果所需的技术机制。讨论涵盖可编程网络堆栈的四个要素:P4语言和v1model架构、P4Runtime控制平面API、BMv2软件交换机,以及用于带内遥测实验的时间戳机制。
测量平台
本文中所有测量均在一个围绕BMv2软件交换机[19]和P4Runtime控制平面API[17]构建的软件仿真栈上进行。评估使用BMv2的simple_switch_grpc变体(提交f745e1d,打包为p4lang-bmv2版本1.15.0),以及为P416规范[8]定义的v1model架构编译的P4程序。BMv2被广泛用于P4原型设计、教学和实验评估,而其自身文档指出:
方法论
本节描述本研究采用的实验方法论。本节介绍工作负载集,定义统计报告惯例,报告用于上下文定位所选操作负载范围的实证校准,并解释实验矩阵采用的测量协议。
BMv2入站到出站起始延迟
本节针对评估的基于WSL2主机和RQ1工作负载矩阵回答RQ1:第4.2节定义的BMv2入站到出站起始间隔如何随P4程序复杂度、包大小和背景流量负载变化,以及所选负载范围与第4.4节单独单交换机校准的关系。结果在以下范围内刻画了该问题:在评估的1–45 Mbps RQ1负载下,BMv2入站到出站起始延迟中位数保持在……
控制平面可扩展性
本节在评估的交换机数量、操作量、l3_lpm表操作和客户端实现范围内回答RQ2:多交换机控制平面批次时间如何扩展,以及评估的同步和异步客户端如何比较。在该矩阵中,异步客户端在所有九种多交换机插入比较中跨运行中位挂钟时间更低,对于K≥100的六种配置,观测范围无重叠。对于读取操作,同步中位数为……
遥测保真度
本节针对评估的交换机和二交换机配置以及未经修改的p4net 1.7.0实现的boot_timestamp_us对齐回答RQ3。六个配置每个均执行了五次独立重启运行,每次运行都重新创建拓扑和所有BMv2进程。实验显示出对齐的跨交换机时间戳差异中存在重启依赖的带符号偏移。这些观察刻画了评估的对齐实现和BMv2版本……
资源消耗与实用指导
本节针对评估主机上选定配置回答RQ4:BMv2聚合CPU利用率和驻留内存,连同监控接口RX包速率,如何随交换机数量、P4程序和配置的载波速率变化。所有40个配置-重复单元均成功完成。在最多八台交换机的评估范围内,五次重启测量提供的是配置特定的资源刻画而非平台无关的……
相关工作
与本研究相关的文献涵盖六个紧密相连的领域:可编程数据平面基础、SDN仿真与保真度、面向P4的仿真与模拟平台、BMv2性能与保真度研究、P4Runtime控制平面性能,以及INT。本节回顾这些领域的代表性工作,并确定本测量研究填补的空白。本文中的"仿真"一词指通过BMv2结合Linux虚拟网络实时执行P4程序,而……
综合发现
测量实验中的四项观察值得超越各个研究问题本身进行讨论。
首先,评估的l3_lpm配置在采样的冷空闲条件和持续载波条件之间表现出明显的分离。
对于 256 字节探针,冷空闲与 1 Mbps 跨重启中位运行级别延迟的比率约为 4.2 倍。本测量活动未隔离产生此差异的机制,也未确定 0 与 1 Mbps 之间的过渡点。结论:BMv2 仍然是 P4 研究、原型设计和教育的核心软件目标,但其作为测量基底的行为需要谨慎解读。本研究介绍了一种测量方法学,并在单个基于 WSL2 的主机上,针对所评估的 BMv2 版本和工作负载/配置矩阵,对 BMv2 的入站到出站启动延迟、多交换机控制平面可扩展性、INT 时间戳保真度和资源消耗进行了统一表征。文中报告的定量值。CRediT 作者贡献声明
Henghua Zhang:写作 – 审阅与编辑,写作 – 原稿,可视化,软件,方法学,调查,形式分析,构思。
Jue Chen:写作 – 审阅与编辑,验证,监督,项目管理,数据整理。
利益冲突声明 作者声明不存在已知的竞争性经济利益或个人关系,这些利益或关系可能影响本文所报告的工作。
Henghua Zhang|Jue Chen
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号