Skip to content

Document instructions for how to do performance simulations with P4-programmable simulated network devices #40

@jafingerhut

Description

@jafingerhut

Using only BMv2 simple_switch_grpc and Mininet, e.g. as provided in the https://github.com/p4lang/tutorials repository, there are significant issues where when simulated links are congested, the queueing behavior in terms of latency and throughput is significantly different than what occurs with physical switches and constant bit rate links between them. See [1] [2] for examples of the kinds of issues encountered.

In research paper [3], the authors say they have implemented software that enables one to write P4 programs and simulate them on a system where performance-level details similar to real physical switches are modeled correctly. If true, it would be good to have explicit instructions on how to run these, perhaps documented in the tutorials repository [3] for one or more exercises that rely on queue depths for their behavior, e.g. especially the ecn [4] and link_monitor exercises [5].

[1] https://forum.p4.org/t/unexpected-queue-depth-spikes-in-bmv2-v1model-during-congestion-control/1391
[2] https://forum.p4.org/t/when-i-conducted-an-attack-experiment-using-bmv2-the-tcp-congestion-control-seemed-to-fail/1373
[3] https://github.com/p4lang/project-ideas/issues
[4] https://github.com/p4lang/tutorials/tree/master/exercises/ecn
[5] https://github.com/p4lang/tutorials/tree/master/exercises/link_monitor

Metadata

Metadata

Assignees

Labels

smalltaskA task that appears to require a small amount of work

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions