I was experimeting with varying the parameters of the following example command given for using P4sim with the p4lang/tutorials repository:
./ns3 run p4-v1model-ipv4-forwarding -- \
--pktSize=1000 --appDataRate=100Mbps --linkRate=1000Mbps \
--switchRate=100000 --linkDelay=0.01ms --simDuration=20 --pcap=true
I noticed that the throughput was near 1000 Mbps with those parameters, but it went down significantly when increasing the linkDelay parameter, e.g. to 1ms.
Looking further, it appears that perhaps a behavior of the CSMA link type is that after it transmits a packet on the link, the link transitions to a TRANSMITTING state for the duration of the link delay, which prevents anyone from transmitting on the link until that link delay has elapsed.
That might be how some CSMA links behave, but CSMA Ethernet links are uncommon in data centers these days. Most Ethernet links are point-to-point, and senders can send a subsequent packet immediately after completing the transmission of the previous packet.
This issue is just to point out this property of the current example code for P4sim, and to ask whether because of this, you might want to consider changing the csma links to point-to-point links, which are also available in the ns-3 set of available link types?
I was experimeting with varying the parameters of the following example command given for using P4sim with the p4lang/tutorials repository:
I noticed that the throughput was near 1000 Mbps with those parameters, but it went down significantly when increasing the linkDelay parameter, e.g. to 1ms.
Looking further, it appears that perhaps a behavior of the CSMA link type is that after it transmits a packet on the link, the link transitions to a TRANSMITTING state for the duration of the link delay, which prevents anyone from transmitting on the link until that link delay has elapsed.
That might be how some CSMA links behave, but CSMA Ethernet links are uncommon in data centers these days. Most Ethernet links are point-to-point, and senders can send a subsequent packet immediately after completing the transmission of the previous packet.
This issue is just to point out this property of the current example code for P4sim, and to ask whether because of this, you might want to consider changing the csma links to point-to-point links, which are also available in the ns-3 set of available link types?