SDN Switch Architecture

Hello everyone. I’m glad to be here.

The included Figure is from the P4.org introductory presentation. My question is how long does it take for a packet to go through this process? Is the time constant for every packet (regardless of the actions taken in the pipeline or packet type for example)? Is it possible to change/affect this time in any way?

Also, if you have any papers you can suggest to me about this or a similar topic, I would appreciate it if you can mention them.

Thank you in advance!

P.S. My apologies if this question has been answered somewhere, and I have missed it.

The processing time depends on the target.

On software targets like the simple_switch, the processing time is not constant.
On hardware targets, e.g., on ASICs, the processing time is relatively constant, but buffering and/or hardware internals may cause deviations in the processing time.

It also depends on the design at all, e.g., pipeline systems (e.g. Tofino) will be more likely to have constant processing time independent of the executed actions than non-pipelined designs (e.g., Trio https://people.csail.mit.edu/ghobadi/papers/trio_sigcomm_2022.pdf).

In short: it completely depends on your target.

1 Like